Home Contact Us Site Map
Center for Systems and Software Engineering

About us
News
History
People
Events
Upcoming
Highlights
Past
Tech. Report
Research
Projects
Tools
Courses
Education
Degrees
Admissions
Affiliates
General
Private
Other Resources


COCOMO Models Research Miscellaneous    
 COCOMO II  Research Group  COCOMO II Calculator    
 COCOMO 81  Papers and Presentations  COCOMO 81 Calculator    
Downloads Conferences  Commercial Software    
 Books  Research Sponsors      
   Data Collection      

COCOMO II

COnstructive COst MOdel II (COCOMO II) is a model that allows one to estimate the cost, effort, and schedule when planning a new software development activity. COCOMO II is the latest major extension to the original COCOMO (COCOMO 81) model published in 1981. It consists of three submodels, each one offering increased fidelity the further along one is in the project planning and design process. Listed in increasing fidelity, these submodels are called the Applications Composition, Early Design, and Post-architecture models.

COCOMO II can be used for the following major decision situations

  • Making investment or other financial decisions involving a software development effort
  • Setting project budgets and schedules as a basis for planning and control
  • Deciding on or negotiating tradeoffs among software cost, schedule, functionality, performance or quality factors
  • Making software cost and schedule risk management decisions
  • Deciding which parts of a software system to develop, reuse, lease, or purchase
  • Making legacy software inventory decisions: what parts to modify, phase out, outsource, etc
  • Setting mixed investment strategies to improve organization's software capability, via reuse, tools, process maturity, outsourcing, etc
  • Deciding how to implement a process improvement strategy, such as that provided in the SEI CMM

The original COCOMO model was first published by Dr. Barry Boehm in 1981, and reflected the software development practices of the day. In the ensuing decade and a half, software development techniques changed dramatically. These changes included a move away from mainframe overnight batch processing to desktop-based real-time turnaround; a greatly increased emphasis on reusing existing software and building new systems using off-the-shelf software components; and spending as much effort to design and manage the software development process as was once spent creating the software product.

These changes and others began to make applying the original COCOMO model problematic. The solution to the problem was to reinvent the model for the 1990s. After several years and the combined efforts of USC-CSSE, ISR at UC Irvine, and the COCOMO II Project Affiliate Organizations, the result is COCOMO II, a revised cost estimation model reflecting the changes in professional software development practice that have come about since the 1970s. This new, improved COCOMO is now ready to assist professional software cost estimators for many years to come.

About the Nomenclature

The original model published in 1981 went by the simple name of COCOMO. This is an acronym derived from the first two letters of each word in the longer phrase COnstructive COst MOdel. The word constructive refers to the fact that the model helps an estimator better understand the complexities of the software job to be done, and by its openness permits the estimator to know exactly why the model gives the estimate it does. Not surprisingly, the new model (composed of all three submodels) was initially given the name COCOMO 2.0. However, after some confusion in how to designate subsequent releases of the software implementation of the new model, the name was permanently changed to COCOMO II. To further avoid confusion, the original COCOMO model was also then re-designated COCOMO 81. All references to COCOMO found in books and literature published before 1995 refer to what is now called COCOMO 81. Most references to COCOMO published from 1995 onward refer to what is now called COCOMO II.

If in examining a reference you are still unsure as to which model is being discussed, there are a few obvious clues. If in the context of discussing COCOMO these terms are used: Basic, Intermediate, or Detailed for model names; Organic, Semidetached, or Embedded for development mode, then the model being discussed is COCOMO 81. However, if the model names mentioned are Application Composition, Early Design, or Post-architecture; or if there is mention of scale factors Precedentedness (PREC), Development Flexibility (FLEX), Architecture/Risk Resolution (RESL), Team Cohesion (TEAM), or Process Maturity (PMAT), then the model being discussed is COCOMO II.