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.
Better Software Magazine Archive: