1 ESD web seminar ESD Web Seminar February 23, 2007 Ricardo Valerdi, Ph.D. [email protected] Unification of systems and software engineering cost models
Dec 27, 2015
1ESD web seminar
ESD Web SeminarFebruary 23, 2007
Ricardo Valerdi, [email protected]
Unification of systems and software engineering
cost models
2ESD web seminar
• 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
Cost Modeling Development Support
3ESD web seminar
• Cost estimation 101
• COCOMO & COSYSMO
• Activities & Phases
• Integration issues
• Next steps
Roadmap
4ESD web seminar
My Purpose in Life
To help people reason about their
economic decisions related to
software and systems engineering
5ESD web seminar
Cost Estimation Approaches1. Parametric cost modeling
– historical data
2. Expert judgment – Grey beards
3. Analogy – Compare with completed projects
4. Parkinson's Law – determined by available resources rather than by objective
assessment
5. Pricing to win – whatever the customer has available
6. Top- down estimation – decompose logical function
7. Bottom- up estimation– Roll up
6ESD web seminar
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)
7ESD web seminar
COCOMO II COSYSMO
Estimates Software development Systems engineering
Estimates size via Thousands of Software Lines of Code (KSLOC), Function Points, or Application Points
Requirements, Interfaces, Algorithms, and Operational Scenarios
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
8ESD web seminar
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)
9ESD web seminar
COCOMO II Phases & ModesRational Unified Process (RUP)• Inception
• Elaboration• Construction• Transition
Modes• Early design• Post-architecture
10ESD web seminar
COCOMO Parametric Cost Estimating Relationship
Where: A = constant derived from historical project data Size = software size measured in SLOC, FPs, or APs SF = scale factorEM = effort multiplier
11ESD web seminar
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
13ESD web seminar
Effort Multipliers• Product attributes
– Required software reliability (RELY)– Database size (DATA)– Documentation match to life-cycle needs (DOCU)– Product complexity (CPLX)– Required Reusability (RUSE)
14ESD web seminar
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)
15ESD web seminar
Effort Multipliers (cont.)• Project attributes
– Use of software tools (TOOL)
– Multisite Development (SITE) – Required Development Schedule (SCED)
16ESD web seminar
COCOMO
SizeDrivers
EffortMultipliers
Effort
Calibration
SLOC; orFunction Points; orApplication Points
- Product attributes- Platform attributes- Personnel attributes- Project attributes
COCOMO Operational Concept
ScheduleScale Factors
17ESD web seminar
Historical Overview of COCOMO Suite of Models
COQUALMO1998
COCOMO 811981
COPROMO1998
COSoSIMO2004
Legend:Model has been calibrated with historical project data and expert (Delphi) dataModel is derived from COCOMO IIModel has been calibrated with expert (Delphi) data
COCOTS2000
COSYSMO2002
CORADMO1999
iDAVE2003
COPLIMO2003
COPSEMO1998
COCOMO II2000
DBA COCOMO2004
COINCOMO2004
SecurityExtension 2004
Costing SecureSystem 2004
Software Cost Models
Software Extensions
Other IndependentEstimation Models
Dates indicate the time that the first paper was published for the model
18ESD web seminar
COSYSMO Scope• Addresses first four phases of the system
engineering lifecycle (per ISO/IEC 15288)
• Considers standard Systems Engineering Work Breakdown Structure tasks (per EIA/ANSI 632)
Conceptualize DevelopOper Test & Eval
Transition to Operation
Operate, Maintain, or Enhance
Replace orDismantle
19ESD web seminar
COSYSMO
SizeDrivers
EffortMultipliers
Effort
Calibration
# Requirements# Interfaces# Scenarios# Algorithms
+3 Volatility Factors
- Application factors-8 factors
- Team factors-6 factors
WBS guided by EIA/ANSI 632
20ESD web seminar
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
= quantity of “k” size driverE = represents diseconomy of scaleEM = effort multiplier for the jth cost driver. The geometric product results in an
overall effort adjustment factor to the nominal effort.
x
Model Form
14
1,,,,,, )(
jj
E
kkdkdknknkekeNS EMwwwAPM
21ESD web seminar
4 Size Drivers1. Number of System Requirements
2. Number of System Interfaces
3. Number of System Specific Algorithms
4. Number of Operational Scenarios
Weighted by complexity, volatility, and degree of reuse
22ESD web seminar
14 Cost Drivers
1. Requirements understanding
2. Architecture understanding
3. Level of service requirements
4. Migration complexity
5. Technology Risk
6. Documentation Match to Life Cycle Needs
7. # and Diversity of Installations/Platforms
8. # of Recursive Levels in the Design
Application Factors (8)
23ESD web seminar
14 Cost Drivers (cont.)
1. Stakeholder team cohesion
2. Personnel/team capability
3. Personnel experience/continuity
4. Process capability
5. Multisite coordination
6. Tool support
Team Factors (6)
ESD web seminar
5 Fundamental Processes for Engineering a System
Source: EIA/ANSI 632 Processes for Engineering a System (1999)
25ESD web seminar
ISO/IEC 15288
Conceptualize DevelopTransition to
Operation
Operate,Maintain,
or Enhance
Replace or Dismantle
EIA
/AN
SI 6
32
Acquisition & Supply
Technical Management
System Design
Product Realization
Technical Evaluation
Operational Test &
Evaluation
SE Effort Profiling
26ESD web seminar
Integration Issues
For each individual model as well as the unified model:1. Objectives & Strategies
2. Inputs/scope of work
3. Output/scope of estimate
4. Assumptions of each model
5. Stakeholders for each model
6. Counting Rules
7. Data sources for calibration
27ESD web seminar
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
28ESD web seminar
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.
29ESD web seminar
Other ModelsModel 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 Software domain