300 likes | 414 Views
Unification of systems and software engineering cost models. ESD Web Seminar February 23, 2007. Ricardo Valerdi, Ph.D. rvalerdi@mit.edu. Cost Modeling Development Support. MIT Lean Aerospace Initiative USC CSSE Corporate Affiliate Program
E N D
Unification of systems and software engineering cost models ESD Web Seminar February 23, 2007 Ricardo Valerdi, Ph.D. rvalerdi@mit.edu
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
Roadmap • Cost estimation 101 • COCOMO & COSYSMO • Activities & Phases • Integration issues • Next steps
My Purpose in Life To help people reason about their economic decisions related to software and systems engineering
Cost Estimation Approaches • Parametric cost modeling • historical data • Expert judgment • Grey beards • Analogy • Compare with completed projects • Parkinson's Law • determined by available resources rather than by objective assessment • Pricing to win • whatever the customer has available • Top- down estimation • decompose logical function • Bottom- up estimation • Roll up
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)
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)
COCOMO II Phases & Modes Rational Unified Process (RUP) • Inception • Elaboration • Construction • Transition Modes • Early design • Post-architecture
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
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
Effort Multipliers • Product attributes • Required software reliability (RELY) • Database size (DATA) • Documentation match to life-cycle needs (DOCU) • Product complexity (CPLX) • Required Reusability (RUSE)
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)
Effort Multipliers (cont.) • Project attributes • Use of software tools (TOOL) • Multisite Development (SITE) • Required Development Schedule (SCED)
COCOMO Operational Concept SLOC; or Function Points; or Application Points Size Drivers COCOMO Effort Scale Factors Schedule Effort Multipliers • Product attributes • Platform attributes • Personnel attributes • Project attributes Calibration
Historical Overview of COCOMO Suite of Models Other Independent Estimation Models Software Cost Models DBA COCOMO 2004 COCOMO 81 1981 COCOMO II 2000 COCOTS 2000 COSYSMO 2002 COINCOMO 2004 COSoSIMO 2004 Costing Secure System 2004 iDAVE 2003 COPLIMO 2003 COPSEMO 1998 Security Extension 2004 COQUALMO 1998 COPROMO 1998 CORADMO 1999 Software Extensions 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 Dates indicate the time that the first paper was published for the model
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 Operate, Maintain, or Enhance Replace or Dismantle Transition to Operation Oper Test & Eval Develop
# Requirements # Interfaces # Scenarios # Algorithms + 3 Volatility Factors Size Drivers COSYSMO Effort Effort Multipliers • Application factors • 8 factors • Team factors • 6 factors Calibration WBS guided by EIA/ANSI 632
Model Form 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 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.
4 Size Drivers • 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
14 Cost Drivers Application Factors (8) • 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
14 Cost Drivers (cont.) Team Factors (6) • Stakeholder team cohesion • Personnel/team capability • Personnel experience/continuity • Process capability • Multisite coordination • Tool support
5 Fundamental Processes for Engineering a System Source: EIA/ANSI 632 Processes for Engineering a System (1999)
EIA/ANSI 632 SE Effort Profiling Operate, Maintain, or Enhance Transition to Operation Operational Test & Evaluation Replace or Dismantle Conceptualize Develop ISO/IEC 15288 Acquisition & Supply Technical Management System Design Product Realization Technical Evaluation
Integration Issues For each individual model as well as the unified model: • Objectives & Strategies • Inputs/scope of work • Output/scope of estimate • Assumptions of each model • Stakeholders for each model • Counting Rules • Data sources for calibration
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
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.
Software domain Hardware domain Other Models
Contact Ricardo Valerdi rvalerdi@mit.edu (617) 253-8583 www.valerdi.com/cosysmo