Cost Estimation Models

Most of the work in the cost estimation field has focued on algorithmic cost modelling. In this process costs are analysed using mathematical formulas linking costs or inputs with metrics to produce an estimated output. The formulae used in a formal model arise from the analysis of historical data. The accuracy of the model can be improved by calibrating the model to your specific development environment, which basically involves adjusting the weightings of the metrics.
Generally there is a great inconsistency of estimates. Kemerer [Kemerer 93] conducted a study indicating that estimates varied from as much as 85 - 610 % between predicated and actual values. Calibration of the model can improve these figures, However, models still produce errors of 50-100%.

SLIM ( Software Life Cycle Management )

Putnam's [Putnam 78] SLIM is one of the first algorithmic cost model. It is based on the Norden/Rayleigh function and generaly known as a macro estimation model ( It is for large projects ). SLIM enables a software cost estimator to perform the following functions : The algorithm used is :

K = ( LOC / ( C * t4/3 )) * 3

K is the total life cycle effort in working years, t is development and the C is the technology constant, combining the effect of using tools, languages, methodology and quality assurance ( QA ). time in years.
The value of technology constant varies from 610 to 57314. For easy, xperienced projects technology constant is high.

SLIM is not widespreadly used but there is a SLIM tool.

Advantages of SLIM
  1. Uses linear programming to consider development constraints on both cost and effort.
  2. SLIM has fewer parameters needed to generate an estimate over COCOMO'81 and COCOMO'II
Drawbacks of SLIM
  1. Estimates are extremely sensitive to the technology factor
  2. Not suitable for small projects

COCOMO'81 ( Constructive Cost Model )

Boehm's [Boehm 81] COCOMO model is one of the mostly used model commercially. The first version of the model delivered in 1981 and COCOMO II is available now.

COCOMO'81 is derived from the analysis of 63 software projects in 1981. Boehm proposed three levels of the model : Basic, intermediate, detailed.

COCOMO'81 models depends on the two main equations :

First is development effort ( based on MM - man-month / Person-month / staff-month is one month of effort by one person. In COCOMO'81, there are 152 hours per Person-Month. According to organization this values may differ from the standard by 10% to 20%. ) for the basic model :


Second is effort and development time ( TDEV )


KDSI means the number of thousand delivered source instructions and it is a measure of size
The coefficents a, b, c and d are depent on the mode of the development. There are three modes of development :

Development Mode Project Characteristics
Size Innovation Deadline/constraints Dev. Environment
Organic Small Little Not tight Stable
Semi-detached Medium Medium Medium Medium
Embedded Large Greater Tight Complex hardware/customer interfaces

Here is the coefficents related to development modes for intermadiate model :
Development Mode a b c d
Organic 3.2 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 2.8 1.20 2.5 0.32

Basic mode uses only size in estimation. Intermadiate mode also uses 15 cost drivers as well as size.

In intermediate mode development effort equation becomes :


C ( effort adjustment factor ) is calculated simply multiplying the values of cost drivers. So the intermediate model is more accurate than the basic model.
The steps in producing an estimate using the intermediate model COCOMO'81 are :

  1. Identify the mode ( organic, semi-detacted, embedded ) of development for the new product.
  2. Estimate the size of the project in KDSI to derive a nominal effort prediction.
  3. Adjust 15 cost drivers to reflect your project.
  4. Calculate the predicted project effort using first equation and the effort adjustment factor ( C )
  5. Calculate the project duration using second equation.
Example estimate using the intermediate COCOMO'81
Mode is organic
Size = 200KDSI
Cost drivers : C = .88 * 1.15 * 1.13 * .95 = 1.086

Effort = 3.2 * ( 2001.05 ) * 1.086 = 906 MM

Development time = 2.5 * 9060.38

Advantages of COCOMO'81
  1. COCOMO is transparent, you can see how it works unlike other models such as SLIM.
  2. Drivers are particularly helpful to the estimator to understand the impact of different factors that affect project costs.
Drawbacks of COCOMO'81
  1. It is hard to accurately estimate KDSI early on in the project, when most effort estimates are required.
  2. KDSI, actually, is not a size measure it is a length measure.
  3. Extremely vulnerable to mis-classification of the development mode
  4. Success depends largely on tuning the model to the needs of the organization, using historical data which is not always available

COCOMO'II ( Constructive Cost Model )

Researchs on COCOMO II is started in late 90s because COCOMO'81 is notenough to apply to newer software development practices. You can find latest information about COCOMO'II from COCOMO II Home Page

COCOMO'II differs from COCOMO'81 with such differences :

COCOMO II has three different models :

Sencer's Home Software Measurement Page
This page is maintained by Ümit Karakaş and Sencer Sultanoğlu
Last modified Oct 12, 98