Accurate estimation is hard to do. This work is a short study of software estimation and analysis, reporting impressive results—a less than nine percent deviation from actual results for 200 projects over five years.
Although the title states the article is about “software based on use case points” (UCP), the sections on estimation and analysis apply to estimation using other units, such as lines of code, function points, number of drawings, and so on, as well as to other disciplines, in particular, systems engineering.
The author begins with a brief history of estimation models that influenced UCP, including function points and the constructive cost model (COCOMO). He continues with an explanation of how to calculate UCP as defined in the rational unified process (RUP); incorporate weights for complexity, technology, and experience factors; and estimate effort for reports.
A major contribution is the section on analysis and feedback. Analysis of measurement profiles for performance, deliverables, quality, project and product schedules, effort, defect containment, defect severity and type, and defect prediction identifies anomalies and trends. Causal analysis explains them, and provides useful information to help improve the project and the products. The paper emphasizes a critical assumption, namely, that the key to a successful estimation model is the existence of a large enough base of historical data to derive the estimation weights and parameters.
The paper will be of interest to those who perform project estimation, planning, management, measurement, and process improvement. Accurate estimation is indeed hard to do, but the paper shows that it is possible.