Vous êtes sur la page 1sur 26

COCOMO for Cost Estimation

The Standish Group Example


The Standish Groups reports on project
management chaos contain some of the most
respected statistics about software project failures.
According to the Standish group, the average project
exceeds its budget by 90%, and its schedule by 120%.
Furthermore, over 30% of projects are cancelled
before completion. In the United States alone, this
represents about $100 billion in wasted money per
year. (http://www.standishgroup.com)

General
Accurately forecasting how much time and
effort it will take to develop a system, or to
take a specific set of changes is one of the
biggest challenges in SE.
Although a lot of projects underestimated the
cost they needed, cost estimation is still
necessary for a new project.

Types of Cost
Time: The difference in time from the start
date to the end date of a project. This is
called elapsed time.
Effort: Also called development effort. This is
the amount of labor needed for a project.
Effort is expressed in person-months mostly.

From Effort to Money


1. Find the average salary in the company.
2. Calculate the weighted average cost by
multiplying the average salary by a weight,
determined from the expenses on
employees (the number is usually between 2
and 3).
3. Cost of the project = effort * weighted
average cost

COCOMO
Constructive Cost Model (COCOMO) proposed
by Barry Boehm.
It is a cost estimation model that considers the
complexity of a project:
Organic
Semidetached
embedded

Organic
In the organic mode, relatively small software teams
develop software in a highly familiar, in-house
environment. Most people connected with the
project have extensive experience in working with
related systems within the organization, and have a
thorough understanding of how the system under
development will contribute to the organizations
objectives. Very few organic-mode projects have
developed products with more than 50 thousand
delivered source instructions (KDSI).

Semidetached
The semidetached mode of software development
represents an intermediate stage between the
organic and embedded modes. "Intermediate"
may mean either of two things:
1.An intermediate level of project characteristic.
2.A mixture of the organic and embedded mode
characteristics.

The size range of a semidetached mode


product generally extends up to 300 KDSI.

Embedded
The major distinguishing factor of an
embedded-mode software project is a need to
operate within tight constraints. The product
must operate within (is embedded in) a
strongly coupled complex of hardware,
software, regulations, and operational
procedures, such as an electronic funds
transfer system or an air traffic control system.

Basic COCOMO
Basic COCOMO model estimates the software
development effort using only a single
predicator variable (size in DSI) and three
software development modes.
Development Mode

Effort Equation

Schedule Equation

Organic

E=2.4*(KDSI)^1.05

TDEV=2.5*(E)^0.38

Semidetached

E=3.0*(KDSI)^1.12

TDEV=2.5*(E)^0.35

Embedded

E=3.6*(KDSI)^1.20

TDEV=2.5*(E)^0.32

Basic COCOMO
Basic COCOMO is good for quick, early, rough
order of magnitude estimates of software
costs, but its accuracy is necessarily limited
because of its lack of factors which have a
significant influence on software costs.

An Example
Project A is to be a 32,000 DSI semi-detached
software. Then we can estimate:
Effort = 3.0*(32)^1.12 = 146 person months
Productivity = 32,000 DSI/ 146 PM = 219 DSI/PM
Schedule = 2.5*(146)^0.35 = 14 months
Average staffing = 146 pm/ 14 months = 10
Persons

Intermediate COCOMO
The Intermediate COCOMO estimates the software
development effort by using 15 cost driver variables
besides the side variable used in Basic COCOMO.
The Intermediate COCOMO can be applied across the
entire software product for easily and roughly cost
estimation during the early stage, or be applied at
the software product component level for more
accurate cost estimation in more detailed stages.

Intermediate COCOMO
The Intermediate COCOMO uses an Effort
Adjustment Factor (EAF) and slightly different
coefficients for the effort equations than the
Basic COCOMO.
The EAF is simply the product of the Effort
Multipliers corresponding to each of the cost
drives for the target product.

Intermediate COCOMO
Development Mode Effort Equation

Schedule Equation

Organic

E=EAF*3.2*(KDSI)^1.05

TDEV=2.5*(E)^0.38

Semidetached

E=EAF*3.0*(KDSI)^1.12

TDEV=2.5*(E)^0.35

Embedded

E=EAF*2.8*(KDSI)^1.20

TDEV=2.5*(E)^0.32

EAF Features
Product attributes
Required software reliability(RELY)The extent to
which the software product must perform its intended
functions satisfactorily over a period of time.
Database size(DATA)The degree of the total amount
of data to be assembled for the database.
Product complexity(CPLX)The level of complexity of
the product to be develop.

EAF Features
Computer attributes
Execution time constraint(TIME)The degree of the execution
constraint imposed upon a software product.
Main storage constraint(STOR)The degree of main storage
constraint imposed upon a software product.
Virtual machine volatility(VIRT)The level of the virtual machine
underlying the product to be developed.
Computer turnaround time(TURN)The level of computer
response time experienced by the project team developing the
product.

EAF Features
Personal attributes
Analyst capability(ACAP)The level of capability of the analysts
working on a software product.
Applications experience(AEXP)The level of applications
experience of the project team developing the software product.
Programmer capability(PCAP)The level of capability of the
programmers working on the software product.
Virtual machine experience(VEXP)The level of virtual machine
experience of the project team developing the product.
Programming language experience(LEXP)The level of
programming language experience of the project team developing
the product.

EAF Features
Project attributes
Use of modern programming practices(MODP)The
degree to which modern programming practices are
used in developing software product.
Use of software tools(TOOL)The degree to which
software tools are used in developing the software
product.
Required development schedule(SCED)The level of
schedule constraint imposed upon the project team
developing the software product.

EAF Rating
Cost Drivers

Very Low

Low

Nominal

High

Very High

RELY

0.75

0.88

1.00

1.15

1.40

0.94

1.00

1.08

1.16

0.85

1.00

1.15

1.30

1.65

TIME

1.00

1.11

1.30

1.66

STOR

1.00

1.06

1.21

1.56

DATA
CPLX

0.70

VIRT

0.87

1.00

1.15

1.30

TURN

0.87

1.00

1.07

1.15

ACAP

1.46

1.19

1.00

0.86

0.71

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

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

Extra High

An Example
Project B is in embedded mode and estimated to be
10,000 delivered source instructions in length. Its
EAF is as:
Cost Drivers

RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED

1.15
0.94
1.30
1.11
1.06
1.00
1.00
0.86
1.00
0.86
1.10
1.00
0.91
1.10
1.00

An Example
Nominal Effort = 2.8*(10)^1.20 = 44 personmonths
The product of the multipliers = 1.15**1.00
= 1.35
The estimated effort = 1.35*44 = 59 personmonths

Detailed COCOMO
The Detailed COCOMO differs from the Intermediate
COCOMO in two aspects:
Phase sensitive effort multipliers
The effort multipliers for every cost drivers are different during the
software development phases. These multipliers are used to
determine the amount of effort required to complete each phase.

The Module-Subsystem-System Hierarchy


The Software product is estimated in the three level hierarchical
decomposition. The 15 EAF are related to module or subsystem
level.

Detailed COCOMO
Module Level Cost Drivers
CPLX, PCAP, VEXP, LEXP

Subsystem Level Cost Drivers


RELY, DATA, TIME, STOR, VIRT
The subsystem level cost drivers vary from
subsystem to subsystem, but tend to be the same
for all the modules within a subsystem.

Detailed COCOMO
The Detailed COCOMO uses the same equations for
estimation as the Intermediate COCOMO.
Detailed Model uses a very complex procedure to estimate
the cost of the product. The procedure uses the DSIs for
subsystems and modules, and module level and subsystem
level effort multipliers as inputs.
The Detailed COCOMO can estimate the staffing, cost, and
duration of each of the development phases, subsystems,
modulesallowing you to experiment with different
development strategies, to find the plan that best suits your
needs and resources.

Summary for COCOMO


All the cost models are adjunct to, not substitute for,
a detailed estimate by task by the project
management.
All the cost estimation models highly depends on the
users knowledge of application domain, analysis
ability and understanding of the cost model itself.
The process of meeting the estimate is equally
critical to the process of making the estimate.

Vous aimerez peut-être aussi