Agile Reading Glasses: Iterative and Incremental
Why do 62% of projects fail or at least have an unsatisfying outcome?
Video produced by Benjamin Felis - Graphic Recording & Explanation Movies
In more traditional approaches, which are also Iterative and Incremental, the iterations are often broken down into specific functional work. For example you can have some iterations designing the solution, some to implement it and some more to test it. All is steered by using milestone and allowing customer and stakeholder feedback at these moments.
Most of the time though, we tend to "assume" what is the right solution for a problem, and we start implementing that solution in increments. At each Milestone then we have some technical artefacts, or even part of the final product, which will be presented for feedback. In this case though, the only feedback will be against what was planned to be realized, and not about the fact that clients can actually use the product, and can confirm that their problem has been solved. This causes the project team to carry the "business risk" (as are we doing the right thing?) till the end of the project, when finally all pieces will come together and would allow a thorough test and feedback.
When working agile, we tend to focus on the Problem first, and develop minimal incremental solutions that might partially solve the problem exposed, even if very simply, in order to get qualified feedback from the clients. This can be hard in some cases as we will receive negative feedback, but still qualified and possibly constructive. Failing early and fast allows to learn faster what to build and how to build it, reducing both the "technical risk" and the "business risk".
An Iterative & Incremental approach, which starts by validating the assumptions and the problem statement allows for faster and more accurate development of a solution which will meet customers’ expectations.