The COCOMO (Constructive Cost Model) is a model with which the workload and the duration of software development projects are estimated. Based on a central project database, the estimated results are calculated from the code scope of the software to be developed, among other things. COCOMO consists of three sub-models that build on one another.
Definition / explanation
The COCOMO model was developed in 1981 by Dr. Barry W.Boehm developed. It contains parametric estimating equations and factors influencing productivity. For this purpose, Boehm has identified a total of 17 cost drivers and so-called scaling factors.
A database of 63 software projects provided the empirical values for the investigation and development of the exponential equations.
How does COCOMO work?
Most important premises:
1. The primary estimation parameter is based on the size of the program code. Boehm sees an exponential relationship between the workload and the size of the program code. In simple terms, this means that an increase in the amount of code by one unit entails the expense of more than one unit.
2. Definition of the examined project phase: A project begins with the drafting of the product design, the end is the completion of the tests by the customer.
3. The personnel expenses do not take into account any support services and cross-sectional functions, only the development effort.
First, the complexity of the project is determined (in ascending order of complexity: organic, semi-detached and embedded mode). The modes determine how the cooperation between the developers and the documentation of the programming progress is presented (from line to parallel organization and from relatively loose to strict documentation).
If all information about the project is available, the calculation can be made. With regard to the three sub-models:
Basic (first estimate):
- Effort = factor of complexity multiplied by the number of program lines supplied (KDSI)
- Project duration = factor of complexity multiplied by effort
Intermediate (improved estimate):
- is also based on empirical values
- Influence of 15 cost drivers
Detailed (refined estimate)
- broken down into project phases
- Influence of other cost drivers
However, the estimated results obtained are not a prognosis; the relationship between the estimated effort and the project duration provides an indication of a reasonable project team size (results are full-time equivalents, not the number of people). According to the model, a shortening of the project duration leads to an increase in expenditure.