Understanding and managing system scope is critical to the success of many projects. Figure 4 illustrates how changes in a system's size were tracked using testable requirements. The shape of this curve is typical and illustrates the dynamics of measuring the system size over time. At first, the size is often significantly underestimated -- in part, because the size estimate only includes what is known by those individuals sizing the system, and in part, because the complexity of some components is not understood. As more is learned about the system, the size estimate usually grows.
Figure 4
Eventually management becomes concerned about scope and some of the requirements are eliminated. After that the usual scope creep causes the size to rise again.
System development is usually planned in phases. Each successive phase is an opportunity to tune the testable requirements estimates:
During planning phases, the estimates are rough approximations based on the system scope and objectives.
When the requirements gathering phase is complete, another level of detail is known and the testable requirements should be re-estimated. This also allows a measurement of the accuracy of the original approximations.
As the technical design phase is completed, requirements often change based on a better understanding of the technical design and technologies being implemented.
During program design, estimates should be monitored. Large discrepancies between estimated numbers and actual size frequently indicate misunderstood requirements or an underestimation of the complexities associated with implementing the requirement. Also, sizing programs can help in managing the coding phase.
While the software is constructed, estimates should be adjusted based on actuals. The estimates should become very accurate during this phase. Productivity measures could be key concerns at this point.
During implementation, the system size should be well understood. The estimating process itself should be evaluated and improved based on actual results.
Post implementation should include archival of the estimating process, and the system size and productivity measures for future reference.
|