Home > Store

Software Cost Estimation with Cocomo II

Register your product to gain access to bonus material or receive a coupon.

Software Cost Estimation with Cocomo II

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2001
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-026692-2
  • ISBN-13: 978-0-13-026692-7

Don't become a statistic—take control of your software projects and plan for success!

Success in all types of organization 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. You'll also:

  • Learn firsthand from knowledgeable authors—over 100 person-years of software cost estimation experience
  • Make better software decisions by exploring their cost implications
  • Use the cost and schedule estimates to better plan and control your projects and manage your risks
  • Get started now with the software on the accompanying CD
  • Keep up to date with the authors' Web site

Software engineers, managers, and students will all find Software Cost Estimation with COCOMO II an invaluable guide to developing and managing successful software projects on time and under budget.

About the CD-ROM

The accompanying CD-ROM includes a current copy of COCOMO II, along with demonstration versions of three commercial COCOMO II packages and an extensive documentation suite. All examples from the book are provided live, so you can work them hands on, along with the reading.

Sample Content

Downloadable Sample Chapter

Click here for a sample chapter for this book: 0130266922.pdf

Table of Contents



1. Introduction to COCOMO II.

COCOMO II User Objectives. COCOMO II Model Objectives. COCOMO II Development and Evolution Strategies. Future Software Practices Marketplace Model. Resulting Family of COCOMO II Models.



2. Model Definition.

Introduction. Sizing. Effort Estimation. Schedule Estimation. Software Maintenance. Using COCOMO II for Software Decisions. COCOMO II Model Summary and Versions.



3. Application Examples.

Introduction. Transaction Processing System (TPS) Overview. Airborne Radar System (ARS) Overview.



4. Calibration.

Bayesian Calibration and COCOMO II Modeling Methodology. Topics Addressed. COCOMO II Data Collection Approach. Model Building. COCOMO II Calibration. Tailoring COCOMO II to a particular organization. Summary of COCOMO II Data. Conclusions.



5. Emerging Extensions.

Applications Composition: The Application Point Model. COPSEMO: Phase Schedule and Effort Estimation. CORADMO: Rapid Application Development Estimation. COCOTS: COTS Integration Estimation. COQUALMO: Quality Estimation. COPROMO: Productivity Estimation. Expert COCOMO: Risk Assessment.



6. Future Trends.

Trends in Software Productivity and Estimating Accuracy. Effects of Increasing Domain Understanding. Effects of Innovation and Change. Coping with Change: COCOMO II. Coping with Change: COCOMO II and Your Organization.



Appendix A: COCOMO II: Assumptions and Phase/Activity Distributions.

Introduction. Waterfall and MBASE/RUP Phase Definitions. Phase Distribution of Effort and Schedule. Waterfall and MBASE/RUP Activity Definitions. Distribution of Effort Across Activities. Definitions and Assumptions.



Appendix B: COCOMO II: Estimating for Incremental Development.

Introduction. Incremental Development Model. Inputs and Outputs. Estimation Steps. Incremental Development Considerations.



Appendix C: COCOMO Suite: Data Collection Forms and Guidelines.

Introduction. Procedure for Projects. Guidelines for Data Collection. Data Conditioning.



Appendix D: USC-CSE Affiliate Programs.

Introduction. Primary Benefits. Additional Benefits. Levels of Affiliation. Current Affiliates.



Appendix E: USC COCOMO II. Software Reference Manual.

OCOMO? Navigating COCOMO. Begin Using COCOMO. Obtaining COCOMO. New. Load Project. Save Project. Save As Project. Load Model. Save Model. Save As Model. Make Report. Export. Save Screens. Print Screen. Print Preview. Print Setup. Exit. Add Module. Clear All Module. Snapshot. Undo. Cut. Copy. Paste. Post Architecture Model. Early Design Model. Scale Factors. Equation. Person Month. Function Point. File Load. File Save. File Save As. Project. Compute. WaterFall Model—Project Phase Distribution. Waterfall Model—Module Phase Distribution. MBASE Model—Project Phase Distribution. MBASE Model—Module Phase Distribution. Project Maintenance. Module Maintenance.



