As with evolutionary requirements, with evolutionary and adaptive planning it is not the case that estimates and schedules are forever unbounded or unknown. Yet, due to early requirements change and other factors, there is an initial phase of high uncertainty, which drops as time passes and information accumulates. This has been called the cone of uncertainty (Figure 2.5) [McConnell98].
Figure 2.5. cone of uncertainty
This is consistent with management practice in other new product development domains, where an initial exploratory phase is common. Further, the practice of adaptive planning is encouraged rather than predictive planning. That is, a detailed schedule is not created beyond a relatively short time horizon, so that the level of detail and commitment is commensurate with the quality of information.
With respect to fixed-price bidding and evolutionary estimates, some IID methods (such as the UP) recommend running projects in two contract phases, each of multiple timeboxed iterations.
The first phase, a relatively short fixed-time and fixed-price contract, has the goal of completing a few iterations, doing early but partial software development and evolutionary requirements analysis. Note the key point that partial software is produced, not merely documents.
The outputs of phase one including the software base are then shared with bidders for a phase two fixed-price contract. The evolutionary refinement of specifications and code in phase one provides higher quality data for phase two estimators, and advances the software for the project (Figure 2.6).
Figure 2.6. two contract phases