You are on page 1of 32

The CoCoMo Model

(The Constructive Cost Model)

Tom Rethard
based on a presentation by Jim Paulson of Novatel
Wireless
COCOMO
Outline
 Introduction
 The Basic Model
 Equations
 When You Should Use It
 Limitations
 Intermediate Model
 Detailed Model

CSE 4310/5392 2
COCOMO
 COCOMO is one of the most widely
used software estimation models in
the world
 It was developed by Barry Boehm in
1981
 COCOMO predicts the effort and
schedule for a software product
development based on inputs relating
to the size of the software and a
number of cost drivers that affect
CSE 4310/5392 3
COCOMO: Three Models

 COCOMO has three different


models that reflect the
complexity:
 the Basic Model
 the Intermediate Model
 and the Detailed Model

CSE 4310/5392 4
The Development Modes:
Project Characteristics
 Organic Mode
 developed in a familiar, stable environment,
 similar to the previously developed projects
 relatively small and requires little innovation
 Semidetached Mode
 intermediate between Organic and Embedded
 Embedded Mode
 tight, inflexible constraints and interface requirements
 The product requires great innovation

CSE 4310/5392 5
COCOMO:
Some Assumptions
 Primary cost driver is the number of
Delivered Source Instructions (DSI)
developed by the project
 COCOMO estimates assume that the
project will enjoy good management
by both the developer and the customer
 Assumes the requirements specification
is not substantially changed after the
plans and requirements phase

CSE 4310/5392 6
Basic COCOMO Model

 Basic COCOMO model estimates


the software development effort
using only a single predictor
variable (size in DSI) and three
software development modes

CSE 4310/5392 7
Basic COCOMO Model:
Equations
Mode Effort Schedule

1.05 0.38
Organic E=2.4*(KDSI) TDEV=2.5*(E)

1.12 0.35
Semidetached E=3.0*(KDSI) TDEV=2.5*(E)

1.20 0.32
Embedded E=3.6*(KDSI) TDEV=2.5*(E)

CSE 4310/5392 8
Basic COCOMO Model:
When Should You Use It

 Basic COCOMO is good for


quick, early, rough order of
magnitude estimates of
software costs

CSE 4310/5392 9
Basic COCOMO Model:
Limitations
 Its accuracy is necessarily
limited because of its lack of
factors which have a significant
influence on software costs
 The Basic COCOMO estimates
are within a factor of 1.3 only
29% of the time, and within a
factor of 2 only 60% of the time
CSE 4310/5392 10
Basic COCOMO Model:
An Example
 We have determined our project fits the
characteristics of Semi-Detached mode
 We estimate our project will have 32,000 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,000 DSI / 146
MM
= 219 DSI/MM
 Average Staffing = 146 MM /14 months

CSE 4310/5392
= 10 FSP 11
Intermediate
COCOMO Model

 The Intermediate Model


estimates the software
development effort by using
fifteen cost driver variables
besides the size variable used in
Basic COCOMO

CSE 4310/5392 12
Intermediate
COCOMO Model
 Four areas for drivers
 Product itself
 Computer
 Personnel
 Project itself

CSE 4310/5392 13
Intermediate Model:
Cost Driver Categories
 Product Attributes
 RELY --- Required Software
Reliability
 DATA --- Data Base Size
 CPLX --- Software Product
Complexity

CSE 4310/5392 14
Intermediate Model:
Cost Driver Categories
 Computer Attributes
 TIME --- Execution Time Constraint
 STOR --- Main Storage Constraint
 VIRT --- Virtual Machine Volatility
 TURN --- Computer Turnaround
Time

CSE 4310/5392 15
Intermediate Model:
Cost Driver Categories
 Personnel Attributes
 ACAP --- Analyst Capability
 AEXP --- Applications Experience
 PCAP --- Programmer Capability
 VEXP --- Virtual Machine Experience
 LEXP --- Programming Language
Experience

CSE 4310/5392 16
Intermediate Model:
Cost Driver Categories
 Project Attributes
 MODP --- Modern Programming
Practices
 TOOL --- Use of Software Tools
 SCED --- Required Development
Schedule

CSE 4310/5392 17
Intermediate Model:
Effort Multipliers
 Table of Effort Multipliers for
each of the Cost Drivers is
provided with ranges depending
on the ratings
Very Very Extra
Cost Driver Low Low Nom High High High
CPLX
Product
Complexity 0.70 0.85 1.00 1.15 1.30 1.65

CSE 4310/5392 18
Intermediate Model:
Equations
Mode Effort Schedule

1.05 0.38
Organic E=EAF*3.2*(KDSI) TDEV=2.5*(E)

1.12 0.35
Semi- E=EAF*3.0*(KDSI) TDEV=2.5*(E)
detached

1.20 0.32
Embedded E=EAF*2.8*(KDSI) TDEV=2.5*(E)

CSE 4310/5392 19
Intermediate Model:
When Should You Use It
 The Intermediate Model can be
applied across the entire
software product for easily
and rough cost estimation during
the early stage
 or it can be applied at the

software product component


level for more accurate cost
estimation in more detailed
CSE 4310/5392 20
Intermediate Model:
Limitations
 The Intermediate Model
estimates are within 20% of the
actuals 68% of the time
 Its effort multipliers are phase-
insensitive
 It can be very tedious to use on
a product with many
components
CSE 4310/5392 21
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
CSE 4310/5392
= 192 DSI/MM 22
Detailed COCOMO Model:
How is it Different?
 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

CSE 4310/5392 23
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

CSE 4310/5392 24
Detailed COCOMO Model:
Equations
 Detailed Model uses the same
equations for estimations as the
Intermediate Model
 Detailed Model uses a very complex
procedure to calculate estimation.
The procedure uses the DSIs for
subsystems and modules, and
module level and subsystem level
effort multipliers as inputs
CSE 4310/5392 25
Detailed COCOMO Model:
When Should You Use It?
 The Detailed Model can estimate the
staffing, cost, and duration of
each of the development phases,
subsystems, modules
 It allows you to experiment with
different development strategies, to
find the plan that best suits your
needs and resources

CSE 4310/5392 26
Detailed COCOMO Model:
Limitations
 Requires substantially more time
and effort to calculate estimates
than previous models
 Detailed Model estimates are within
20% of the actuals 70% of the time

CSE 4310/5392 27
Summary
 Cost estimation models are not a
substitute for a detailed estimate by
task by project management
 Cost estimation models highly depend on
the user’s knowledge of application
domain, analysis ability and the
understanding of the cost model itself
 The process of meeting the estimate is
equally critical to the process of making the
estimate

CSE 4310/5392 28
Links

 COCOMO II web page can be found at:


 sunset.usc.edu/research/COCOMOII/index.html

CSE 4310/5392 29
Questions / Discussion
Issues to discuss:
 Do you think cost multipliers are
project phase dependent like
COCOMO’s detailed model
suggests?
 Is cost estimation only suitable for
the Waterfall lifecycle, or can it be
used with other life cycles, such as
incremental?
CSE 4310/5392 30
Questions / Discussion
Issues to discuss:
 Your cost estimate uses three
methods which return widely
varying results? How do you
determine which method is right?
 What methods or models have you
seen used in the workplace? How
successful were they?
CSE 4310/5392 31
Questions / Discussion
Issues to discuss:
 Is it possible to estimate the size
using soft requirements?

CSE 4310/5392 32

You might also like