Basic COCOMO

From www.jsc.nasa.gov/bu2/


This model is obsolete and should only be used for demonstration purposes.

This is a simple on-line cost model for estimating the number of person-months required to develop software. The model also estimates the development schedule in months and produces an effort and schedule distribution by major phases. This model is based on http://sunset.usc.edu/Research_Group/barry.htmlBarry Boehm's Constructive Cost Model (COCOMO). This is the top-level model, Basic COCOMO, which is applicable to the large majority of software projects.

Here is what Boehm says about the model: "Basic COCOMO is good for rough order of magnitude estimates of software costs, but its accuracy is necessarily limited because of its lack of factors to account for differences in hardware constraints, personnel quality and experience, use of modern tools and techniques, and other project attributes known to have a significant influence on costs." For more detailed information about COCOMO and software cost estimating in general, I strongly recommend reading Software Engineering Economics (1981), by Barry Boehm.

A number of additional COCOMO resources are available on the web.

The model estimates cost using one of three different development modes: organic, semidetached and embedded. Here is a summary of how Boehm describes the modes:

Organic
In the organic mode, relatively small software teams develop software in a highly familiar, in-house environment. Most people connected with the project have extensive experience in working with related systems within the organization, and have a thorough understanding of how the system under development will contribute to the organizations objectives. Very few organic-mode projects have developed products with more than 50 thousand delivered source instructions (KDSI).
Semidetached
The semidetached mode of software development represents an intermediate stage between the organic and embedded modes. "Intermediate" may mean either of two things:
  1. An intermediate level of project characteristic.
  2. A mixture of the organic and embedded mode characteristics.

The size range of a semidetached mode product generally extends up to 300 KDSI.

Embedded
The major distinguishing factor of an embedded-mode software project is a need to operate within tight constraints. The product must operate within (is embedded in) a strongly coupled complex of hardware, software, regulations, and operational procedures, such as an electronic funds transfer system or an air traffic control system.


Note. These models are provided as educational examples of technology developed and used by cost engineers. Use at your own risk. These tools are written in JavaScript and require a browser with JavaScript capability.


Inputs

Development
Delivered Source Instructions (thousands) (KDSI)
Development Mode
Average Cost Rate ($/PM)
Maintenance
KDSI added (annual)
KDSI modified (annual)
Average Cost Rate ($/PM)

Results

Effort person-months (PM)
Schedule months
Development Cost  
Productivity instructions per person-month
Average Staffing full-time-equivalent software personnel
Annual Maintenance Effort person-months
Annual Maintenance Cost  


Phase Distribution

 

Effort (PM)

Schedule (mo.)

Staff (avg.)

Cost

Plans and requirements *

Product Design
Programming

Detailed Design

   

Code and unit test

   
Integration and test

* The plans and requirements phase is calculated in addition to the nominal COCOMO estimate for effort and schedule.

Activity Distribution (Staff) by Phase

 

Phase

Activity

Plans and Requirements

Product Design

Programming

Integration and Test

Maintenance

Requirements Analysis
Product Design
Programming
Test Planning
Verification and Validation
Project Office
CM/QA
Manuals
TOTAL