Title: The COCOMO II Suite of Software Cost Estimation Models
1The COCOMO II Suite of Software Cost Estimation
Models
- Barry Boehm, USC
- COCOMO/SSCM Forum 21 Tutorial
- November 8, 2006
boehm_at_csse.usc.edu,
http//csse.usc.edu/research/cocomosuite
2Thanks to USC-CSSE Affiliates (33)
- Commercial Industry (10)
- Cost Xpert Group, Galorath, Group Systems, IBM,
Intelligent Systems, Microsoft, Motorola, Price
Systems, Softstar Systems, Sun - Aerospace Industry (8)
- BAE Systems, Boeing, General Dynamics, Lockheed
Martin, Northrop Grumman(2), Raytheon, SAIC - Government (6)
- FAA, NASA-Ames, NSF, US Army Research Labs, US
Army TACOM, USAF Cost Center - FFRDCs and Consortia (6)
- Aerospace, FC-MD, IDA, JPL, SEI, SPC
- International (3)
- Institute of Software, Chinese Academy of
Sciences, EASE (Japan), Samsung
3USC-CSSE Affiliates Program
- Provides priorities for, access to USC-CSE
research - Scalable spiral processes, cost/schedule/quality
models, requirements groupware, architecting and
re-engineering tools, value-based software
engineering methods. - Experience in application in DoD, NASA, industry
- 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
4Outline
- COCOMO II Overview
- Motivation and Context
- Model Form and Parameters
- Calibration and Accuracy
- Overview of Emerging Extensions
- COTS Integration (COCOTS)
- Quality Delivered Defect Density (COQUALMO)
- Phase Distributions (COPSEMO)
- Rapid Application Development Schedule (CORADMO)
- Productivity Improvement (COPROMO)
- Product Line Investment (COPLIMO)
- System Engineering (COSYSMO)
- System of System Integration (COSOSIMO)
- COCOMO II Security Extensions (COSECMO)
- Network Information Protection (CONIPMO)
5COCOMO Baseline Overview I
- Software product size estimate
- Software development
mainten ance cost and schedule
estimates - Software product, process, com-
- puter, and personal attributes
- Cost, schedule, distribution by
- Software reuse, maintenance,
- and increment parameters
- phase, activity, increment
- Software organizations
- Project data
- COCOMO recalibrated to
organizations data
COCOMO
6COCOMO II Book Table of Contents- Boehm, Abts,
Brown, Chulani, Clark, Horowitz, Madachy, Reifer,
Steece, Software Cost Estimation with COCOMO II,
Prentice Hall, 2000
- 1. Introduction
- 2. Model Definition
- 3. Application Examples
- 4. Calibration
- 5. Emerging Extensions
- 6. Future Trends
- Appendices
- Assumptions, Data Forms, Users Manual, CD
Content
CD Video tutorials, USC COCOMO II.2000,
commercial tool demos, manuals, data forms, web
site links, Affiliate forms
7Need to ReEngineer COCOMO 81
- New software processes
- New sizing phenomena
- New reuse phenomena
- Need to make decisions based on incomplete
information
8COCOMO II Model Stages
9Outline
- COCOMO II Overview
- Motivation and Context
- Model Form and Parameters
- Calibration and Accuracy
- Overview of Emerging Extensions
- COTS Integration (COCOTS)
- Quality Delivered Defect Density (COQUALMO)
- Phase Distributions (COPSEMO)
- Rapid Application Development Schedule (CORADMO)
- Productivity Improvement (COPROMO)
- Product Line Investment (COPLIMO)
- System Engineering (COSYSMO)
- System of System Integration (COSOSIMO)
- COCOMO II Security Extensions (COSECMO)
- Network Information Protection (CONIPMO)
10Early Design and Post-Architecture Model
ö
æ
Environment
ç
Size
Effort
ç
ø
è
s
Multiplier
Environment Product, Platform, People, Project
Factors Size Nonlinear reuse and volatility
effects Process Constraint, Risk/Architecture,
Team, Maturity Factors
(
)
Schedule
Multiplier
11New Scaling Exponent Approach
- Nominal person-months A(size)B
- B 0.91 0.01 ?(scale factor ratings)
- - B ranges from 0.91 to 1.23
- - 5 scale factors 6 rating levels each
- Scale factors
- - Precedentedness (PREC)
- - Development flexibility (FLEX)
- - Architecture/ risk resolution (RESL)
- - Team cohesion (TEAM)
- - Process maturity (PMAT, derived from SEI CMM)
12Project Scale Factors
PM
2.94
estimated
B
.
0.91
0
.
01
SF
Ã¥
i
PMAT
weighted sum of 18 KPA achievement levels
13Nonlinear Reuse Effects
Data on 2954 NASA modules Selby, 1988
1.0
1.0
0.70
0.75
0.55
Relative cost
0.5
Usual Linear Assumption
0.25
0.046
0.25
0.5
0.75
1.0
Amount Modified
14Reuse and Reengineering Effects
- Add Assessment Assimilation increment (AA)
- - Similar to conversion planning increment
- Add software understanding increment (SU)
- - 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 ASLOCAAAAF(10.02(SU)(UNFM)),
- AAF lt 0.5
- - ESLOC ASLOCAAAAF(SU)(UNFM)), AAF gt 0.5
15Software Understanding Rating / Increment
16Other Major COCOMO II Changes
- Range versus point estimates
- Requirements Volatility (Evolution) included in
Size - Multiplicative cost driver changes
- - Product CDs
- - Platform CDs
- - Personnel CDs
- - Project CDs
- Maintenance model includes SU, UNFM factors from
reuse model - Applied to subset of legacy code undergoing change
17COCOMO II Estimation Accuracy
Percentage of sample projects within 30 of
actuals -Without and with calibration to data
source
18 COCOMO II. 2000 Productivity Ranges
Scale Factor Ranges 10, 100, 1000 KSLOC
Development Flexibility (FLEX)
Team Cohesion (TEAM)
Develop for Reuse (RUSE)
Precedentedness (PREC)
Architecture and Risk Resolution (RESL)
Platform Experience (PEXP)
Data Base Size (DATA)
Required Development Schedule (SCED)
Language and Tools Experience (LTEX)
Process Maturity (PMAT)
Storage Constraint (STOR)
Use of Software Tools (TOOL)
Platform Volatility (PVOL)
Applications Experience (AEXP)
Multi-Site Development (SITE)
Documentation Match to Life Cycle Needs (DOCU)
Required Software Reliability (RELY)
Personnel Continuity (PCON)
Time Constraint (TIME)
Programmer Capability (PCAP)
Analyst Capability (ACAP)
Product Complexity (CPLX)
1
1.2
1.4
1.6
1.8
2
2.2
2.4
Productivity Range
19Outline
- COCOMO II Overview
- Motivation and Context
- Model Form and Parameters
- Calibration and Accuracy
- Overview of Emerging Extensions
- COTS Integration (COCOTS)
- Quality Delivered Defect Density (COQUALMO)
- Phase Distributions (COPSEMO)
- Rapid Application Development Schedule (CORADMO)
- Productivity Improvement (COPROMO)
- Product Line Investment (COPLIMO)
- System Engineering (COSYSMO)
- System of System Integration (COSOSIMO)
- COCOMO II Security Extensions (COSECMO)
- Network Information Protection (CONIPMO)
20Status of Models
Signif. Variables
Data, Bayes
Literature
Behavior
Delphi
COCOMO II COCOTS COQUALMO Defects in
Defects out CORADMO COSYSMO
gt200 20 6 6 16 60
21COCOMO vs. COCOTS Cost Sources
STAFFING
TIME
22Current COQUALMO System
COCOMO II
Software development effort, cost and schedule
estimate
COQUALMO
Software Size Estimate
Defect Introduction Model
Software platform, Project, product and personnel
attributes
Number of residual defects Defect density per
unit of size
Defect Removal Model
Defect removal profile levels Automation,
Reviews, Testing
23Defect Removal Rating Scales
COCOMO II p.263
24Defect Removal Estimates - Nominal Defect
Introduction Rates
Delivered Defects / KSLOC
Composite Defect Removal Rating
25Outline
- COCOMO II Overview
- Motivation and Context
- Model Form and Parameters
- Calibration and Accuracy
- Overview of Emerging Extensions
- COTS Integration (COCOTS)
- Quality Delivered Defect Density (COQUALMO)
- Phase Distributions (COPSEMO)
- Rapid Application Development Schedule (CORADMO)
- Productivity Improvement (COPROMO)
- Product Line Investment (COPLIMO)
- System Engineering (COSYSMO)
- System of System Integration (COSOSIMO)
- COCOMO II Security Extensions (COSECMO)
- Network Information Protection (CONIPMO)
26COCOMO II RAD Extension (CORADMO)
RVHL DPRS CLAB
RESL
COCOMO II cost drivers (except SCED)
PPOS
Baseline effort, schedule
RCAP
COCOMO II
RAD Extension
Language Level, experience,...
Effort, schedule by stage
Phase Distributions(COPSEMO)
RAD effort, schedule by phase
27Effect of RCAP on Cost, Schedule
28COPROMO (Productivity) Model
- Uses COCOMO II model and extensions as assessment
framework - Well-calibrated to 161 projects for effort,
schedule - Subset of 106 1990s 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
29- The COPLIMO Model
- Constructive Product Line Investment Model
- 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
- Avoids RCWR for non-reused components
- Adds life cycle cost savings
- Provides experience-based default parameter
values - Simple Excel spreadsheet model
- Easy to modify, extend, interoperate
30(No Transcript)
31Outline
- COCOMO II Overview
- Motivation and Context
- Model Form and Parameters
- Calibration and Accuracy
- Overview of Emerging Extensions
- COTS Integration (COCOTS)
- Quality Delivered Defect Density (COQUALMO)
- Phase Distributions (COPSEMO)
- Rapid Application Development Schedule (CORADMO)
- Productivity Improvement (COPROMO)
- Product Line Investment (COPLIMO)
- System Engineering (COSYSMO)
- System of System Integration (COSOSIMO)
- COCOMO II Security Extensions (COSECMO)
- Network Information Protection (CONIPMO)
32COCOMO II
Model Differences
COSYSMO
- Software
- Development phases
- 20 years old
- 200 calibration points
- 23 Drivers
- Variable granularity
- 3 anchor points
- Size is driven by SLOC
- Systems Engineering
- Entire Life Cycle
- 3 years old
- 60 calibration points
- 18 drivers
- Fixed granularity
- No anchor points
- Size is driven by requirements, I/F, etc
33COSYSMO Operational Concept
Requirements Interfaces Scenarios
Algorithms Volatility Factor
Size Drivers
COSYSMO
Effort
Effort Multipliers
- Application factors
- 8 factors
- Team factors
- 6 factors
- Schedule driver
Calibration
WBS guided by ISO/IEC 15288
34COSOSIMO Operational Concept
Size Drivers
- Interface-related eKSLOC
- Number of logical interfaces at SoS level
- Number of operational scenarios
- Number of components
COSOSIMO
SoS Definition and Integration Effort
Exponential Scale Factors
- Integration simplicity
- Integration risk resolution
- Integration stability
- Component readiness
- Integration capability
- Integration processes
Calibration
35Security Impact on Engineering Effort
- For software developers
- Source lines of code increases
- Effort to generate software increases
- Security functional requirements
- Security assurance requirements
- Effort to transition also increases
- More documentation
- Additional certification and accreditation costs
- For systems engineers
- Effort to develop system increases
- Network defense requirements
- Network defense operational concepts
- Program protection requirements
- Anti-tamper implementation
- Effort to transition also increases
- DITSCAP and red teaming
Being addressed by COSECMO
Being addressed by CONIPMO
36Backup Charts
37Purpose of COCOMO II
- To help people reason about the
- cost and schedule implications of
- their software decisions
38Major Decision SituationsHelped by COCOMO II
- Software investment decisions
- When to develop, reuse, or purchase
- What legacy software to modify or phase out
- Setting project budgets and schedules
- Negotiating cost/schedule/performance tradeoffs
- Making software risk management decisions
- Making software improvement decisions
- Reuse, tools, process maturity, outsourcing
39Relations to MBASE/Rational Anchor Point
Milestones
App. Compos.
Inception
Elaboration, Construction
Transition
LCO, LCA
IOC
SRR
SAT
PDR
Waterfall Rqts.
Development
Prod. Des.
Sys Devel
Inception Phase
Elaboration
Construction
Trans.
LCA
IOC
LCO
MBASE Model-Based (System) Architecting and
Software Engineering
40Post-Architecture EMs-Product
41Post-Architecture Complexity
42Post-Architecture EMs-Platform
43Post-Architecture EMs-Personnel
44Post-Architecture EMs-Project
45Other Model Refinements
- Initial Schedule Estimation
0
.
28
0
.
2
(
B
-
)
0.91
ö
é
ù
æ
SCED
ç
æ
PM
ç
TDEV
3.67
ö
ú
ç
ê
ç
è
ø
100
è
ø
ê
ú
û
ë
where estimated person months excluding
Schedule
multiplier effects
Stage
Optimistic Estimate
Pessimistic Estimate
Application Composition
0.50 E
2.0 E
Early Design
0.67 E
1.5 E
Post-Architecture
0.80 E
1.25 E
- 80 confidence limits 10 of time each below
Optimistic, above Pessimistic
- Reflect sources of uncertainty in model inputs
46Early Design vs. Post-Arch EMs
47Outline
- COCOMO II Overview
- Motivation and Context
- Model Form and Parameters
- Calibration and Accuracy
- Overview of Emerging Extensions
- COTS Integration (COCOTS)
- Quality Delivered Defect Density (COQUALMO)
- Phase Distributions (COPSEMO)
- Rapid Application Development Schedule (CORADMO)
- Productivity Improvement (COPROMO)
- Product Line Investment (COPLIMO)
- System Engineering (COSYSMO)
- System of System Integration (COSOSIMO)
- Dependability ROI (iDAVE)
48USC-CSE Modeling Methodology
- concurrency and feedback implied
49Results of Bayesian Update Using Prior and
Sampling Information (Step 6)
Language and Tool Experience (LTEX)
50COCOMO Model Comparisons
COCOMO
Ada COCOMO
COCOMO II
COCOMO II
COCOMO II
Application Composition
Early Design
Post-Architecture
Size
Delivered Source Instructions
DSI or SLOC
Application Points
Function Points (FP) and
FP and Language or SLOC
(DSI) or Source Lines of
Language or SLOC
Code (SLOC)
Reuse
Equivalent SLOC Linear
Equivalent SLOC Linear
Implicit in Model
Equivalent SLOC nonlinear
Equivalent SLOC nonlinear
(DM,CM,IM)
(DM,CM,IM)
(AA, SU,UNFM,DM,CM,IM)
(AA, SU,UNFM,DM,CM,IM)
Rqts. Change
Requirements Volatility
RVOL rating
Implicit in Model
Change RQEV
RQEV
rating (RVOL)
Maintenance
Annual Change Traffic
ACT
Object Point ACT
(ACT,SU,UNFM)
(ACT,SU,UNFM)
(ACT)
added modified
Scale (b) in
Organic 1.05 Semidetached
Embedded 1.04 -1.24
1.0
.91-1.23 depending on the
.91-1.23 depending on the
b
MM
a(Size)
1.12 Embedded 1.20
depending on degree of
degree of
degree of
NOM
early risk elimination
precedentedness
precedentedness
solid architecture
conformity
conformity
stable requirements
early architecture, risk
early architecture, risk
Ada process maturity
resolution
team cohesion
process maturity (SEI)
Different Multipliers
Different Rating Scale
51COCOMO II Experience Factory I
Rescope
No
System objectivesfcny, perf., quality
Cost, Sched, Risks
COCOMO 2.0
Yes
Ok?
Corporate parameterstools, processes, reuse
52COCOMO II Experience Factory II
Rescope
Executeprojectto nextMilestone
No
System objectivesfcny, perf., quality
ReviseMilestones,Plans,Resources
Cost, Sched, Risks
COCOMO 2.0
Yes
Ok?
Corporate parameterstools, processes, reuse
M/SResults
Milestone plans, resources
No
Ok?
Milestone expectations
RevisedExpectations
Yes
Done?
No
Yes
End
53COCOMO II Experience Factory III
Rescope
Executeprojectto nextMilestone
No
System objectivesfcny, perf., quality
ReviseMilestones,Plans,Resources
Cost, Sched, Risks
COCOMO 2.0
Yes
Ok?
Corporate parameterstools, processes, reuse
M/SResults
Milestone plans, resources
No
Ok?
Milestone expectations
RevisedExpectations
Yes
AccumulateCOCOMO 2.0calibration data
Done?
RecalibrateCOCOMO 2.0
No
Yes
End
54COCOMO II Experience Factory IV
Rescope
Executeprojectto nextMilestone
No
System objectivesfcny, perf., quality
ReviseMilestones,Plans,Resources
Cost, Sched, Risks
COCOMO 2.0
Yes
Ok?
Corporate parameterstools, processes, reuse
M/SResults
Milestone plans, resources
No
Ok?
ImprovedCorporateParameters
Cost, Sched, Quality drivers
Milestone expectations
RevisedExpectations
Yes
EvaluateCorporateSWImprovementStrategies
AccumulateCOCOMO 2.0calibration data
Done?
RecalibrateCOCOMO 2.0
No
Yes
End
55New Glue Code Submodel Results
- Current calibration looking reasonably good
- Excluding projects with very large,
- 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
56- Current Insights into Maintenance Phase Issues
Priority of Activities by Effort Involved and/or
Criticality - Higher
- training S C
- configuration management C
- operations support C
- integration analysis S
- requirements management S C
- Medium
- certification S
- market watch C
- distribution S
- vendor management C
- business case evaluation S
- Lower
- administering COTS licenses C
S - spikes around refresh cycle
anchor points C - continuous
57RAD Context
- RAD a critical competitive strategy
- Market window pace of change
- Non-RAD COCOMO II overestimates RAD schedules
- Need opportunity-tree cost-schedule adjustment
- Cube root model inappropriate for small RAD
projects - COCOMO II Mo. 3.7 ³? PM
58RAD Opportunity Tree
Development process reengineering - DPRS
Reusing assets - RVHL
Reusing assets - RVHL
Eliminating Tasks
Eliminating Tasks
Applications generation - RVHL
Applications generation - RVHL
Schedule as Independent Variable Process
Tools and automation - O
Tools and automation - O
Reducing Time Per Task
Reducing Time Per Task
Work streamlining (80-20) - O
Work streamlining (80-20) - O
Increasing parallelism - RESL
Increasing parallelism - RESL
Reducing Risks of Single-Point Failures
Reducing Risks of Single-Point Failures
Reducing failures - RESL
Reducing failures - RESL
Reducing their effects - RESL
Reducing their effects - RESL
RAD
Early error elimination - RESL
Early error elimination - RESL
Reducing Backtracking
Process anchor points - RESL
Reducing Backtracking
Process anchor points - RESL
Improving process maturity - O
Improving process maturity - O
Collaboration technology - CLAB
Collaboration technology - CLAB
Minimizing task dependencies - DPRS
Minimizing task dependencies - DPRS
Activity Network Streamlining
Activity Network Streamlining
Avoiding high fan-in, fan-out - DPRS
Avoiding high fan-in, fan-out - DPRS
Reducing task variance - DPRS
Reducing task variance - DPRS
Removing tasks from critical path - DPRS
Removing tasks from critical path - DPRS
24x7 development - PPOS
24x7 development - PPOS
Increasing Effective Workweek
Increasing Effective Workweek
Nightly builds, testing - PPOS
Nightly builds, testing - PPOS
Weekend warriors - PPOS
Weekend warriors - PPOS
Better People and Incentives
RAD Capability and experience - RCAP
O covered by
O covered by
59RCAPRAD 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. PREX-R is the Early
Design Personnel Experience rating, adjusted to
reflect the performers experience with RAD
languages, tools, components, and COTS
integration.
60RCAP Example  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 A very
good team can put on 7 people and finish in 2.8
months 20 PM Â 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 gt 7 months)Â
61COPLIMO Inputs and Outputs
As functions of products, years in life
cycle
For current set of similar products,
COPLIMO
Average product size, COCOMO II cost drivers
Non-product line effort
Percent mission-unique, reused-with-mods,
black-box reuse
Product line investment, effort
RCR, RCWR factors, annual change traffic
Product line savings, ROI
624 Size Drivers
- Number of System Requirements
- Number of Major Interfaces
- Number of Operational Scenarios
- Number of Critical Algorithms
- Each weighted by complexity, volatility, and
degree of reuse
63Number 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
shalls or wills 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.
6414 Cost Drivers
Application Factors (8)
- Requirements understanding
- Architecture complexity
- Level of service requirements
- Migration complexity
- Technology Maturity
- Documentation Match to Life Cycle Needs
- and Diversity of Installations/Platforms
- of Recursive Levels in the Design
65Level 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.
6614 Cost Drivers (cont.)
Team Factors (6)
- Stakeholder team cohesion
- Personnel/team capability
- Personnel experience/continuity
- Process maturity
- Multisite coordination
- Tool support
674. Rate Cost Drivers - Application
689. Time Phase the Estimate Overall Staffing
69Proposed COSOSIMO Size Drivers
- Subsystem size of interface software measured in
effective KSLOC (eKSLOC) - Number of components
- Number of major interfaces
- Number of operational scenarios
- Each weighted by
- Complexity
- Volatility
- Degree of COTS/reuse
70Proposed COSOSIMO Scale Factors
- Integration risk resolution
- Risk identification and mitigation efforts
- Integration simplicity
- Architecture and performance issues
- Integration stability
- How much change is expected
- Component readiness
- How much prior testing has been conducted on the
components - Integration capability
- People factor
- Integration processes
- Maturity level of processes and integration lab
71Reasoning about the Value of Dependability iDAVE
- iDAVE Information Dependability Attribute Value
- Estimator
- Use iDAVE model to estimate and track software
- dependability ROI
- Help determine how much dependability is enough
- Help analyze and select the most cost-effective
combination of - software dependability techniques
- Use estimates as a basis for tracking
performance
72iDAVE Model Framework
73Typical Value Estimating Relationships
74ROI Analysis Results Comparison