40.2. Adaptive versus Predictive Planning
One of the big ideas of iterative development is to adapt based on feedback, rather than to attempt to predict and plan in detail the entire project. Consequently, in the UP, one creates an Iteration Plan for only the next iteration.Beyond the next iteration the detailed plan is left open, to adaptively adjust as the future unfolds (see Figure 40.1). In addition to encouraging flexible, opportunistic behavior, one simple reason for not planning the entire project in detail is that in iterative development not all the requirements, design details, and thus steps are known near the start of the project.[1] Another is the preference to trust the planning judgement of the team as they proceed. Finally, suppose there was a fine-grained detailed plan laid out at the start of the project, and the team "deviates" from it to exploit better insight in how to best run the project.n From the outside, this might be viewed as some kind of failure, when it in fact it is just the opposite.
[1] They aren't really or reliably known on a "waterfall" project either, although detailed planning for the entire project may occur as though they were.
Figure 40.1. Milestones are important, but avoid detailed predictive planning into the far future.
[View full size image]