The Intermediate COCOMO is an extension of the Basic COCOMO to consider a set of "cost driver attributes" that can be grouped into four major categories, each with a number of subcategories:

  • Product attributes
    • Required software reliability
    • Size of application database
    • Complexity of the product
  • Hardware attributes
    • Run-time performance constraints
    • Memory constraints
    • Volatility of the virtual machine environment
    • Required turnabout time
  • Personnel attributes
    • Analyst capability
    • Software engineer capability
    • Applications experience
    • Virtual machine experience
    • Programming language experience
  • Project attributes
    • Use of software tools
    • Application of software engineering methods
    • Required development schedule

Each of the 15 attributes is rated on a 6-point scale that ranges from "very low" to "extra high" (in importance or value). Based on the rating, an effort multiplier is determined from the table below. The product of all effort multipliers results in an 'effort adjustment factor (EAF). Typical values for EAF range from 0.9 to 1.4.

   	                                                            Ratings
                                                Very                            Very    Extra
   Cost Drivers                                 Low     Low   Nominal   High    High    High
   Product attributes
   Required software reliability                0.75    0.88    1.00    1.15    1.40
   Size of application database                         0.94    1.00    1.08    1.16
   Complexity of the product                    0.70    0.85    1.00    1.15    1.30    1.65
   Hardware attributes
   Run-time performance constraints                             1.00    1.11    1.30    1.66
   Memory constraints 	                                         1.00    1.06    1.21    1.56
   Volatility of the virtual machine envionment         0.87    1.00    1.15    1.30
   Required turnabout time                              0.87    1.00    1.07    1.15
   Personnel attributes
   Analyst capability                           1.46    1.19    1.00    0.86    0.71
   Software engineer capability                 1.29    1.13    1.00    0.91    0.82
   Applications experience                      1.42    1.17    1.00    0.86    0.70
   Virtual machine experience                   1.21    1.10    1.00    0.90
   Programming language experience              1.14    1.07    1.00    0.95
   Project attributes
   Use of software tools                        1.24    1.10    1.00    0.91    0.82
   Application of software engineering methods  1.24    1.10    1.00    0.91    0.83
   Required development schedule                1.23    1.08    1.00    1.04    1.10

The Intermediate Cocomo formula now takes the form...

E=ai(LOC)(bi).EAF

where E is the effort applied in person-months, LOC is the estimated number of delivered lines of code for the project and EAF is the factor calculated above. The coefficient ai and the exponent bi are given in the next table.

   Software project  ai     bi
   Organic             3.2     1.05
   Semi-detached       3.0     1.12
   Embedded            2.8     1.20

The Development time D is calculated from E in the same way as with Basic COCOMO.