Agile and Iterative Contrasted with Waterfall
In his book Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and Iterative Development Craig Larman provides this contrasting view of Agile, Iterative development with the sequential or Waterfall approach: We rely on short quick development steps, feedback, and adaptation to clarify the requirements and design. To contrast, waterfall values promoted big up-front speculative requirements and design steps before programming. Consistently, success/failure studies show that the waterfall is strongly associated with the highest failure rates for software projects and was historically promoted due to belief or hearsay rather than statistically significant evidence. Research demonstrates that iterative methods are associated with higher success and productivity rates and lower defect levels. I especially like his description of the up-front requirements and designs as "speculative." In the interest of keeping a project on schedule, the project mana