| GUIDANCE |
| The Pricing Handbook
19. Software Pricing This chapter was written to provide the FAA analyst with an introduction to the basic concepts of software cost estimating/pricing. In other words, this chapter is a starting point in the very specialized and involved field of software cost estimating/pricing. Before an analyst attempts to review a FAA software cost estimate by applying the techniques or models discussed herein, two words of caution: GET HELP! As was shown in the chapter, even experts in this field, using the most sophisticated techniques and metrics, along with a model calibrated to the organization developing the software, can accomplish an estimate that does not accurately predict the actual cost of a software development program. Figure 19-15, extended from Boehm’s book Software Engineering Economics indicates that the accuracy of the software cost/size estimate creates a great degree of uncertainty in the early stages of a program. This is because one may not know the specific nature of the product to be developed to better than a factor of 4. As the life cycle proceeds, and product decisions are made, the estimate becomes increasingly more accurate because the nature of the products and its consequent size are better known, and the nature of the process and its consequent cost drivers are better known. Figure 19-15. Accuracy of Cost Estimate versus Development Phase
This chapter has discussed the software estimating process and the various methodologies used in software estimation. The basic software estimating functional capabilities were also discussed. A review of product literature and user manuals indicates that many tools will perform most of the functional capabilities outlined in this chapter. The user must be able to customize the software estimating tool to their own software development environment. This requires collecting historical data from past completed projects to calibrate the software tool. The use of two or more software estimating tools using different methodologies is recommended. The user should select a primary tool for software estimating and an alternate tool for comparison and validation. These tools should be used throughout the software development process. Parametric tools are considered to be the best for software estimating for the following reasons:
Assistance can be obtained in several ways. First and foremost, soliciting the guidance of cost estimators and engineers who have previous experience with software cost estimating/pricing and software cost estimating tools is critical. Their expertise can help the analyst in reviewing the estimate and often may be able to provide data from similar historical programs. Second, once a commercially available software model has been selected, enlist the services of their technical staff to ensure the model is used properly. Also, software companies generally offer classes on how best to use their model. The classes can vary in duration from a day long seminar to a couple of weeks at their facility. And finally, the analyst can do some reading on his or her own. This chapter referenced many good sources to allow the analyst to develop a working knowledge of the software cost estimating/pricing discipline. Price analysis now plays the lead role in determining price reasonableness and fairness, and the responsibilities of the analyst include researching and gathering pricing data from sources other than the contractor. As a result, the analyst must understand the fundamentals of performing price analysis along with the peculiar aspects associated with software cost estimation. In order to conduct software price analysis, the terms for comparing the data must be properly defined. It is also important to understand the special considerations for integrating COTS components into a software system especially as they relate to software cost estimation and pricing. Finally, according to SEI, there are six institutional process requisites that organizations in the business of building or acquiring software-intensive systems must possess if they are to consistently produce reliable cost estimates. These requisites are:
|