Agile is just short-duration incremental development right? WRONG!
This is a KEY concept that people miss with Agile.
If someone can’t explain incremental vs iterative be scared! If you take the common Agile process at face value all you really have is an incremental approach that doesn’t differ much from waterfall methodologies. In every waterfall project I’ve ever worked on it involved breaking down the higher level requirements into pieces that could be built, tested, and delivered. It actually looked very close to the common “Agile” process that you’re used to:
Image Courtesy IBM
Look at the Agile Manifesto; what does it say? The process of short cycles in development is just an enabler of Agile. You’re not incrementally delivering value; it’s allowing you to iteratively develop a solution that can pivot, change to customer’s needs, grow or shrink the backlog of items through continuous discovery, etc. It allows you to get timely feedback from the customer based on their immediate experience. You’re not simply breaking a large project down into pieces and incrementally building it; you’re iteratively creating a product to meet your customer’s needs. It’s a way to help build software that has actual real value to your customer. It is extremely important to know the difference.
Teams can actually regress from iterative to incremental over time. This happens when the feedback loops disappear at which point you’re simply doing incremental development. The communication and feedback loops are what allow the product/project to iterate and course correct to meet the customer’s true needs.
Below is an entertaining post filled with great use of music and Agile development, like:
“You can’t always get what you want. But if you try sometime, you just might find, you get what you need.”