Transcript Slide 1

Unification of systems
and software engineering
cost models
ESD Web Seminar
February 23, 2007
Ricardo Valerdi, Ph.D.
[email protected]
ESD web seminar
1
Cost Modeling Development Support
• MIT Lean Aerospace Initiative
• USC CSSE Corporate Affiliate Program
• Lockheed Martin, BAE Systems, Northrop Grumman,
SAIC, Raytheon, General Dynamics, L-3
Communications, Boeing
• INCOSE
– Measurement Working Group
– Corporate Advisory Board
• Practical Software & Systems Measurement (US Army)
• US Air Force Space & Missile Systems Center
ESD web seminar
2
Roadmap
•
•
•
•
•
Cost estimation 101
COCOMO & COSYSMO
Activities & Phases
Integration issues
Next steps
ESD web seminar
3
My Purpose in Life
To help people reason about their
economic decisions related to
software and systems engineering
ESD web seminar
4
Cost Estimation Approaches
1.
Parametric cost modeling
–
2.
historical data
Expert judgment
–
3.
Grey beards
Analogy
–
4.
Compare with completed projects
Parkinson's Law
–
5.
determined by available resources rather than by objective
assessment
Pricing to win
–
6.
whatever the customer has available
Top- down estimation
–
7.
decompose logical function
Bottom- up estimation
–
ESD web seminar
Roll up
5
Users for each model
Acquirers, SW developers, estimators, systems
engineers, managers, executives, or
accountants who are interested in:
–
–
–
–
–
Software development (COCOMO II)
Commercial off the shelf software (COCOTS)
Systems engineering (COSYSMO)
Software quality (COQUALMO)
Software rapid application development (COPSEMO,
CORADMO)
– Software system of systems integration (COSOSIMO)
– ROI/Investment analysis (iDave, COPLIMO)
ESD web seminar
6
COCOMO II
COSYSMO
Estimates
Software development
Systems engineering
Estimates size via
Thousands of Software Lines Requirements, Interfaces,
of Code (KSLOC),
Algorithms, and
Function Points, or
Operational Scenarios
Application Points
Life cycle phases
MBASE/RUP Phases: (1)
Inception, (2) elaboration,
(3) construction, and (4)
transition
ISO/IEC 15288 Phases: (1)
Conceptualize, (2)
Develop, (3) Operation,
Test, and Evaluation, (4)
Transition to Operation, (5)
Operate Maintain or
Enhance, and (6)
Replace or dismantle.
Form of the model
1 size factor, 5 scale factors,
and 18 effort multipliers
4 size factors, 1 scale factor,
14 effort multiplier
Represents
diseconomy of
scale through
Five scale factors
One exponential system
factor
ESD web seminar
7
COCOMO II
• COCOMO is the most widely used, thoroughly
documented and calibrated software cost
model
• COCOMO - the “COnstructive COst MOdel”
– COCOMO II is the update to COCOMO 1981
– ongoing research with annual calibrations
made available
• Originally developed by Dr. Barry Boehm and
published in 1981 book Software Engineering
Economics
• COCOMO II described in Software Cost
Estimation with COCOMO II (Prentice
Hall 2000)
ESD web seminar
8
COCOMO II Phases & Modes
Rational Unified Process (RUP)
• Inception
• Elaboration
• Construction
• Transition
Modes
• Early design
• Post-architecture
ESD web seminar
9
COCOMO Parametric Cost
Estimating Relationship
Where:
A = constant derived from historical project data
Size = software size measured in SLOC, FPs, or APs
SF = scale factor
EM = effort multiplier
ESD web seminar
10
Software Sizing
• Alternative #1: Lines of Code
– High Order Language LOC
– Source LOC
– Delivered SLOC
• Not a uniform metric
• Productivity across languages (backfire ratios)
• Alternative #2: Function-based metrics
– Function points
– Application points
ESD web seminar
11
Scale Factors
ESD web seminar
12
Effort Multipliers
• Product attributes
–
–
–
–
–
Required software reliability (RELY)
Database size (DATA)
Documentation match to life-cycle needs (DOCU)
Product complexity (CPLX)
Required Reusability (RUSE)
ESD web seminar
13
Effort Multipliers (cont.)
• Platform attributes
– Execution time constraint (TIME)
– Main storage constraint (STOR)
– Platform volatility (PVOL)
• Personnel attributes
–
–
–
–
–
–
Analyst capabilities (ACAP)
Applications experience (AEXP)
Programmer capabilities (PCAP)
Platform experience (PEXP)
Programming language experience (LEXP)
Personnel Continuity (PCON)
ESD web seminar
14
Effort Multipliers (cont.)
• Project attributes
– Use of software tools (TOOL)
– Multisite Development (SITE)
– Required Development Schedule (SCED)
ESD web seminar
15
COCOMO Operational Concept
SLOC; or
Function Points; or
Application Points
Size
Drivers
Scale Factors
Effort
Multipliers
- Product attributes
- Platform attributes
- Personnel attributes
- Project attributes
ESD web seminar
COCOMO
Effort
Schedule
Calibration
16
Historical Overview of COCOMO Suite of Models
Software Cost Models
COCOMO 81
1981
COQUALMO
1998
COCOMO II
2000
iDAVE
2003
Software Extensions
DBA COCOMO
2004
COINCOMO
2004
COPLIMO
2003
Other Independent
Estimation Models
COCOTS
2000
COSYSMO
2002
COSoSIMO
2004
Costing Secure
System 2004
COPSEMO
1998
COPROMO
1998
Security
Extension 2004
CORADMO
1999
Legend:
Model has been calibrated with historical project data and expert (Delphi) data
Model is derived from COCOMO II
Model has been calibrated with expert (Delphi) data
ESD web seminar
Dates indicate the time that the first paper was published for the model
17
COSYSMO Scope
• Addresses first four phases of the system
engineering lifecycle (per ISO/IEC 15288)
Conceptualize
Develop
Oper Test Transition
to
& Eval
Operation
Operate,
Maintain,
or
Enhance
Replace
or
Dismantle
• Considers standard Systems Engineering
Work Breakdown Structure tasks (per
EIA/ANSI 632)
ESD web seminar
18
# Requirements
# Interfaces
# Scenarios
# Algorithms
+
3 Volatility Factors
Size
Drivers
Effort
Multipliers
- Application factors
-8 factors
- Team factors
-6 factors
ESD web seminar
COSYSMO
Effort
Calibration
WBS guided by
EIA/ANSI 632
19
Model Form
E
PM NS

 14
 A    ( we,k  e,k  wn ,k  n ,k  wd ,k  d ,k )    EM j
 k
 j 1
