Software Lifecycle Management Lecture r2SEF for COCOMO Integrating Duration, Effort, Cost, Defects, and Uncertainty TM Presentation to 22nd International Forum on Systems, Software, and COCOMO Cost Modeling Mike Ross President & CEO r2ESTIMATING, LLC 7755 E. Evening Glow Drive Scottsdale, Arizona 85262-1295 (o) 480.488.8382 (f) 480.488.8420 mike.ross@r2estimating.com November 2007 © Copyright 2007 by r2Estimating, LLC. All rights reserved. This document is copyrighted and all rights are reserved. No part of this document may be reprinted or reproduced in any form without permission from r2Estimating, LLC. Requests for permission to reproduce this document or to prepare derivative works of this document should be addressed to r2Estimating, LLC, 7755 E. Evening Glow Drive, Scottsdale, AZ 85262-1295. Phone 480-488-8366. FAX: 480-488-8420. r2Estimating, LLC is a registered trade name in the State of Arizona.
r2 Software Estimating Framework (r2SEF) Goals Unify Existing Model Mathematics Software Productivity Defect Propensity Management Stress Provide More Calibration Flexibility Provide Visual Tools for Analyzing Tradeoffs Provide Visual Tools for Analyzing Uncertainty
r2 Software Estimating Framework (r2SEF) Equations (Ross, 2007a)
r2SEF Variables (Ross, 2007a)
r2SEF Variables (Ross, 2007a)
COCOMO II to r2SEF Software Productivity Equation (Boehm, et al., 2000), (Ross, 2007a)
COCOMO II to r2SEF Software Productivity Equation Variables (Ross, 2007a)
COCOMO II to r2SEF Defect Propensity Equation (Boehm, et al., 2000), (Ross, 2007a)
COCOMO II to r2SEF Defect Propensity Equation (Ross, 2007a)
COCOMO II to r2SEF Defect Propensity Equation Variables (Ross, 2007a)
COCOMO II to r2SEF Management Stress Equation (Boehm, et al., 2000), (Ross, 2007a)
COCOMO II to r2SEF Management Stress Equation Variables (Ross, 2007a)
COCOMO II to r2SEF Management Stress Equation Variables (Boehm, 1981), (Ross, 2007a)
Single Point Estimate and Goal Satisfaction Stress (M) Size/Efficiency Ratio
Uncertainty in Size and Efficiency 99% Size/Efficiency Ratio 50% 1%
Distribution of Solutions for a Given Management Stress Value Stress (M) 99% Size/Efficiency Ratio 50% 1%
Ranges of Possible Outcomes Stress (M) 99% Size/Efficiency Ratio 50% 1%
Size/Efficiency Ratio Typical (Nominal Stress) Solution at 70% Desired Confidence Probabilities Stress (M) 70% Size/Efficiency Ratio 50%
Example Software Project Estimating Scenario Real time embedded avionics software for commercial air transport application Effective software size: [45,000; 50,000; 60,000] SLOC (triangular) Nominal defect density: [1.06; 1.48; 2.07] defects/KSLOC (triangular) Cost of labor: 40 ph/pw; $100/ph Constraints: Duration: Goal ≤ 104 weeks; Confidence ≥ 80% Effort: Goal ≤ 2,000 pw; Confidence ≥ 50% Cost: Goal ≤ $7,000,000; Confidence ≥ 80% Defects: Goal ≤ 100 deliv. defects; Confidence ≥ 90%
COCOMO II Post Architecture Scale Driver and Effort Multiplier Inputs
Typical (Nominal Management Stress)
Minimum Acceptable Duration
Minimum Necessary Duration
Identifying and Analyzing Alternatives Change Assumptions Reduce the effective software size (i.e., postpone or eliminate functionality), Reduce the uncertainty range around effective software size (i.e., refine the size estimate and secure functionality freezes to reduce variability and potential for growth), Increase efficiency (i.e., better people, better processes/tools, less complex product, etc.), Reduce the uncertainty range around efficiency (i.e., lock down decisions about the product technology and the development environment). Change Constraints Relax one or more of the goal values, Relax one or more of the desired confidence probabilities.
Reduced Effective Software Size
Relaxed Duration Goal
High Duration Risk
Composite Solution #1 Reduced Size & Relaxed Duration Goal
Composite Solution #2 Relaxed Effort, Cost, & Defects Goals
References Boehm, Barry W. 1981. Software Engineering Economics. Englewood Cliffs : Prentice-Hall, Inc., 1981. Boehm, Barry W., et al. 2000. Software Cost Estimation with COCOMO II. Upper Saddle River : Prentice-Hall, Inc., 2000. Browne, J. 2001. Probabilistic Design: Course Notes. Melbourne, Australia : Swinburne University of Technology, 2001. Jensen, Randall W. n.d.. An Improved Macrolevel Software Development Resource Estimation Model. s.l. : Software Engineering, Inc., n.d. Musa, John D. 2004. Software Reliability Engineering: More Reliable Software Faster and Cheaper. 2nd. Bloomington : AuthorHouse, 2004. Norden, Peter V. 1977. Project Life Modeling: Background and Application of Life Cycle Curves. Proceedings, Software Life Cycle Management Workshop. Airlie, VA, USA : Sponsored by USACSC, 1977. Putnam, Lawrence H. 1980. Software Cost Estimating and Life-Cycle Control: Getting the Software Numbers. New York : IEEE Computer Society, 1980.
References Ross, Michael A. 2007a. Next Generation Software Project Estimating: 25 Years and Thousands of Projects Later. Proceedings, Joint ISPA / SCEA 2007 Conference. New Orleans, LA, USA : The International Society of Parametric Analysts and The Society of Cost Estimating and Analysis, June 2007a. —. 2007b. Next Generation Software Project Estimating: Know the Odds Before Placing Your Bet. Proceedings, AIAA SPACE 2007 Conference & Exhibition. Long Beach, CA, USA : American Institute of Aeronautics and Astronautics, September 2007b. AIAA 2007-6022.