Appendix F: Content of Accompanying CD-ROM.

Introduction. Top-Level Screen. Install USC COCOMO II.2000. COCOMO II.2000 Manuals. The COCOMO Suite—Extensions and Companion Tools. Tutorials. Commercial COCOMO II.2000-Based Tools. Data Collection Forms. Affiliation. CD Top-Level Directory Highlights.



Acronyms & Glossary.


References.


Author Index.


Subject Index.

Preface

Preface

"We are becoming a software company" is an increasingly repeated phrase in organizations as diverse as finance, transportation, aerospace, electronics, and manufacturing firms. Competitive advantage increasingly depends on developing software for smart, tailorable products and services, and on the ability to develop and adapt these products and services more rapidly than competitors' adaptation times. These trends highlight the need for strong capabilities to accurately estimate software cost and schedules, and to support tradeoff, risk, sensitivity, and business case analyses for software decisions.

Concurrently, a new generation of software processes and products is changing the way organizations develop software. These new approaches—evolutionary, risk-driven, and collaborative software processes; fourth-generation languages and application generators; commercial off-the-shelf (COTS) and reuse-driven software approaches; fast-track software development approaches; software process maturity initiatives—lead to significant benefits in terms of improved software quality and reduced software cost, risk, and cycle time.

However, although some of the existing software cost models have initiatives addressing aspects of these issues, these new approaches have not to date been strongly matched by complementary new models for estimating software costs and schedules. This makes it difficult for organizations to conduct effective planning, analysis, and control of projects using the new approaches.

These concerns have led the authors of this book to formulate a new version of the Constructive Cost Model (COCOMO) for software effort, cost and schedule estimation. The original COCOMO 81 Boehm 1981 and its specialized Ada COCOMO successor Boehm and Royce 1989 were reasonably well matched to the classes of software projects that they modeled: largely custom, built-to-specification software Miyazaki and Mori 1985; Goudy 1987. Although Ada COCOMO added a capability for estimating the costs and schedules for incremental software development, COCOMO 81 encountered increasing difficulty in estimating the costs of software created via spiral or evolutionary development models, or of software developed largely via commercial off-the-shelf (COTS) applications-composition capabilities.

Software Estimation State of the Practice

A number of commercial software estimation models continue to pass the market test for value added to users. And quite a few organizations do a good job of software project planning, estimating, and control. However, a very large number of organizations do not: in the 1995 Standish Group study, over 53% of the software projects were overrun by more than 50% in both budget and schedule Standish 1995.

Some recent collections of software failure case studies provide more detail on the reasons for such overruns. Table P1 summarizes the results from six such projects. The first three are from Flowers 1996; the second three are from Glass 1998.

Model Clashes and MBASE

