Software Cost Estimation with COCOMO II

COCOMO II/Chapter 5 figures/Boehm et al.
Step 1: Assess Application Counts: estimate the number of screens, reports, and 3GL components that will
comprise this application. Assume the standard definitions of these elements in your ICASE environment.
Step 2:
Classify each element instance into simple, medium and difficult complexity levels depending on
values of characteristic dimensions. Use the following scheme:
Numbe
r of
Views
contai
ned
<3
3-7
>8
Step 3:
For Screens
# and source of data tables
Total<4
Total<8
Total 8+
(<2srvr< (2/3 srvr (>3 srvr
3clnt)
3-5 clnt)
>5 clnt)
simple
simple
medium
simple
medium
difficult
medium
difficult
difficult
Number of
Sections
contained
0-1
2 or 3
4+
For Reports
#and source of data tables
Total<4
Total<8
Total 8+
(<2srvr< (2/3 srvr (>3 srvr
3clnt)
3-5 clnt)
>5 clnt)
simple
simple
medium
simple
medium
difficult
medium
difficult
difficult
Weigh the number in each cell using the following scheme. The weights reflect the relative effort
required to implement an instance of that complexity level:
Element Type
Screen
Report
3GL Component
Simple
1
2
Complexity-Weight
Medium
2
5
Difficult
3
8
10
Step 4: Determine application Points: add all the weighted element instances to get one number, the Application
Point count.
Step 5:
Estimate percentage of reuse you expect to be achieved in this project. Compute the New
Application Points to be developed, NAP=(Application Points) (100-%reuse)/100.
Step 6:
Determine a productivity rate, PROD=NAP/person-month, from the following scheme.
Developers’ experience and capability
ICASE maturity and capability
PROD
Step 7:
Very Low
Very Low
4
Low
Low
7
Nominal
Nominal
13
High
High
25
Very High
Very High
50
Compute the estimated person-months: PM=NAP/PROD.
Figure 5.1. Baseline Application Point Estimation Procedure
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Activity levels over time
PS
Activities
Phases
Process Components
LCO
LCA
Inception Elaboration
PR
IOC
Construction
Transition
Requirements Capture
Analysis & Design
Organization
along
content
Implementation
Test
Supporting Components
Management
Environment
Deployment
preliminary
iteration(s)
iter.
#1
iter.
#2
iter.
#n
iter. iter.
#n+1 #n+2
iter.
#m
Iter.
#m+1
Iterations
.
Figure 5.2. Activity levels
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.3 COCOMO II Schedule Estimate vs. COPSEMO Schedule Estimate
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
CoSSEMo Months as F(PM)
16.00
~3*cube-root
(COCOMO II)
Months M
12.00
8.00
Square root
;;
4.00
Effort PM
0.00
0
16
32
48
64
80
96
112
CII-M [Cube Root]
COSSEMO-M
M [Square Root]
Figure 5.4 COCOMO II Schedule Estimate vs. COPSEMO Schedule Estimate
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
.
COCOMO II
Drivers
Phase
Distributions
COCOMO
II.2000
(COPSEMO)
Baseline Effort & Schedule
and SCED driver & SCED%
Schedule calculated; SCED removed;
PM & M distributed per phase
Figure 5.5 COPSEMO Logical Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Export (to COCOMO.xls)
including cost drivers
COCOMO
II.2000
E%phase & S%phase
User Input
Phase
Distributions
COCOMO.xls
(COPSEMO.xls)
Baseline Effort & Schedule
and SCED driver & SCED%
via links back to COCOMO.xls
Schedule calculated; SCED removed;
PM & M distributed per phase
Figure 5.6 COPSEMO Physical Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.7 Both pages of the COPSEMO Implementation in a spreadsheet
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.8 2nd page of the COPSEMO Implementation for 2000 SLOC
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.9 2nd page of the COPSEMO Implementation for 4700 SLOC
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.10 2nd page of the COPSEMO Implementation for (8M) SLOC
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.11 2nd page of the COPSEMO Implementation for (12M) SLOC
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Hierarchy of COCOMO Dynamism
static
n=1
n=1
n=4
Intermediate
COCOMO
cost driver rating
effort multiplier
R
PD
DD&C
I&T
n=1
n=4
n=4
Detailed
COCOMO
“Dynamic”
or
“Continuous”
COCOMO
dynamic
staffing profile
R
PD
DD&C
n= # of time intervals
evaluated at
I&T
n= tFINAL/DT
n= tFINAL /DT
n= tFINAL /DT
R
PD
DD&C
I&T
Figure 5.12. Hierarchy of COCOMO Dynamism
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.13. Sample Interface to Dynamic COCOMO
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Business process reengineering - O
Development process reengineering - DPRS
Reusing assets - RVHL
Applications generation - RVHL
Design-to-schedule - O
Eliminating Tasks
Reducing Time Per Task
Tools and automation - O
Work streamlining (80-20) - O
Increasing parallelism - RESL
Reducing Single-Point Failure Risks
Reducing failures - RESL
Reducing their effects - RESL
Reducing Backtracking
Early error elimination - RESL
Process anchor points - RESL
Improving process maturity - O
Collaboration efficiency - CLAB
Activity Network Streamlining
Increasing Effective Workweek
Better People and Incentives
Transition to Learning Organization
Minimizing task dependencies - DPRS
Avoiding high fan-in, fan-out - DPRS
Reducing task variance - DPRS
Removing tasks from critical path - DPRS
Prepositioning resources - PPOS
Nightly builds, testing - PPOS
Weekend warriors, 24x7 development - PPOS
- constraint
-O
O: covered by classic cube root model
Figure 5.14 Annotated RAD Opportunity Tree
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
COCOMO II
Drivers
Phase
Distributions
COCOMO
II.2000
(COPSEMO)
Baseline Effort & Schedule
and SCED driver & SCED%
Schedule calculated; SCED removed;
PM & M distributed per phase
Figure 5.15 COPSEMO Logical Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
RVHL
DPRS
CLAB
RESL
COCOMO II
cost drivers
(except SCED)
COPSEMO
distributions
and "drivers"
like SCED.
COCOMO II
Baseline
effort,
PPOS
schedule
Phase
Distributions
Effort,
RAD
Extension
schedule
by phase
RAD adjusted
effort and
schedule by
phase
Figure 5.16 RAD Extension Logical Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Situations
Staffing Level
Impact
(a) Good RESL
conventional staffing
Schedule (M) = S_COPSEMO
same effort
(b) Good RESL higher
staffing
M < S_COPSEMO
more effort in Construction
(via RESL rating)
(c) Poor RESL higher
staffing
M => S_COPSEMO
Effort (E_COPSEMO) higher
due to poor RESL
Figure 5.17 Staffing and RESL
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Export (to COCOMO.xls)
including cost drivers
COCOMO
II.2000
E%phase & S%phase
User Input
Phase
Distributions
COCOMO.xls
(COPSEMO.xls)
Baseline Effort & Schedule
and SCED driver & SCED%
via links back to COCOMO.xls
Schedule calculated; SCED removed;
PM & M distributed per phase
Figure 5.18 COPSEMO Physical Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
RVHL
COCOMO
II.2000
COCOMO II
cost drivers
DPRS
CLAB
Export (to COCOMO.xls)
including cost drivers
RESL
PPOS
RESL; Baseline
COCOMO.xls
effort,schedule
User Input
E%phase & S%phase
Baseline Effort &
Schedule, SCED driver &
SCED% via links back to
COCOMO.xls
Phase
Distributions
RAD
Extension
(CORADMO tab of
CORADMO.xls)
(COPSEMO tab of
CORADOM.xls)
Schedule recalculated; SCED removed;
PM & M distributed per phase; all via
links to COPSEMO (tab) worksheet.
RAD effort,
schedule
by stage
Figure 5.19 CORADMO Physical Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.20 Page 1 of CORADMO Spreadsheet (worksheet) implementation
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.21 Page 2 of CORADMO Spreadsheet (worksheet) implementation
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.22 COCOMO II modeled effort sources
Figure 5.22 - the determinants of a feasible COTS solution.
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.23 COCOMO II modeled effort sources
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.24 COCOTS modeled effort sources
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.25 the Assessment sub-model.
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.26 the Tailoring sub-model.
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.27 scope of Glue Code.
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.28 the Glue Code sub-model.
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Approximate Model:
Total Effort = (Application Effort)
[
BRAK COTS
100
]•
(EAF)
COTS
Detailed Model with COCOMO II Parameters:
Total Effort = (Application Effort)
[(
1+ BRAK COTS
1+BRAK
)
1.01+ 
]•
-1
(EAF)
COTS
BRAK COTS: % application code breakage due to COTS volatility
BRAK
: % application code breakage otherwise

