Jul 25, 2005
Software plays an important role in U.S. Air Force projects and operations, and accurate estimates of software costs are a critical part of effective program management. RAND Project AIR FORCE (PAF) evaluated Air Force cost-estimation methods and recommended a realistic approach to improvement that focuses on understanding and managing the uncertainties that lead to inaccurate estimates. PAF researchers outlined the major sources of risk, especially at the early stages of a project, when many of the factors needed to support estimation may be unknown or uncertain. They developed a checklist that analysts can use to recognize and mitigate certain risks. In addition, because realistic cost estimates often depend on accurate projections of the size of the proposed software, the researchers evaluated methods of estimating software size and developed a second decisionmaking checklist for analysts that can help them choose appropriate size-estimation methods and reduce the risks inherent in using each method.
The sources of risk in cost estimation derive from uncertainty about (1) the specifications or design of the software, (2) the method for developing the software, and (3) the estimation process itself. PAF's first checklist identifies warning signs and steps to mitigate each type of risk. For example, a warning sign of uncertainty in the first area, the specifications or design of the software, might be that an organization is unable to describe what it wants or that "TBD" (to be determined) appears frequently in the design document. To reduce these uncertainties, and thus reduce the risks associated with making cost estimates, analysts might conduct client meetings to review system requirements and design, develop system prototypes prior to developing the whole system, or conduct small-scale tests of the system design at the same time that designers flesh out system requirements.
Methods for estimating the size of software include the qualitative "expert judgment" method, in which human experts provide cost and schedule estimates based on their experience, and quantitative sizing methods, which are more formal and can estimate total size based on measurable items, such as the total number of lines of code in the finished software project. Both qualitative and quantitative methods have advantages, and either or both might be appropriate. PAF provided a checklist of steps that analysts could go through when evaluating a size estimate. Analysts can apply information about when to use and when not to use each estimation method and take recommended actions to help characterize and manage the risks inherent in using the estimation method and the resulting software size estimate.
PAF's recommendations and checklists should help the Air Force improve its current estimation methods and, if the Air Force maintains a history of its estimating experiences, find new methods when existing ones become inadequate.