We have analyzed the projects in Table P1, and have found that many of their problems result from model clashes Boehm-Port 1999b. Model clashes involve incompatibilities among the primary models being used to define and manage the project. These include product models (requirements, architecture, design, etc.); process models (waterfall, spiral, maturity models, etc.); property models (cost, schedule, performance, etc.), and success models (business case, stakeholder win-win, IKIWISI: I'll know it when I see it, etc.).

Table P1 Software Overrun Case Studies
First; Last Estimate
ProjectCost ($M)Schedule (Months)Status at Completion
PROMS (Royalty collection) 12; 21+ 22; 46 Cancelled, Month 28
London Ambulance 1.5; 6+ 7;17+ Cancelled, Month 17
London Stock Exchange 60-75; 150 19; 70 Cancelled, Month 36
Confirm (Travel reservations) 56; 160+ 45; 60+ Cancelled, Month 48
FAA Advanced Automation System 3700; 7000+ 48; 96 Cancelled, Month 70
Master Net (Banking) 22; 80+ 9; 48+ Cancelled, Month 48

The projects in Table P1 all had a number of model clashes contributing to their failure. Several model clashes involved cost and schedule property models. For example, the London Ambulance project established a $2.25M cost baseline from misreading a consultant's report giving a best-possible cost if an (unavailable) packaged product solution could be found. The low bidder's $1.5M bid was based on a very sketchy build-from-scratch product model.

At the USC Center for Software Engineering (USC-CSE), we have been developing an approach called Model-Based (System) Architecting and Software Engineering (MBASE), for endowing a project with a consistent and mutually supportive set of product, process, property, and success models Boehm-Port 1999a; see also http://sunset.usc.edu/research/MBASE. It uses stakeholder success models as the critical project drivers, and a stakeholder win-win variant of the spiral model to determine a compatible set of product, process, property, and success models for the system. It also integrates software engineering with system engineering, and provides a strong framework for transitioning to the new Integrated Capability Maturity Model (CMM I).

MBASE and COCOMO II

Our research on MBASE includes research on success models (win-win; expectations management); process models (WinWin Spiral Model, anchor points, requirements negotiation); product models (domain models, software architectures); and property models (primarily COCOMO II and its extensions). The concurrent research on these component models helps to strengthen their relationships and to ground them in software practices. For example, our anchor point process research began with an effort to define a set of common life-cycle milestones upon which to base COCOMO II cost and schedule estimates. In collaboration with Rational, Inc., we have integrated the MBASE phases and milestones with those of the Rational Unified Process, and have provided MBASE/RUP phase and activity distribution estimators for COCOMO II in Appendix A.

Also, we try to apply MBASE to our own projects. Thus, in scoping COCOMO II, we used the MBASE principles of identifying stakeholders, gathering their objectives in using software estimation models, and determining their principal needs for improvement over the existing COCOMO 81 capability. Thus, Chapter 1 of this book begins with a summary of COCOMO II user objectives, followed by a set of COCOMO II model objectives in terms of desired improvements over COCOMO 81, followed by a set of COCOMO II development and evolution strategies for achieving the objectives.

One of the stakeholder objectives was to avoid basing COCOMO II on a single process model such as the waterfall model assumed in COCOMO 81. Thus, we have developed interpretations of COCOMO II to cover the waterfall model, MBASE/RUP, and incremental development.

Content of Book Chapters

Chapter 1 provides the overall context and framework for COCOMO II, including its model of future software practices and resulting choice of a three-stage model tailorable to the major future software practices. Chapter 2 presents the specific definitions of COCOMO II quantities, estimating equations, cost driver and scale factor definitions and rating scales, and guidance in interpreting the definitions in special situations.

The final section of Chapter 2 shows how to use COCOMO II to perform quick manual analyses for a number of the objectives established in Chapter 1: making investment decisions, performing tradeoff and risk analyses, tailoring models to project practices.

Chapter 3 shows how you can use the USC COCOMO II tool to perform more extensive cost estimates and tradeoff analyses, using two representative examples: a transaction processing system and an aircraft radar system.

Chapter 4 summarizes the COCOMO II Bayesian calibration process and results, and provides guidelines for organizations to produce their own calibrated version of the model.

Chapter 5 describes some emerging extensions of the central COCOMO II model. The Applications Composition model is still considered to be an emerging extension, as its calibration and counting rules are not yet robust. Others address the problems of estimating the cost of software COTS integration (COCOTS); phase distribution of schedule and effort (COPSEMO); rapid application development effort and schedule adjustments (CORADMO); quality in terms of delivered defect density (COQUALMO); and the effects of applying software productivity strategies (COPROMO).

Chapter 6 projects future software trends and how they are likely to affect software cost estimation and COCOMO II.

Six appendices provide A) COCOMO II definitions, assumptions, and phase/activity distribution estimates, B) an incremental development estimation model, C) data collection forms for COCOMO II and emerging extensions to better calibrate the model to your organization, D) information on the USC-CSE COCOMO II and other Affiliate programs, E) a Software Reference Manual for the USC COCOMO II tool, and forms and guidelines for COCOMO II data collection, and F) information on the content and use of the accompanying CD-ROM.

This CD provides you a current copy of a COCOMO II estimating software package developed by USC-CSE, and demonstration copies of three commercial COCOMO II packages. We have also put the examples used within the book as files on the CD so that you can generate the results we've come up with using the package. This is important because it shows you how to effectively employ the package--and the COCOMO II model--to develop estimates, make tradeoffs and perform various kinds of cost analyses.

