The Cocomo II Suite-Forum21

74
1 University of Southern California Center for Software Engineering C S E USC ©USC-CSSE 11/8/0 6 The COCOMO II Suite of Software Cost Estimation Models Barry Boehm, USC COCOMO/SSCM Forum 21 Tutorial November 8, 2006 [email protected], http://csse.usc.edu/research/cocomosuite

description

The Cocomo II Suite-Forum

Transcript of The Cocomo II Suite-Forum21

The COCOMO II Suite of Software Cost Estimation ModelsBarry Boehm, USC
Commercial Industry (10)
Cost Xpert Group, Galorath, Group Systems, IBM, Intelligent Systems, Microsoft, Motorola, Price Systems, Softstar Systems, Sun
Aerospace Industry (8)
Government (6)
FAA, NASA-Ames, NSF, US Army Research Labs, US Army TACOM, USAF Cost Center
FFRDC’s and Consortia (6)
Aerospace, FC-MD, IDA, JPL, SEI, SPC
International (3)
Institute of Software, Chinese Academy of Sciences, EASE (Japan), Samsung
©USC-CSSE
11/8/06
Affiliate community events
14th Annual Research Review and Executive Workshop, USC Campus, February 12-15, 2007
11th Annual Ground Systems Architecture Workshop (with Aerospace Corp.), Manhattan Beach, CA, March 26-29, 2007
22nd International COCOMO/Systems and Software Cost Estimation Forum, USC Campus, October 23-26, 2007
Synergetic with USC distance education programs
MS – Systems Architecting and Engineering
MS / Computer Science – Software Engineering
©USC-CSSE
11/8/06
Outline
Phase Distributions (COPSEMO)
Productivity Improvement (COPROMO)
Network Information Protection (CONIPMO)
Software product, process, com-
puter, and personal attributes
Cost, schedule, distribution by
COCOMO
©USC-CSSE
11/8/06
- Boehm, Abts, Brown, Chulani, Clark, Horowitz, Madachy, Reifer, Steece, Software Cost Estimation with COCOMO II, Prentice Hall, 2000
1. Introduction
Assumptions, Data Forms, User’s Manual, CD Content
CD: Video tutorials, USC COCOMO II.2000, commercial tool demos, manuals, data forms, web site links, Affiliate forms
©USC-CSSE
11/8/06
New software processes
New sizing phenomena
New reuse phenomena
©USC-CSSE
11/8/06
Phase Distributions (COPSEMO)
Productivity Improvement (COPROMO)
Network Information Protection (CONIPMO)
[
]
(
)
- 5 scale factors; 6 rating levels each
Scale factors:
- Precedentedness (PREC)
©USC-CSSE
11/8/06
´
(
- To cover nonlinear software understanding effects
- Coupled with software unfamiliarity level (UNFM)
- Apply only if reused software is modified
Results in revised Equivalent Source Lines of Code (ESLOC)
- AAF = 0.4(DM) + 0.3 (CM) + 0.3 (IM)
- ESLOC = ASLOC[AA+AAF(1+0.02(SU)(UNFM))],
AAF < 0.5
©USC-CSSE
11/8/06
Range versus point estimates
Multiplicative cost driver changes
Applied to subset of legacy code undergoing change
©USC-CSSE
11/8/06
-Without and with calibration to data source
COCOMO II Estimation Accuracy:
Productivity Range
Multi-Site Development (SITE)
Applications Experience (AEXP)
Platform Volatility (PVOL)
Storage Constraint (STOR)
Process Maturity (PMAT)
Required Development Schedule (SCED)
Data Base Size (DATA)
Precedentedness (PREC)
©USC-CSSE
11/8/06
Outline
Phase Distributions (COPSEMO)
Productivity Improvement (COPROMO)
Network Information Protection (CONIPMO)
STAFFING
TIME
©USC-CSSE
11/8/06
Software Size Estimate
Number of residual defects
©USC-CSSE
11/8/06
Dist-monitoring
Basic test
Ad-hoc test and debug
Using historical data
Well-defined preparation, review, minimal follow-up
Ad-hoc informal walk-through
No peer review
Basic compiler capabilities
Phase Distributions (COPSEMO)
Productivity Improvement (COPROMO)
Network Information Protection (CONIPMO)
Language Level, experience,...
RVHL
DPRS
CLAB
RESL
Chart3
0
0
0
25
25
25
49
49
49
60
60
60
Well-calibrated to 161 projects for effort, schedule
Subset of 106 1990’s projects for current-practice baseline
Extensions for Rapid Application Development formulated
Determines impact of technology investments on model parameter settings
Uses these in models to assess impact of technology investments on cost and schedule
Effort used as a proxy for cost
©USC-CSSE
11/8/06
Based on COCOMO II software cost model
Statistically calibrated to 161 projects, representing 18 diverse organizations
Based on standard software reuse economic terms
RCR: Relative cost of reuse
RCWR: Relative cost of writing for reuse
Avoids overestimation
Simple Excel spreadsheet model
©USC-CSSE
11/8/06
Project_Info
COPLIMO
Note: White cell is for input; yellow area is output.
Product Size
(Average size of each of products in the product line.)
Product-specific
fraction (PFRAC):
Adapted-software
fraction (AFRAC):
Reused-software
fraction (RFRAC):
# of products in
AAF =
27
(Adaptation Adjustment Factor)
(% of the Adapted KSLOC that is re-engineered by automatic translation)
Equivalent KSLOC of Adapted Portion=
9.51
KSLOC
Equivalent KSLOC of Reused Portion=
0.6
KSLOC
REVL
%
(% rework in the system independent of COTS effects due to requirements evolution)
New KSLOC
SIZE =
49.51
KSLOC
((1+ (REVL/100)) x (NEW KSLOC + Equivalent KSLOC of Adaption + Equivalent KSLOC of Reuse))
ATPROD
2400
KSLOC/PM
A
0
B
0.00
E =
0.2364
Schedule Multiplicative and Exponential Constants
C
0.00
D
0.00
F =
0.04728
Summary
EM =
(RELY x DATA x CPLX x RUSE x DOCU x TIME x STOR x PVOL x ACAP x PCAP x APEX x PLEX x LTEX x PCON x TOOL x SITE x SCED)
(without SCED)
(RELY x DATA x CPLX x RUSE x DOCU x TIME x STOR x PVOL x ACAP x PCAP x APEX x PLEX x LTEX x PCON x TOOL x SITE)
0.000
Person-months
PM =
0.000
Person-months
0.000
SCALE FACTORS
DM
AAF =
0
(Adaptation Adjustment Factor)
(% of the Adapted KSLOC that is re-engineered by automatic translation)
Equivalent KSLOC =
REVL
%
(% rework in the system independent of COTS effects due to requirements evolution)
New KSLOC
ATPROD
2400
KSLOC/PM
A
0
B
0.69
E =
0.9264
Schedule Multiplicative and Exponential Constants
C
0.83
D
1.00
F =
1.04728
# of Products
Part II: Product Line Annualized Life Cycle Cost Estimation Summary:
# of Products
Part III: Sensitivity Analysis of adding complicators on product-specific protion
Parameter
PFRAC
RFRAC
AFRAC
AAM
EKSLOC
ROI(2)
ROI(3)
ROI(4)
ROI(5)
Baseline
0.40
0.30
0.30
0.32
49.51
1.99
4.98
7.97
10.96
+10%
0.44
0.308
0.252
0.349
53.40
2.15
5.29
8.44
11.58
+20%
0.48
0.312
0.208
0.380
56.54
2.66
6.47
10.28
14.10
+30%
0.52
0.312
0.168
0.41
59.55
2.53
6.05
9.58
13.10
+40%
0.56
0.308
0.132
0.44
62.47
2.76
6.53
10.29
14.06
+50%
0.60
0.300
0.100
0.48
65.36
3.05
7.10
11.14
15.19
Net development effort savings
Driver_Values
Product Line Annualized Life Cycle Cost Estimation
Driver_Definition
COCOMO II Attribute Settings
right sized to life cycle needs
excessive for life cycle needs
CPLX
simple
straightforward
average
difficult
70% of the available execution time
85% of the available execution time
95% of the available execution time
STOR
70% of the available storage
85% of the available storage
95% of the available storage
PVOL
ACAP
narrowband e-mail
Phase Distributions (COPSEMO)
Productivity Improvement (COPROMO)
Network Information Protection (CONIPMO)
COSYSMO
Model Differences
Number of operational scenarios
For software developers:
Security functional requirements
Security assurance requirements
More documentation
For systems engineers:
Network defense requirements
DITSCAP and red teaming
Being addressed by COSECMO
Being addressed by CONIPMO
cost and schedule implications of
their software decisions
What legacy software to modify or phase out
Setting project budgets and schedules
Negotiating cost/schedule/performance tradeoffs
Making software improvement decisions
©USC-CSSE
11/8/06
App. Compos.
Inception Phase
High financial loss (1.10)
Database Size (DATA)
Many lifecycle needs uncovered
Some lifecycle needs uncovered
Right-sized to lifecycle needs
Excessive for lifecycle needs
©USC-CSSE
11/8/06
Use of standard math and statistical routines. Basic matrix/vector operations.
I/O processing includes device selection, status checking and error processing.
Multi-file input and single file output. Simple structural changes, simple edits. Complex COTS-DB queries, updates.
Simple use of widget set.
High
70%
85%
95%
70%
85%
Major change every 12 mo.; minor change every 1 mo.
Major: 6 mo.; minor: 2 wk.
Major: 2 mo.; minor: 1 wk.
Major: 2 wk.; minor: 2 days
©USC-CSSE
11/8/06
<2 months
6 months
1 year
3 years
6 years
Edit, code, debug
Basic lifecycle tools, moderately integrated
Strong, mature lifecycle tools, moderately integrated
Strong, mature, proactive lifecycle tools, well integrated with processes, methods, reuse
Multisite Development: Collocation (SITE)
Same building or complex
Interactive multimedia
multiplier effects
Output Ranges
Optimistic, above Pessimistic
TDEV
Early Design Cost Driver
Product Reliability and Complexity
RELY, DATA, CPLX, DOCU
Phase Distributions (COPSEMO)
Productivity Improvement (COPROMO)
Dependability ROI (iDAVE)
a-priori model
Step 4
Step 7
©USC-CSSE
11/8/06
Results of Bayesian Update: Using Prior and Sampling Information (Step 6)
Language and Tool Experience (LTEX)
1.51
1.45
1.41
1.06
Literature,
Code (SLOC)
Reuse
Ok?
Rescope
Ok?
Rescope
Ok?
Rescope
Ok?
Rescope
very small amounts of glue code (Effort Pred):
[0.5 - 100 KLOC]: Pred (.30) = 9/17 = 53%
[2 - 100 KLOC]: Pred (.30) = 8/13 = 62%
For comparison, calibration results shown at ARR 2000:
[0.1 - 390 KLOC]: Pred (.30) = 4/13 = 31%
Propose to revisit large, small, anomalous projects
A few follow-up questions on categories of code & effort
Glue code vs. application code
Glue code effort vs. other sources
©USC-CSSE
11/8/06
Current Insights into Maintenance Phase Issues Priority of Activities by Effort Involved and/or Criticality
Higher
Non-RAD COCOMO II overestimates RAD schedules
Need opportunity-tree cost-schedule adjustment
COCOMO II: Mo. = 3.7 ³ PM
©USC-CSSE
11/8/06
Reducing Backtracking
Reducing task variance - DPRS
24x7 development - PPOS
Reducing Backtracking
Tools and automation - O
Reducing task variance - DPRS
24x7 development - PPOS
©USC-CSSE
11/8/06
RCAP:RAD Capability of Personnel
PERS-R is the Early Design Capability rating, adjusted to reflect the performers’ capability to rapidly assimilate new concepts and material, and to rapidly adapt to change.
 
RCAP = Nominal PM = 25, M = 5, P = 5
The square root law: 5 people for 5 months: 25 PM
RCAP = XH PM = 20, M = 2.8, P = 7.1
 
RCAP = XL PM = 30, M = 7, P = 4.3
Trying to do RAD with an unqualified team makes them less efficient (30 PM) and gets the schedule closer to the cube root law:
(but not quite: = 9.3 months > 7 months) 
3
As functions of # products, # years in life cycle
COPLIMO
Percent mission-unique, reused-with-mods,
©USC-CSSE
11/8/06
Number of System Requirements
This driver represents the number of requirements for the system-of-interest at a specific level of design. Requirements may be functional, performance, feature, or service-oriented in nature depending on the methodology used for specification. They may also be defined by the customer or contractor. System requirements can typically be quantified by counting the number of applicable “shall’s” or “will’s” in the system or marketing specification. Do not include a requirements expansion ratio – only provide a count for the requirements of the system-of-interest as defined by the system or marketing specification.
Easy
Nominal
Difficult
- Hard to trace to source
- Simple to understand
- Hard to understand
- Little requirements overlap
- Familiar
- Unfamiliar
- Good understanding of what’s needed to satisfy and verify requirements
- General understanding of what’s needed to satisfy and verify requirements
- Poor understanding of what’s needed to satisfy and verify requirements
©USC-CSSE
11/8/06
# and Diversity of Installations/Platforms
Application Factors (8)
Level of service (KPP) requirements
This cost driver rates the difficulty and criticality of satisfying the ensemble of Key Performance Parameters (KPP), such as security, safety, response time, interoperability, maintainability, the “ilities”, etc.
Viewpoint
©USC-CSSE
11/8/06
©USC-CSSE
11/8/06
Subsystem size of interface software measured in effective KSLOC (eKSLOC)
Number of components
Integration simplicity
Component readiness
How much prior testing has been conducted on the components
Integration capability
People factor
Integration processes
©USC-CSSE
11/8/06
iDAVE: Information Dependability Attribute Value
Estimator
dependability ROI
Help analyze and select the most cost-effective combination of
software dependability techniques
©USC-CSSE
11/8/06
Dependability
investments,
V
j
= h
j
Intel: $275K
Cisco: $167K
Dell: $83K
Amazon.com: $27K
Dependability
investments,
V
j
= h
j
# of Products012345
Effort (PM)
No Reuse029458888211761470
Part II: Product Line Annualized Life Cycle Cost Estimation Summary:
# of Products012345
-200
0
200
400
600
0123456
Net development
effort savings
Estimation
-200
-100
0
100
200
300
400
500
600
700
800
0123456
5-year Life Cycle
3-year Life Cycle
RCAP = XL
RCAP = XH