: COCOMO II scale factor
EAF
: Effort Adjustment Factor (product of effort multipliers)
Figure 5.29 the Volatility sub-model.
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.30. The Software Defect Introduction and Removal Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.31. The Defect Introduction Sub-Model of COQUALMO
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
RUSE
STOR
TIME
DATA
ACAP
AEXP
PEXP
DOCU
SITE
TEAM
SCED
LTEX
PVOL
PREC
TOOL
PCON
PCAP
CPLX
RESL
RELY
PMAT
1.00
1.20
1.40
1.60
1.80
2.00
2.20
2.40
2.60
Figure 5.32. Coding Defect Introduction Ranges
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.33. The Defect Removal Sub-Model of COQUALMO
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.34. The Cost/Schedule/Quality Model: COQUALMO Integrated with
COCOMO II
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Driver
Values
COCOMOII
COPSEMO
CORADMO
COPROMO
Graphing
CORADMO Drivers
Figure 5.35 A Logical Model of COPROMO
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
COPROMO Activity Model
05/13/99 @
08:39
Select domain and
prototypical application
Completed
Project
COCOMOII
Data
Technology
Advancement
Benchmark current
developments in domain
[evaluations OK]
OR [What-Ifing]
[Done]
Select time-frame and
technologies
COCOMOII &
CORADMO
Driver Values
Over Time
COCOMOII &
CORADMO
evaluations
over time
Figure 5.36 COPROMO Activity Model
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
COPROMO Concept of Operations
Select representative
corporate application
Formulate set of
productivity strategies
Prepare current
COCOMO II, CORADMO
factor ratings for application
User
COPROMO
Estimate current efffort and
schedule for application
06/24/99 @ 11:35
Select set of
future
dates
For each strategy and future date,
prepare expected future COCOMO
II, CORADMO factor ratings
For each strategy and future date,
estimate expected future effort and
schedule for application
Summarize, display time histories of
expected
effort
& schedule for each productivity
strategy
Figure 5.37 COPROMO Activities based on a Concept of Operations
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
COCOMO-II
Driver value
per strategy
over time
RAD Driver
value per
strategy over
time
with rationale
with rationale
CORADMO
~~~~~~~~~~
Inception
COCOMO II
for single time
and strategy
++++++++++
Elaboration
Impact
Charts
++++++++++
Construction
Impact
Charts
==========
Totals
Figure 5.38 Evaluator logical structure
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
CP
LX
AC
AP
PC
AP
T IM
E
PC
ON
RE
LY
SIT
E
DO
CU
AE
XP
TO
OL
PV
OL
ST
OR
PM
AT
SC
ED
LT
EX
DA
TA
PE
XP
RE
SL
PR
EC
RU
SE
TE
AM
FL
EX
0.5
1
1.5
2
COCOMO II/Chapter 5 figures/Boehm et al.
 Average Multiplier for 1990’s projects
