COnstructive COst MOdel (COCOMO)

(Taken from ''Software Engineering Economics'' by Barry Boehm, Prentice-Hall, 1981) 
 

Basic formulas:

MM = 2.4(KDSI)1.05

TDEV = 2.5(MM)0.38


Definitions: 

MM: Man-Month 

TDEV: Total DEVelopment time in months. 

KDSI: Thousands of Delivered Source Instructions 

Assumptions:  1. Everything is driven by Delivered Source Instructions (DSI). It excludes non-delivered support software. Source instructions include all program instructions created by project personnel. It excludes comments and unmodified utility software. 

2. The period estimated by COCOMO begins at the completion of the software requirements review and ends with integration testing. 

3. Cost estimates include management and documentation, but exclude training, installation and conversion planning. 

4. Includes all direct charged labor for people like project managers and program librarians, but excludes computer operators, secretaries, higher management, janitors, for example. 

5. A COCOMO man-month consists of 152 hours. 

6. COCOMO assures that requirements will not change substantially, though some refinements and reinterpretations are inevitable. 

7. Costs are usually phase dependent thought the most simple COCOMO model ignores this. For example, an average man-month might cost £7500 for the plans, requirements and product design, £6000 for detailed design, coding and unit testing, and £7500 for the integration-and-test and maintenance phases. 


Basic COCOMO Effort and Schedule Equations
 
Mode Effort (MM) Schedule (TDEV)
Organic 2.4(KDSI)1.05 2.5(MM)0.38
Semidetached 3.0(KDSI)1.12 2.5(MM)0.35
Embedded 3.6(KDSI)1.20 2.5(MM)0.32

Characteristics of organic mode: Little communication overhead - stand alone product Generally stable development environment Minimal need for innovative arch or algorithms Relatively low premium on early completion 

Characteristics of semidetached mode: Basically how tightly coupled the new software is with existing software, But so may mean: Mixture of organic and embedded mode characteristics Or Team have an intermediate level of experience with related systems Team has a wide mixture of experienced and inexperienced people Team have experience related to some aspects of project but not others 

Characteristics of embedded mode: Software tightly coupled with existing software and among newly developed components Also the product will have to absorb more changes. 

The Intermediate COCOMO Effort and Schedule Equations
 

The Intermediate model uses an Effort Adjustment Factor (EAF) for the Effort equation. Slightly different coefficients are also used in  the equations. 
 
 
Mode Effort (MM)
Organic: Effort = EAF * 3.2 * (KDSI)1.05
Semidetached: Effort = EAF * 3.0 * (KDSI)1.12
Embedded: Effort = EAF * 2.8 * (KDSI)1.20

The EAF (Effort Adjustment Factor) is simply the product of the Effort Multipliers corresponding to each of the cost drivers for your project.
The Intermediate model produces better results because you supply settings for 15 Cost Drivers that determine the effort and duration of software projects. The Cost Drivers include factors such as Product Complexity, Programmer Capability, and "Use of Software Tools". The table lists the cost drivers used in the standard COCOMO model and the Effort Multipliers associated with different ratings. 
 Example:
 

If your project is rated Very High for Complexity (Effort Multiplier of 1.30), and Low for Tools Use (Effort Multiplier of 1.10), and all of the other cost drivers are rated to be Nominal, these Effort Multipliers are used to calculate the Effort Adjustment Factor, which is used in the effort equation: 

  • Effort = EAF * 3.2 * 31.05 

  •               EAF = 1.30 * 1.10 = 1.43
    Effort = 1.43 * 3.2 * 31.05 = 14.5 MM 
     
  • Schedule TDEV = 2.5 * 14.50.38 = 6.9 Months 
  • STAFFING (Effort / TDEV): 

  •            = 14.5MM / 6.9Months = 2.1 people 

  • Productivity ( DSI / MM ): Assuming project size is 2000 lines of code.
    2000 / 14.5 = 138 DSI per Person / Month


Software Engineering Economics defines each of the cost drivers, and defines the Effort Multiplier associated with each rating. 

The following characteristics are factors that should be multiplied by the MM calculation:
 
 
Ratings
Cost Driver
Very

Low

Low
Nominal
High
Very

High

Extra

High

Product Attributes
           
RELY Required software reliability
.75
.88
1.00
1.15
1.4
 
DATA Data base size
 
.94
1.00
1.08
1.16
 
CPLX Product Complexity
.70
.85
1.00
1.15
1.30
1.65
             
Computer Attributes
           
TIME Execution time constraint
   
1.00
1.11
1.3
1.66
STOR Main storage constraint
   
1.00
1.06
1.21
1.56
VIRT Virtual machine volatility
 
.87
1.00
1.07
1.15
 
TURN Computer turnaround time
 
.87
1.00
1.07
1.15
 
             
Personnel Attributes
           
ACAP Analyst capability
1.46
1.19
1.00
.86
.71
 
AEXP Application experience
1.29
1.13
1.00
.91
.82
 
PCAP Programmer capability
1.42
1.17
1.00
.86
.70
 
VEXP Virtual machine experience
1.21
1.10
1.00
.90
   
LEXP Programming lang. experiences.
1.14
1.07
1.00
.95
   
             
Project Attributes
           
MODP Use of modern prog. practices
1.24
1.10
1.00
.91
.82
 
TOOL Use of software tools
1.24
1.10
1.00
.91
.83
 
SCED Required development schedule
1.23
1.08
1.00
1.04
1.10
 

The Intermediate model also produces better results than the Basic model because the system can be divided into "components". DSI values and Cost Drivers can be chosen for individual components, instead of for the system as a whole. COCOMO can estimate the staffing, cost, and duration of each of the components -- allowing you to experiment with different development strategies, to find the plan that best suits your needs and resources


    Fill in the worksheet!
PROJECT PHASE 1: WORKSHEET 

TEAM MEMBERS: 

__________________________________________________________ 

__________________________________________________________ 

__________________________________________________________ 

1. What Mode is your project: Organic, Semidetached, or Embedded 

Why? 
 
 
 
 
 
 
 
 
 
 

2. Choose the rating factor for each of the following COCOMO attributes and explain why you made the choice. 
 
 
DRIVER RATING WHY?
RELY    
DATA    
CPLX    
TIME    
STOR    
VIRT    
TURN    
ACAP    
AEXP    
PCAP    
VEXP    
LEXP    
MODP    
TOOL    
SCED    

 
 

3. Using the Intermediate Model show your calculations for EFFORT: (show all factors from above) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

4. Show your calculations for PRODUCTIVITY 
 
 
 
 
 
 
 
 
 
 

5. Show your calculations for SCHEDULE 
 
 
 
 
 
 
 
 
 
 

6. Show your calculations for STAFFING 
 
 
 
 
 
 
 
 

7. Show your calculations for total amount billed 
 
 
 
 
 
 
 
 
 
 
 
 

8. Describe any problems, if any, with your conclusions: (time, expertise, etc.)