The CD also provides you with a number of additional resources. It contains briefings, reports, manuals and amplifying details on the COCOMO II package so that you will understand its history and how it was derived. Our goal is to update the CD every two years as we publish updates to this book.

Mapping of Chapters onto Reader Interests

If you are a software manager, analyst, or developer wishing to make and use software estimates, read Chapters 1, 2, and 3, and Appendix E in concert with use of the USC COCOMO II tool.

If you are a software estimation specialist for your organization, read the entire book.

If you are a software metrics and models researcher, read Chapters 1, 2, 4, 5, 6 and Appendices A, B, and C.

If you want a general understanding of COCOMO II and its uses, read Chapters 1, 2, and 3.

Relation to 1981 Software Engineering Economics Book

About 30% of the 1981 Software Engineering Economics book Boehm 1981 is superseded by the contents of this book. Here is a chapter-by-chapter assessment of the 1981 book as it relates to the contents of this COCOMO II book—remember, the chapters listed below are those found in the original 1981 book:

Chapters 1 and 2. These chapters are still timely and useful as a motivation for the human-economics approach to software engineering.

Chapter 3. The GOALS approach has evolved into MBASE and the stakeholder win-win approach. The material here and in Appendix B is good for background and examples, but not for operational guidance.

Chapter 4. COCOMO II has been structured to produce cost and schedule estimates consistent with the Waterfall Model milestones in this chapter. The Work Breakdown Structure framework is also still applicable.

Chapters 5-9. The material on Basic and Intermediate COCOMO 81 has been replaced by the COCOMO II Applications Composition, Early Design, and Post-Architecture series of models. Portions of Chapters 6 and 7 on Waterfall-model phase and activity distributions are still relevant.

Chapters 10-20. The material on software microeconomics is still valid as a framework for using COCOMO II estimates.

Chapters 21 and 22. The seven-step approach and comparison of software estimation techniques are still valid. The COCOMO II book complements this material by providing example-based guidance on using COCOMO II for various estimation, tradeoff analysis and life-cycle estimation purposes (in Chapters 2 and 3).

Chapter 23. This material is specific to COCOMO 81. Including phase-sensitive cost drivers is a downstream COCOMO II goal.

Chapters 24-27. Some of the cost driver experience discussions are dated (Turnaround Time, Tool Use, Modern Programming Practices, Schedule stretchout effects). The others are still useful. We plan to provide updates and coverage of the new cost drivers in some future editions.

Chapter 28. Personnel Continuity and Documentation are now COCOMO II cost drivers. Their effects were significant in the latest COCOMO II data analysis. Requirements Volatility is now being treated as a size modifier via the breakage parameter, REVL. Other parts of the chapter are largely specific to COCOMO 81.

Chapter 29. The material in this chapter is largely superseded by Chapter 4 of the COCOMO II book.

Chapter 30. The maintenance data trends are still relevant. The maintenance model for COCOMO II has been updated to include the Software Understanding and Personnel Unfamiliarity factors.

Chapter 31. The material on estimating conversion, computer, installation, training and documentation costs is largely out of date. The business case in Section 31.8 is still highly useful.

Chapter 32. The planning and control techniques are still valid. Earned value techniques are now more frequently used for software. The primary trend not captured is the use of other progress tracking metrics such as those in the Practical Software Measurement handbook McGarry et al. 1998

Chapter 33. The coverage of COTS and Very High Level Languages was very good for 1981, but much more is known now; see the COCOTS discussion in Section 5.4 of this book. The discussions of product, platform, and people productivity factors are still useful. COCOMO II has more process productivity options in its scale factors, and a stronger treatment of reuse.

Appendix A. Superseded by current Appendix C.

Appendix B. Good for background, as discussed for Chapter 3.

Bottom Line

Most of the 1981 book is still useful and relevant. The parts that are mostly outdated or superseded by this book are Chapters 5-9, 23, 28-29, 31 (except Section 31.8), and Appendices A and B.

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020