Where:
PMNS = effort in Person Months (Nominal Schedule)
A = calibration constant derived from historical project data
k = {REQ, IF, ALG, SCN}
wx = weight for “easy”, “nominal”, or “difficult” size driver
 x = quantity of “k” size driver
E = represents diseconomy of scale
EM = effort multiplier for the jth cost driver. The geometric product results in an
overall effort adjustment factor to the nominal effort.
ESD web seminar
20
4 Size Drivers
1.
2.
3.
4.
Number of System Requirements
Number of System Interfaces
Number of System Specific Algorithms
Number of Operational Scenarios
Weighted by complexity, volatility, and degree of reuse
ESD web seminar
21
14 Cost Drivers
Application Factors (8)
1.
2.
3.
4.
5.
6.
7.
8.
ESD web seminar
Requirements understanding
Architecture understanding
Level of service requirements
Migration complexity
Technology Risk
Documentation Match to Life Cycle Needs
# and Diversity of Installations/Platforms
# of Recursive Levels in the Design
22
14 Cost Drivers (cont.)
Team Factors (6)
1.
2.
3.
4.
5.
6.
Stakeholder team cohesion
Personnel/team capability
Personnel experience/continuity
Process capability
Multisite coordination
Tool support
ESD web seminar
23
5 Fundamental Processes for
Engineering a System
ESD web seminar
Source: EIA/ANSI 632 Processes for Engineering a System (1999)
SE Effort Profiling
Conceptualize
Develop
Operational
Test &
Evaluation
Transition to
Operation
Operate,
Maintain,
or Enhance
Replace or
Dismantle
ISO/IEC 15288
Technical
Management
System
Design
Product
Realization
EIA/ANSI 632
Acquisition &
Supply
Technical
Evaluation
ESD web seminar
25
Integration Issues
For each individual model as well as the unified
model:
1.
2.
3.
4.
5.
6.
7.
ESD web seminar
Objectives & Strategies
Inputs/scope of work
Output/scope of estimate
Assumptions of each model
Stakeholders for each model
Counting Rules
Data sources for calibration
26
COCOMO II/COSYSMO Overlap
• COCOMO II is designed to estimate the software effort associated
with the analysis of software requirements and the design,
implementation, and test of software.
• COSYSMO estimates the system engineering effort associated with
the development of the software system concept, overall software
system design, implementation and test.
• Key to understanding the overlap is deciding which activities are
considered “system engineering” and which are considered
“software engineering/development” and how each estimation model
handles these activities.
• Phases
– ISO 15288 vs. MBASE/RUP
• Activities
– EIA 632 vs. MBASE/RUP
ESD web seminar
27
The numbers in the cells represent the typical percentage of
effort spent on each activity during a certain phase of the
software development life cycle as defined by COCOMO II.
Each column adds up to 100 percent.
ESD web seminar
28
Other Models
Model Name
Owner/Developer
Constructive Cost Model
USC
PRICE-Hardware
PRICE Systems
PRICE-Software
PRICE Systems
Raytheon SE Resource Forecasting Tool
Raytheon
SEER-Hardware
Galorath
SEER-Software Engineering Model
Galorath
Small Satellite Cost Model
The Aerospace Corp.
Unmanned Satellite Cost Model
Los Angeles Air Force Base
Hardware domain
ESD web seminar
Software domain
29
Contact
Ricardo Valerdi
[email protected]
(617) 253-8583
www.valerdi.com/cosysmo
ESD web seminar
30