COCOMO
COCOMO
The COCOMO model calculates a proposed software project's time, effort, cost, and
quality. In simple words, it predicts the performance of a software project.
Organic project: An organic software project requires a small team, the problem
is well understood, and the team members are experienced in developing similar
projects.
Semi-detached project: A semi-attached project is medium-sized, with the
development consisting of a mix of experienced and inexperienced staff, and the
major characteristics of the project lie in between organic and embedded.
Embedded project: An embedded software project has a high level of
complexity, requiring a large-sized experienced team, and is coupled with
complex hardware.
The COCOMO model is divided into three types based on the accuracy quotient.Any of
the three types can be adapted according to our requirements:
Basic model
Intermediate model
Detailed model
Basic model
The basic model is used for quick and rough cost calculations for the software. It
calculates the effort, time, and number of people required to use a project's kLOC (kilo
lines of code).
Project Type a b c d
Example
Suppose a project was estimated to be made in 400 kLOC. Lets calculate its effort,
time, and the number of people required while considering the project is of organic type:
Intermediate model
The intermediate model is an extension of the basic model and includes a set of cost
drivers to calculate the estimates with better accuracy. The effort factor includes the
effort adjustment factor (EAF) that is calculated with the cost drivers.
The effort is measured in person-months and time in months. The constants a, b, c, and \
space da,b,c,and d vary for each model type. The following are the constant values for
the basic model:
Project Type a b c d
Cost drivers
Product attributes
Hardware attributes
Analyst capabilities
Software engineering capabilities
Applications experience
Virtual machine experience
Programming language experience
Personal attributes Very Low Low Nominal High Very High Extra High
ACAP 1.46 1.19 1.00 0.86 0.71 ...
AXEP 1.29 1.13 1.00 0.91 0.82 ...
PCAP 1.42 1.17 1.00 0.86 0.70 ...
VEXP 1.21 1.10 1.00 0.90 ... ...
LEXP 1.14 1.07 1.00 0.95 ... ...
Project attributes
The EAF is calculated by multiplying the parameter values of different cost driver
attributes. Ideally, the value is 1.
Example
Suppose a project was estimated to be made in 400 kLOC.let's calculate its effort, time,
and the number of people required while considering the project is of organic type and
has a nominal complexity. The developer has a high virtual machine experience.
The value of the nominal complexity of a project is 1.00, and the high virtual experience
of the developer is 0.90, according to the tables mentioned above:
Detailed model
The detailed model is a combination of both the basic model and the intermediate
model. The model is decomposed into multiple modules, and the COCOMO model is
applied to them individually. This model uses various effort multipliers for each cost
driver attribute, and the cost is calculated at each stage separately.
Conclusion
The COCOMO model provides a good rough estimation of the cost of the project and
the time taken to complete it. Still, it also has limitations as it ignores the factors like
customer skills and knowledge. Moreover, in real life, things may not work out according
to the model, and the project may take more time than the estimated time and affect the
project.