COCOMO for Cost Estimation
Transcript of COCOMO for Cost Estimation
-
8/10/2019 COCOMO for Cost Estimation
1/26
COCOMO for Cost Estimation
-
8/10/2019 COCOMO for Cost Estimation
2/26
The Standish Group Example
The Standish Groups reports on projectmanagement chaos contain some of the mostrespected statistics about software project failures.According to the Standish group, the average projectexceeds its budget by 90%, and its schedule by 120%.Furthermore, over 30% of projects are cancelledbefore completion. In the United States alone, thisrepresents about $100 billion in wasted money per
year. (http://www.standishgroup.com)
http://www.standishgroup.com/http://www.standishgroup.com/ -
8/10/2019 COCOMO for Cost Estimation
3/26
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.
-
8/10/2019 COCOMO for Cost Estimation
4/26
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 inperson-monthsmostly.
-
8/10/2019 COCOMO for Cost Estimation
5/26
From Effort to Money
1. Find the average salaryin the company.
2. Calculate the weighted average costbymultiplying the average salary by a weight,
determined from the expenses onemployees (the number is usually between 2and 3).
3. Cost of the project = effort * weightedaverage cost
-
8/10/2019 COCOMO for Cost Estimation
6/26
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
-
8/10/2019 COCOMO for Cost Estimation
7/26
Organic
In the organic mode, relatively small software teamsdevelop software in a highly familiar, in-houseenvironment. Most people connected with theproject have extensive experience in working withrelated systems within the organization, and have athorough understanding of how the system underdevelopment will contribute to the organizationsobjectives. Very few organic-mode projects have
developed products with more than 50 thousanddelivered source instructions (KDSI).
-
8/10/2019 COCOMO for Cost Estimation
8/26
Semidetached
The semidetached mode of software developmentrepresents an intermediate stage between theorganic 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 modecharacteristics.
The size range of a semidetached modeproduct generally extends up to 300 KDSI.
-
8/10/2019 COCOMO for Cost Estimation
9/26
Embedded
The major distinguishing factor of anembedded-mode software project is a need tooperate within tight constraints. The product
must operate within (is embedded in) astrongly coupled complex of hardware,software, regulations, and operationalprocedures, such as an electronic funds
transfer system or an air traffic control system.
-
8/10/2019 COCOMO for Cost Estimation
10/26
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
-
8/10/2019 COCOMO for Cost Estimation
11/26
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 asignificant influence on software costs.
-
8/10/2019 COCOMO for Cost Estimation
12/26
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
-
8/10/2019 COCOMO for Cost Estimation
13/26
Intermediate COCOMO
The Intermediate COCOMO estimates the softwaredevelopment effort by using 15 cost driver variablesbesides the side variable used in Basic COCOMO.
The Intermediate COCOMO can be applied across theentire software product for easily and roughly costestimation during the early stage, or be applied atthe software product component level for moreaccurate cost estimation in more detailed stages.
-
8/10/2019 COCOMO for Cost Estimation
14/26
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.
-
8/10/2019 COCOMO for Cost Estimation
15/26
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
-
8/10/2019 COCOMO for Cost Estimation
16/26
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.
-
8/10/2019 COCOMO for Cost Estimation
17/26
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.
-
8/10/2019 COCOMO for Cost Estimation
18/26
EAF Features
Personal attributes
Analyst capability(ACAP)The level of capability of the analystsworking on a software product.
Applications experience(AEXP)The level of applicationsexperience of the project team developing the software product.
Programmer capability(PCAP)The level of capability of theprogrammers working on the software product.
Virtual machine experience(VEXP)The level of virtual machineexperience of the project team developing the product.
Programming language experience(LEXP)The level of
programming language experience of the project team developingthe product.
-
8/10/2019 COCOMO for Cost Estimation
19/26
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.
-
8/10/2019 COCOMO for Cost Estimation
20/26
EAF Rating
Cost Dr ivers Very Low Low Nominal H igh Very H igh Extr a H igh
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
TIME 1.00 1.11 1.30 1.66
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
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
-
8/10/2019 COCOMO for Cost Estimation
21/26
An Example
Project B is in embedded mode and estimated to be10,000 delivered source instructions in length. ItsEAF is as:
Cost Drivers
RELY 1.15
DATA 0.94
CPLX 1.30
TIME 1.11
STOR 1.06
VIRT 1.00
TURN 1.00
ACAP 0.86
AEXP 1.00
PCAP 0.86 VEXP 1.10
LEXP 1.00
MODP 0.91
TOOL 1.10
SCED 1.00
-
8/10/2019 COCOMO for Cost Estimation
22/26
An Example
Nominal Effort = 2.8*(10)^1.20 = 44 person-
months
The product of the multipliers = 1.15**1.00
= 1.35
The estimated effort = 1.35*44 = 59 person-
months
-
8/10/2019 COCOMO for Cost Estimation
23/26
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 thesoftware 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 subsystemlevel.
-
8/10/2019 COCOMO for Cost Estimation
24/26
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.
-
8/10/2019 COCOMO for Cost Estimation
25/26
Detailed COCOMO
The Detailed COCOMO uses the same equations forestimation as the Intermediate COCOMO.
Detailed Model uses a very complex procedure to estimatethe cost of the product. The procedure uses the DSIs for
subsystems and modules, and module level and subsystemlevel effort multipliers as inputs.
The Detailed COCOMO can estimate the staffing, cost, andduration of each of the development phases, subsystems,modulesallowing you to experiment with different
development strategies, to find the plan that best suits yourneeds and resources.
-
8/10/2019 COCOMO for Cost Estimation
26/26
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 theusers 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.