Enough Is Enough: What Does Agile Software Development Mean?

[magazine]
Volume-Issue: 
2007-07
Article Summary: 

Agile software delivery is about doing sufficient up-front analysis, design, and planning—and then deferring decisions to the appropriate time. But what does “enough” really mean? And why has the term "agile" become a cliché in development circles? Terms like "post-agile" or "pragmatic agile" have emerged as a response to this, but this is only a short-term fix.