Software Cost Estimation with COCOMO II
Don't become a statistic—take control of your software projects and plan for success! Success in all types of organizations depends increasingly on the development of customized software solutions, yet more than half of software projects now in the works will exceed both their schedules and their budgets by more than 50%.
While some types of overruns remain unpredictable, most can be avoided by sound modeling. COCOMO II provides you with a thorough rework of the classic COCOMO model to address modern software processes and construction techniques along with representative examples of applying the models to key software decision situations. It was calibrated and validated using innovative statistical techniques to fit both expert judgment and 161 carefully collected project data points. The book also introduces emerging COCOMO II extensions for cost and schedule estimation of COTS integration and rapid development.
Review By: James T. Heires
09/13/2002This book presents a thorough description of the latest COCOMO software cost-estimation model and how to use it to estimate various types of software.
This six-chapter, six-appendix book weighs in at just over 500 pages. It has a lengthy index, more than 300 tables and figures, an annotated bibliography, a CD-ROM, and many user-oriented facts imprinted on the inside front and back covers.
The book chapters cover the following topic areas (organized by chapter):
1. Introduction to COCOMO II explains the philosophy behind the model and the value it brings to an organization. In addition, this chapter briefly discusses model accuracy and tailoring.
2. Model Definition describes in some detail how the model works. This includes a discussion of the model’s inputs, outputs, cost drivers, equations, and assumptions. This chapter then demonstrates how the model works with several simple examples. Two different versions of the model are also briefly discussed.
3. Application Examples illustrates how to use the model for estimates and trade-off studies by means of two detailed examples.
4. Calibration summarizes the process that was used to calibrate COCOMO II to the empirical data underlying it. This chapter then explains how to fine-tune the model to fit an organization’s particular behavior using its own historical data.
5. Emerging Extensions introduces a new sizing technique for integrated development environments called application points, as well as model adaptations for MBASE/RUP, RAD and COTS integration projects.
6. Future Trends presents a brief view of the future as it pertains to model accuracy in the face of rapid technological change. Tips for project and organizational model calibration are offered as well.
7. Assumptions and Phase/Activity Distributions defines lifecycle phases, milestones, and effort categories assumed by COCOMO II. Also included here are various effort and schedule distribution assumptions.
8. Estimating for Incremental Development illustrates how to utilize the model to estimate projects that use an incremental development lifecycle model.
9. Data Collection Forms and Guidelines offers several data collection forms and instructions for ongoing as well as completed projects.
10. USC-CSE Affiliate Programs describes a sort of users group for COCOMO II and its extensions.
11. Software Reference Manual is the COCOMO II user guide, describing all the features of the software and how to use them.
12. Content of Accompanying CD-ROM describes what is contained on the included CD-ROM.
The book is a monumental work that belongs in the hands of software managers and developers alike. Although the book is not a “must read” for every software professional, it is a valuable reference for those who take software development seriously.
With the release of the COCOMO II cost model, Dr. Boehm offers much more than an operator’s manual for the model. This book provides a major update to his popular 1981 work Software Engineering Economics, but it also covers new technologies and development lifecycle models. This book is not a replacement of the earlier book, but rather an extension.
This is a book written with COCOMO II users firmly in mind. The book describes (among other things) how to derive a project’s size and use it to estimate project cost and schedule using the COCOMO II model. Those who intend to use a cost model other than COCOMO II will find the concepts informative, but not overly useful.
The book is complete in its coverage of the model and instructions for its use. Many of the mathematical equations used by COCOMO II are presented and explained. Although these equations will not be appreciated by all readers, they do serve to document how the model was developed and how it works.
There is a small but nagging inconsistency with how tables and figures are numbered in the appendices. Although this is a minor issue, it has a tendency to confuse the reader.
Overall, the book is recommended for senior developers, project managers, and management, but highly recommended for those who use or study the COCOMO II software estimating model.