To appreciate the use of quantitative, objective approaches to software cost estimation
To have insight into the factors that affect software development productivity
To understand well-known techniques for estimating software cost and effort
To understand techniques for relating effort to development time
Software development takes time and money. When commissioning a building project, you expect a reliable estimate of the cost and development time up front. Getting reliable cost and schedule estimates for software development projects is still largely a dream. Software development costs are notoriously difficult to estimate reliably at an early stage. Since progress is difficult to 'see' – just when is a piece of software 50% complete? – schedule slippages often go undetected for quite a while and schedule overruns are the rule, rather than the exception. In this chapter, we look at various ways to estimate software cost and schedule.
When commissioning someone to build a house, decorate a bathroom, or lay out a garden, we expect a precise estimate of the costs to be incurred before the operation is started. A gardener is capable of giving a rough indication of the cost on the basis of, say, the area of land, the desired size of the terrace or grass area, whether or not a pond is required, and similar information. The estimate can be made more precise in further dialog, before the first bit of earth is turned. If you expect similar ...