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