Figure 5.39 Productivity multipliers
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.40 RESL: Architecture/Risk Resolution
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.41 TOOL: Use of Software Tools
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
KSLOC
SIZE
Baseline CD 8
100
60
15 KG 8
30
40
15 KD 8
15
60
15 K 8
30
40
15 E 8
15
35
15 EK 8
12
30
15
10
2015
2010
2005
2000
1995
0
20
40
CD
60
Scale Factor
KG
KD
K
80
E
100
120
EK
Figure 5.42 SIZE: KSLOC
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.43 RVHL: Resuse and Very High Language (Inception)
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.44 RVHL: Resuse and Very High Language (Elaboration)
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Ef f o r t
Effort
510 .0 0
50 5 .4 8
4 8 0 .0 0
4 5 0 .0 0
4 2 0 .0 0
3 9 0 .0 0
3 6 0 .0 0
3 3 0 .0 0
3 0 0 .0 0
2 7 0 .0 0
2 4 0 .0 0
210 .0 0
2 0 4 .5 5
18 0 .0 0
15 0 .0 0
12 0 .0 0
10 8 .8 3
9 0 .0 0
8 5 .6 6
6 6 .7 1
6 5 .7 6
6 0 .0 0
3 0 .0 0
2 1.5 1
16 .3 7
10 .9 0
0 .0 0
199 5
2000
2 0 05
CD
K
2 010
E
2 0 15
EK
Figure 5.45 Impact of Technologies on Software Effort or Cost
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
S c h e d u le
30
26.5
25
20
Months
15
11.4
10
5
RA D C
RA D K
RA D E
RA D E K
3.7
3.1
2.3
0
1995
2000
2005
2010
2015
Tim e
Figure 5.46 Impact of Technologies on Software Schedule
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
ATTRIBUTE 1
very low
extra high
very low
very high
high
moderate
ATTRIBUTE 2
very high
discretized
into
ATTRIBUTE 1
VERY LOW
LOW
NOMINAL
VERY LOW
LOW
ATTRIBUTE 2 NOMINAL
HIGH
VERY HIGH
HIGH
VERY HIGH EXTRA HIGH
MODERATE HIGH
VERY HIGH
MODERATE HIGH
MODERATE
Figure 5.47 Typical Assignment of Risk Levels
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Overall Project Risk
Schedule risk
Product risk
Platform risk
Personnel risk
Process risk
Reuse risk
SCED
sced_cplx
sced_rely
sced_time
sced_pvol
sced_tool
sced_acap
sced_aexp
sced_pcap
sced_vexp
sced_ltex
sced_pmat
sced_docu
sced_pcon
sced_site
sced_prec
sced_flex
sced_resl
sced_team
rely_data_sced
rely_stor_sced
cplx_time_sced
cplx_stor_sced
time_stor_sced
time_pvol_sced
sced_vexp_pcap
pvol_sced_pcap
ltex_aexp_sced
cplx_time_sced
cplx_stor_sced
time_stor_sced
time_pvol_sced
RELY
rely_acap
rely_pcap
rely_pmat
sced_rely
rely_data_sced
rely_stor_sced
rely_acap_pcap
prec_rely
resl_rely
ruse_rely
DATA
rely_data_sced
SIZE
size_pcap
CPLX
cplx_acap
cplx_acap_pcap
cplx_pcap
cplx_stor_sced
cplx_time_sced
cplx_tool
prec_cplx
sced_cplx
DOCU
docu_pcon
sced_docu
ruse_docu
site_docu
prec_docu
flex_docu
resl_docu
TIME
sced_time
time_pcap
time_acap
cplx_time_sced
time_stor_sced
time_pvol_sced
ruse_time
time_tool
prec_time
flex_time
resl_time
STOR
stor_acap
stor_pcap
ruse_stor
cplx_stor_sced
time_stor_sced
prec_stor
flex_store
resl_stor
PVOL
sced_pvol
pvol_vexp
pvol_sced_pcap
time_pvol_sced
pcon_pvol
prec_pvol
ACAP
acap_risk
cplx_acap
cplx_acap_pcap
pmat_acap
rely_acap
rely_acap_pcap
ruse_acap
sced_acap
stor_acap
time_acap
tool_acap
pcon_acap
prec_acap
resl_acap
AEXP
ltex_aexp_sced
ruse_aexp
sced_aexp
pcon_aexp
resl_aexp
team_aexp
LTEX
ltex_aexp_sced
sced_ltex
ruse_ltex
pcon_ltex
PCAP
pvol_sced_pcap
pmat_pcap
rely_pcap
cplx_pcap
TOOL
sced_tool
tool_acap
tool_pcap
cplx_tool
time_tool
tool_pmat
pcon_tool
site_tool
resl_tool
SITE
site_docu
site_tool
pcon_site
sced_site
prec_site
team_site
PREC
prec_flex
prec_rely
prec_cplx
prec_ruse
prec_docu
prec_time
prec_stor
prec_pvol
prec_acap
prec_pcap
prec_pcon
prec_site
sced_prec
resl_prec
RUSE
ruse_rely
ruse_aexp
ruse_ltex
ruse_acap
ruse_time
ruse_stor
ruse_docu
prec_ruse
resl_ruse
Figure 5.48 Partial Rule Taxonomy
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.49 Partial Sample Input Screen
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185
COCOMO II/Chapter 5 figures/Boehm et al.
Figure 5.50 Partial Sample Risk Outputs
© 1999-2000 USC Center for Software Engineering. All Rights Reserved
533581185