|
COnstructive COst MOdel (COCOMO)
(Taken from ''Software Engineering Economics'' by Barry Boehm, Prentice-Hall,
1981)
Basic formulas:
MM = 2.4(KDSI)1.05
TDEV = 2.5(MM)0.38
Definitions:
MM: Man-Month
TDEV: Total DEVelopment time in months.
KDSI: Thousands of Delivered Source Instructions
Assumptions:
1. Everything is driven by Delivered Source Instructions (DSI). It
excludes non-delivered support software. Source instructions include all
program instructions created by project personnel. It excludes comments
and unmodified utility software.
2. The period estimated by COCOMO begins at the completion of the software
requirements review and ends with integration testing.
3. Cost estimates include management and documentation, but exclude
training, installation and conversion planning.
4. Includes all direct charged labor for people like project managers
and program librarians, but excludes computer operators, secretaries, higher
management, janitors, for example.
5. A COCOMO man-month consists of 152 hours.
6. COCOMO assures that requirements will not change substantially, though
some refinements and reinterpretations are inevitable.
7. Costs are usually phase dependent thought the most simple COCOMO
model ignores this. For example, an average man-month might cost £7500
for the plans, requirements and product design, £6000 for detailed
design, coding and unit testing, and £7500 for the integration-and-test
and maintenance phases.
Basic COCOMO Effort and Schedule Equations
| Mode |
Effort
(MM) |
Schedule
(TDEV) |
| Organic |
2.4(KDSI)1.05 |
2.5(MM)0.38 |
| Semidetached |
3.0(KDSI)1.12 |
2.5(MM)0.35 |
| Embedded |
3.6(KDSI)1.20 |
2.5(MM)0.32 |
Characteristics of organic mode: Little communication overhead
- stand alone product Generally stable development environment Minimal
need for innovative arch or algorithms Relatively low premium on early
completion
Characteristics of semidetached mode: Basically how tightly coupled
the new software is with existing software, But so may mean: Mixture of
organic and embedded mode characteristics Or Team have an intermediate
level of experience with related systems Team has a wide mixture of experienced
and inexperienced people Team have experience related to some aspects of
project but not others
Characteristics of embedded mode: Software tightly coupled with
existing software and among newly developed components Also the product
will have to absorb more changes.
The Intermediate COCOMO Effort
and Schedule Equations
The Intermediate model uses an Effort Adjustment Factor (EAF)
for the Effort equation. Slightly different coefficients are also used
in the equations.
| Mode |
Effort
(MM) |
| Organic: |
Effort = EAF * 3.2 * (KDSI)1.05 |
| Semidetached: |
Effort = EAF * 3.0 * (KDSI)1.12 |
| Embedded: |
Effort = EAF * 2.8 * (KDSI)1.20 |
The EAF (Effort Adjustment Factor) is simply the product
of the Effort Multipliers corresponding to each of the cost drivers for
your project.
The Intermediate model produces better results because you supply settings
for 15 Cost Drivers that determine the effort and duration of software
projects. The Cost Drivers include factors such as Product Complexity,
Programmer Capability, and "Use of Software Tools". The table lists the
cost drivers used in the standard COCOMO model and the Effort Multipliers
associated with different ratings.
Example:
If your project is rated Very High for Complexity (Effort Multiplier
of 1.30), and Low for Tools Use (Effort Multiplier
of 1.10), and all of the other cost drivers
are rated to be Nominal, these Effort Multipliers are used to calculate
the Effort Adjustment Factor, which is used in the effort equation:
-
Effort = EAF * 3.2 * 31.05
EAF = 1.30
* 1.10 = 1.43
Effort = 1.43 * 3.2 * 31.05 =
14.5 MM
-
Schedule TDEV = 2.5 * 14.50.38 = 6.9 Months
-
STAFFING (Effort / TDEV):
= 14.5MM
/ 6.9Months = 2.1 people
-
Productivity ( DSI / MM ): Assuming project size is 2000 lines
of code.
2000 / 14.5 = 138 DSI per Person / Month
Software Engineering Economics defines each of the cost drivers,
and defines the Effort Multiplier associated with each rating.
The following characteristics are factors that should be multiplied
by the MM calculation:
| |
Ratings
|
|
Cost Driver
|
Very
Low
|
Low
|
Nominal
|
High
|
Very
High
|
Extra
High
|
|
Product Attributes
|
|
|
|
|
|
|
|
RELY Required software reliability
|
.75
|
.88
|
1.00
|
1.15
|
1.4
|
|
|
DATA Data base size
|
|
.94
|
1.00
|
1.08
|
1.16
|
|
|
CPLX Product Complexity
|
.70
|
.85
|
1.00
|
1.15
|
1.30
|
1.65
|
| |
|
|
|
|
|
|
|
Computer Attributes
|
|
|
|
|
|
|
|
TIME Execution time constraint
|
|
|
1.00
|
1.11
|
1.3
|
1.66
|
|
STOR Main storage constraint
|
|
|
1.00
|
1.06
|
1.21
|
1.56
|
|
VIRT Virtual machine volatility
|
|
.87
|
1.00
|
1.07
|
1.15
|
|
|
TURN Computer turnaround time
|
|
.87
|
1.00
|
1.07
|
1.15
|
|
| |
|
|
|
|
|
|
|
Personnel Attributes
|
|
|
|
|
|
|
|
ACAP Analyst capability
|
1.46
|
1.19
|
1.00
|
.86
|
.71
|
|
|
AEXP Application experience
|
1.29
|
1.13
|
1.00
|
.91
|
.82
|
|
|
PCAP Programmer capability
|
1.42
|
1.17
|
1.00
|
.86
|
.70
|
|
|
VEXP Virtual machine experience
|
1.21
|
1.10
|
1.00
|
.90
|
|
|
|
LEXP Programming lang. experiences.
|
1.14
|
1.07
|
1.00
|
.95
|
|
|
| |
|
|
|
|
|
|
|
Project Attributes
|
|
|
|
|
|
|
|
MODP Use of modern prog. practices
|
1.24
|
1.10
|
1.00
|
.91
|
.82
|
|
|
TOOL Use of software tools
|
1.24
|
1.10
|
1.00
|
.91
|
.83
|
|
|
SCED Required development schedule
|
1.23
|
1.08
|
1.00
|
1.04
|
1.10
|
|
The Intermediate model also produces better results than the Basic model
because the system can be divided into "components". DSI values and Cost
Drivers can be chosen for individual components, instead of for the system
as a whole. COCOMO can estimate the staffing, cost, and duration of each
of the components -- allowing you to experiment with different development
strategies, to find the plan that best suits your needs and resources.
Fill in the worksheet!
PROJECT PHASE 1: WORKSHEET
TEAM MEMBERS:
__________________________________________________________
__________________________________________________________
__________________________________________________________
1. What Mode is your project: Organic, Semidetached, or Embedded
Why?
2. Choose the rating factor for each of the following COCOMO attributes
and explain why you made the choice.
| DRIVER |
RATING |
WHY? |
| RELY |
|
|
| DATA |
|
|
| CPLX |
|
|
| TIME |
|
|
| STOR |
|
|
| VIRT |
|
|
| TURN |
|
|
| ACAP |
|
|
| AEXP |
|
|
| PCAP |
|
|
| VEXP |
|
|
| LEXP |
|
|
| MODP |
|
|
| TOOL |
|
|
| SCED |
|
|
3. Using the Intermediate Model show your calculations for EFFORT: (show
all factors from above)
4. Show your calculations for PRODUCTIVITY
5. Show your calculations for SCHEDULE
6. Show your calculations for STAFFING
7. Show your calculations for total amount billed
8. Describe any problems, if any, with your conclusions: (time, expertise,
etc.)
|