Earlier, I mentioned that entire projects are sometimes implemented with a single contractfrom requirements elicitation all the way through final delivery. Although it's not possible to bid these with any certainty, the fact remains that until progressive acquisition models become more prominent in the industry, this situation will continue. Although these types of projects (one contract for the entire project lifecycle, Firm Fixed Price) are difficult, it is still possible to achieve success. The utility of iterative development is the key. In any project, four variables must be continually managed:
With iterative development, the project manager can measure actual values for all four of these variables with each iteration. After a few iterations have been completed, you can project the measured values for the number of requirements or features implemented, the funding expended, and the schedule. This information will determine whether the project goals can be achieved within the original cost and schedule proposed. Iterative development has yet another benefit. If projections indicate that the project cannot be completed with the remaining amount of budget and schedule, the customer can decide whether to commit additional time and funding to the project. The customer can evaluate the executable releases produced by the project. If the customer likes what it sees produced so far, it can commit additional time and funds with the confidence that the project is on the right track. Contrast this with traditional Waterfall methods, which usually have nothing to show for resources expended except documents and PowerPoint presentations. Projects with early releases that show solid progress are more likely to receive added funding. |