16 Critical Software Practices 
 
Estimate Cost and
Schedule Empirically
 

 
Roger Pressman

Capers Jones
Victor Basilli  Larry Putnam
 Roger Pressman  Capers Jones  Victor Basilli  Larry Putnam
 

 "A good cost estimator should never make an estimate that deviates from the actual cost at delivery by more than 20 percent. A good schedule estimate should be within 5 percent of actual schedule at least 95 percent of the time, and should not deviate by more than 12 percent less than the actual schedule."

--Capers Jones

Estimate Cost and Schedule Empirically 

Software development projects historically have a poor record when it comes to project estimation. Statistics repeatedly show that the chance of a project completing on-time and under-budget is less than one in ten. Further, the chances are worse if the project is a large-scale, complex, software-intensive project, the kind the 16 Critical Software Practices were designed to help.

This estimation difficulty is not a reflection of our inability to forecast and analyze a new job. Rather, it is a reflection of the inherent complexity of software development projects, the multitude of ever-present factors that can influence cost and schedule, and the inadequacy of our estimation models to forecast the resources a project will take.

There are a number of ways to estimate the cost and schedule for a software project. One of the most effective methods is organizational experience-i.e., what the cost and schedule results have been for similar efforts. The reason this estimation basis can be so powerful is that it aggregates the multitude of factors present in a given organization
 
Unfortunately, empirical cost and schedule estimation is often more easily said than done. The "view from the trenches" is that comparisons are hard. The rapid evolution of software technology, languages, tools, and practices often makes it appear that every software development effort is different. Often the team composition and team dynamics will change. There is never a perfect match between prior efforts and the one contemplated.

The cost and schedule estimation approach must be designed to take advantage of the information available about prior efforts to estimate future ones.

top
16 Critical Software PracticesGlossary of Terms