Title: GEF 492'14 COCOMO II
1GEF 492.14COCOMO II
Royal Military College of Canada Electrical and
Computer Engineering
- Dr. Terry Shepard
- shepard_at_rmc.ca
- 1-613-541-6000 ext. 6031
Other sources - van Vliet, 7.3.6 - other
professors at RMC
2COCOMO II
- COnstructive COst MOdel
- We will consider the Post-Architecture submodel
- Estimation requires detail that is only available
at the post architecture stage - There are also Application Composition and Early
Design submodels in COCOMO II)
3COCOMO is an algorithmic model
- COnstructive COst Model
- e.g. effort ?(x1, x2,... xn)
- Why use an algorithmic model?
- Gives a firm basis for planning
- makes a more believable case to management,
customers when a proposal is unrealistic - Allows for sensitivity analysis
- Gives a plan with which to judge progress
- Is a basis for keeping plans up to date
4COCOMO History
- The original COCOMO is introduced in Dr. Barry
Boehm's textbook Software Engineering Economics.
This model is now generally called "COCOMO 81 - Early papers describing COCOMO II published
- The first calibration of COCOMO II is released by
Dr. Boehm, and named "COCOMO II.1997 - The book Software Cost Estimation with COCOMO II
(Dr. Barry Boehm, et al) is published to document
how to apply the latest estimation model. - Most of Boehms original book on Software
Engineering Economics is still applicable to
modern software projects.
5COCOMO II assumptions
- primary cost driver kDSI (1000s delivered source
instructions) - may be different from the total kSLOC (1000s
source LOC ) developed - cost estimates limited to
- direct development activities (similar to the
calculation of velocity ) - direct charged labour includes analysts, PM,
designers - estimates are in terms of person months, so
conversion to s can be fully burdened, not
burdened, or somewhere in between - customer developer play well together
- need an architecture that is stable
- Factors are not manipulated or misunderstood. 5
types
Scaling Factors Product Factors Platform Factors
Personnel Factors Project Factors
6Fundamental Logic
Early Design Post Architecture
The work required to build the system measured in
person-months
The time required to build the system measured in
months
Some measure of the size of the system
Multiplier
Exponent
- Staffing Effort/Duration or does it?
7Effort
- Measure effort in Person Months
- PMNS a x ( ?i1..17 EMi ) x Size b
- where
- a 2.94 (calibrated from 161 projects)
- b 1.01 0.01 x S SFj
- EMi - effort multipliers (i 1 to 17 range from
.75 1.67) - SFj - exponential scale factors (j 1 to 5
range from 0 - 5) - NS - implies nominal schedule
8Exponential Scale Factors
- PREC Precedentedness
- FLEX Development flexibility
- RESL Architecture/risk resolution
-
- TEAM Team cohesion
- PMAT Process Maturity
(See handouts)
9Scaling Factors each range from 0 to 5
- cause an exponential cost increase
10Scaling Factors
11Effort Multipliers
- Product Factors
- RELY Reliability Required
- DATA Database Size
- CPLX Product Complexity
- RUSE Required Usability
- DOCU Documentation Needs
- Platform Factors
- TIME Execution time constraints
- STOR Main storage constraints
- PVOL Platform volatility
- Personnel Factors
- ACAP Analyst capability
- PCAP Programmer capability
- APEX Application experience
- PLEX Platform experience
- LTEX Language tool exp
- PCON Personnel continuity
- Project Factors
- TOOL Use of software tools
- SITE Multi-site development
- SCED Req Development schedule
12Effort Multipliers
13Effort Multipliers
14Effort Multipliers
15Effort Multipliers
16Effort Multipliers (Post-Architecture)
every 1 mo.
17Effort Multipliers (Post-Architecture)
18Calibration
- The values of all of the factors are derived from
real projects - context of those projects matters
- The resulting model produces estimates within
30 of the actuals 52 of the time for effort. - Calibrating the COCOMO II Post-Architecture
Model, Bradford Clark, Sunita Devnani-Chulani and
Barry W. Boehm, International Conference on
Software Engineering, 1998, pp. 477-480
19What is the maximum variation?
- PMNS a x ? EMi x Size (1.01 0.01 x S SF
)
j
0.14 to 346
1.01 to 1.26
for 1000kSLOC
10001.01 1071 10001.26 6900
.14 x 1000 140
346 x 1000 346,000
An eleven year project requiring 346,000 PMs
means an average staffing level of 2621
persons -not clear that the model is accurate at
the extremes
20Aside
Exponential Scale Factor
kLOC1.26
Estimated Effort Required
kLOC1.13
kLOC1.01
1000
5000
Where are most University projects on this scale?
Size of Program in kLOC
21Development Time
- assume nominal schedule
schedules can be compressed stretched (75 -
160) -
- time TDEV c x (PMNS)d
- where
- c 3.67
- d 0.28 0.2 x b - 1.01
- b 1.01 0.01 x S SFj (j 1 to 5)
22Wait a sec...
If total effort in person months is
What is this?
TDEV c x (PMNS)d
Turns out there is also an optimal development
time (which is also based on project size and
other factors)
Now can calculate staff required
Notes Staffing curve is not flat
COCOMO II assumes 152 person hours/month
23Compress/stretch schedules
- What if it has to be faster?
- What if it can be slower?
Going faster increases effort
Nominal
Going slower does nothing!
24What else can we do?
- Option analysis
- eg. What is the effect of hiring more skilled
workers? - eg. What is the effect of contracting out a
portion? - example in next few slides simplified analysis
of the tradeoff between keeping development at
multiple locations vs. renting new office space
so everyone can work in the same location
25Example
26Sample Option Analysis
- 20kSLOC
- all factors are nominal except staffing which is
at multiple locations - Question if cost per staff is 6000 per month,
and new facilities will cost 10000 per month, is
it worthwhile to move to the new facilities?
27Sample Option Analysis
- PMNS 2.94 x 1.25 x 20 (1.16) 118.7 PM
- TDEV 3.67 x (PMNS).31 17 months
- Staffing 8.34 9 pers
- Total cost 17 9 6000 918,000
28Sample Option Analysis
- PMNS 2.94 x 20 (1.16) 94.96 PM
- TDEV 3.67 x (PMNS).31 15 months
- Staffing 6.37 7 pers
- Total cost 15 7 6000 630,000
cost of new facilities - 1510,000 150,000
-------------- - 780,000
- Savings of 138,000, less the cost of the move