Constructive
Cost
Model
(COCOMO)
Introduction
COCOMO is a hierarchy of software
cost estimation models ,which include
Basic , Intermediate and Detailed sub
models. COCOMO is used for knowing
the how much cost to develop the
software.
COCOMO Models
The basic model aims at estimating ,in a quick
and rough fashion ,most of the small to
medium sized software projects.
In this model there are modes of software
development .
1. Organic mode
2. Semi-detached mode
3. Embedded mode
Organic Mode
In the Organic Mode , a small team of
experienced developers develops software in a
very familiar environment. The size of the
software development in this mode ranges
from small (a few KLOC) to a medium (a few
tens of KLOC) while in other two modes the
size range from small to very large (a few
hundreds of KLOC)
Embedded Mode .
In this mode ,the project has tight
constraints , which might be related to the
target processor and its interface with the
associated hardware.
Semi Detached Mode
The Semi Detached mode is an intermediate
mode between the organic mode and
embedded mode.
Basic COCOMO Model:
Formula
E=ab (KLOC) bb
D=cb (E) db
P=E/D
where E is the effort applied in person-months,
D is the development time in chronological
months, KLOC is the estimated number of
delivered lines of code for the project (expressed
in thousands), and P is the number of people
required. The coefficients ab, bb, cb and db are
given in next slide.
Basic COCOMO Coefficients
Software project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
MODE EFFORT SCHEDULE
E= 2.4*(KLOC)1.05 TDEV = 2.5*(E)0.38
ORGANIC
SEMI-DETACHED E=3.0*(KLOC)1.12 TDEV =2.5*(E)0.35
E=3.6*(KLOC)1.20 TDEV =2.5*(E)0.32
EMBEDDED
Basic COCOMO Model:
Example
We have determined our project fits the characteristics of
Semi-Detached mode
We estimate our project will have 32KLOC Delivered
Source Instructions. Using the formulas, we can
estimate:
Effort = 3.0*(32) 1.12 = 146 man-months
Schedule = 2.5*(146) 0.35 = 14 months
Productivity = 32 KLOC/146 MM
= 219 DSI/MM
Average Staffing = 146 MM /14 months
= 10 FSP
Intermediate Model
The Basic model allowed for a quick and
rough estimate, but it resulted in a lack of
accuracy. Boehm introduced an additional set
of 15 predictors called Cost Drivers in the
intermediate model to take account of the
software development environment. Cost
driver are used to adjust the nominal cost of a
project to the actual environment, hence
increasing the accuracy of estimate.
The Cost Drivers are Grouped into four
Categories
1. Product attribute
(a) Required software reliability (RELY)
(b) Database size (DATA)
(c) Product complexity (CPLX)
2.Computer attributes
(a) Execution time constraints (TIME)
(b) Main storage constraints (STOR)
(c) Virtual machine volatility (VIRT)
(d) Computer turn around time (TURN )
3. Personal attributes
(a) Analyst capability (ACAP)
(b) Application experience (AEXP)
(c) Programmer capability (PCAP)
(d) Virtual machine experience (VEXP)
(e)Programming language experience (LEXP)
4.Project attributes
(a) Modern programming practices (MODP)
(b) Use of software tools (TOOL)
(c)Required development schedule (SCED)
COCOMO - COST DRIVERS
RATING
COST V.LO LOW NOMI HIGH V.HIG EX.
DRIVER W NAL H HIGH
(PRODUCT) RELY 0.75 0.88 1.00 1.15 1.40 .
.. DATA . 0.94 1.00 1.08 1.16 .
.. CPLX 0.70 0.85 1.00 1.15 1.30 1.65
(COMPUTE TIME . . 1.00 1.11 1.30 1.66
R)
.. STOR . . 1.00 1.06 1.21 1.56
.. VIRT . 0.87 1.00 1.15 1.30 .
.. TURN . 0.87 1.00 1.07 1.15 .
.
.
(PERSONNE ACAP 1.46 1.19 1.00 0.86 0.71
L)
.
.. AEXP 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) MODP 1.24 1.10 1.00 0.91 0.82
.
.. TOOL 1.24 1.10 1.00 0.91 0.83
.
.. SCED 1.23 1.08 1.00 1.04 1.10
Intermediate Model:
Equations
Mode Effort Schedule
ORGANIC E=EAF*(KLOC)1.05 TDEV=2.5*(E)0.38
SEMI-DETACHED E=EAF*3.0(KLOC)1.12 TDEV=2.5*(E)0.35
EMBEDDED E=EAF*2.8*(KLOC)1.20 TDEV=2.5*(E)0.32
The Intermediate Model can be
applied across the entire software
product for easily and rough cost
estimation during the early stage
The Intermediate Model estimates are
within 20% of the actuals 68% of the
time
Intermediate Model:
An Example
Project A is to be a 32,000 DSI semi-detached
software. It is in a mission critical area, so the
reliability is high (RELY=high=1.15). Then we can
estimate:
Effort = 1.15*3.0*(32)1.12 = 167 man-months
Schedule = 2.5*(167)0.35 = 15 months
Productivity = 32,000 DSI/167 MM
= 192 DSI/MM
Average Staffing = 167 MM/15 months
= 11 FSP
Detailed COCOMO Model
The detailed model introduce two more
capabilities:
Phase-sensitive Effort Multipliers
The effort multipliers for every cost drivers are
different during the software development
phases
Module-Subsystem-System Hierarchy
The software product is estimated in the three level
hierarchical decomposition. The fifteen cost drivers
are related to module or subsystem level
Detailed COCOMO Model:
Module-Subsystem-System
Module level
• cost drivers tend to vary at the lowest level
• CPLX, PCAP, VEXP, LEXP
Subsystem Level
• cost drivers tend to vary from subsystem to subsystem,
but are the same for modules in a sub-system
• RELY, DATA, TIME, STOR, VIRT
System Level
• overall project relations such as nominal effort and
schedule equations
KDSI means K for Thousand and DSI is
"delivered source instruction".
Clear