Software Risk Estimation is one of the most significant risks faced by any weapon system program.  The ability to properly estimate software size, effort, and schedule is crucial and must be address by every Program Manager (PM).

Software Estimation Process Consideration

Estimating Reuse Feasibility

The following factors contribute to software estimation risk:

  • Ability to properly estimate the size of the software development and integration effort, given the known state of software-level requirements at the time of the estimate.
  • Ability to prevent or account for growth due to developer derived requirements and design evolution.
  • Ability to achieve expected levels of software Non-Developmental Item (NDI), including Software Commercial off-the-Shelf (COTS) and reuse.
  • Ability to generate accurate estimates for modifying and integrating existing (reused) software.
  • Ability to effectively manage requirements and changes, which results in software size growth and adversely impacts effort and schedule estimates.
  • Developer capability, including people, processes, plans, and historical productivity.
  • Ability to develop software at the expected productivity rate.

There will probably be several iterations of size cost and schedule estimation may be necessary to converge on a more accurate estimate as the software product matures. The size of the software typically grows during development. Part of this growth can be attributed to inadequate initial size estimates, but growth also comes about because of the improved understanding of the size of the software effort that is gained as the design of the system and software evolves.

Another software estimation risk factor involves the commercial parametric models commonly used for developing software estimates, whose knowledge bases have been built up over time based on more classical software development of unique software code. Today‘s systems often involve much more integration of existing code (commercial and reused components) rather than development of new code. Since these types of systems are more current and not yet as numerous as the classic uniquely developed software systems that drive the models, it is quite possible that these current systems are not as closely fit to the existing models. It certainly requires more modeling expertise to properly model and estimate these systems.

Developer capability is yet another estimation risk factor, and is closely related to the developer‘s ability to produce software at the predicted rate. It is tempting and easy for offeror’s in a source selection environment to claim expected productivity improvements based on new tools or processes, or a more highly skilled and experienced staff, and to some extent these can be factors in program performance. But the productivity experienced on real programs is what matters, and this productivity will not likely differ significantly (i.e., more than 5% – 10%) from past productivity levels at the same developer location.

AcqLinks and References:

Updated: 9/7/2017

Print Friendly, PDF & Email