NYS Forum Project Management Community of Practice Presents….. Estimating Techniques and Tools September 30, 2004 Introductions ¾ Presenter: Michael LaBarge ¾ Supporting Cast: • Joann Dunham • Steve Lawlor 2 What is Estimating? ¾ Part Art, Part Science? ¾ “Black Box Tool”? • Lines of Code In • Project Cost Out ¾ Completion Date Blurted Out While Under Duress from Senior Management ¾ Process of Associating a Value with Cost, Duration and Effort for a proposed project. 3 The Formula ESTIMATE = ((C+H) x S) Where: C = Conjecture H = Hypothesis S = Supposition Rule # 1 Estimates Are Wrong 4 What Should Estimating Be? ¾ Accurate ¾ Repeatable ¾ Defensible ¾ Well Documented ¾ Management Tool 5 Agenda ¾ Fundamentals of Estimating • Components of a Good Estimate • Characteristics of a Good Estimate ¾ Estimating Techniques Overview ¾ Creating The “Basis of Estimate” ¾ Estimating Tool Overview 6 NYS Project Life Cycle – A Refresher Project Origination Project Initiation Project Planning Project Execution & Control Project Closeout (As outlined in the “NYS Project Management Guidebook”) 7 Fundamentals of Estimating ¾ When Do We Need an Estimate? • Project Origination - Project Proposal / Business Case Strategic Planning, Budget Development • Project Initiation • Project Planning • Project Execution - In-flight Forecasting - Change Requests - “Next Phase” Detailed Estimate 8 What Needs to be Estimated? ¾ Scope • Defines the Boundaries of the Project - Defined In Business Terms - Business Functions to be Addressed as Part of the Project ¾ Size • Software - Size of the Application Under Consideration • Non-Software - Non Application Deliverables such as Requirements, Documentation, Training - Measured by Interviews Performed, Pages of Documentation, Training Sessions 9 What Needs to be Estimated? (cont.) ¾ Effort • Defines Amount of Effort Required to Deliver The Agreed upon Scope • Effort is Measured in Applied Hours, Person Months, etc. ¾ Staffing • The Number of People Required to Deliver the Agreed upon Scope ¾ Schedule • Duration of Time Required to Deliver the Agreed Upon Scope ¾ Cost • Defines Both Labor and Non-Labor Costs of Delivering the Agreed Upon Scope Rule #2 It’s The Things You Don’t Estimate That Hurt You 10 Inter-Relationship of Components Scope Non-Product Size Product Size Effort Time Staffing Labor Cost 11 Inter-Relationship of Components Scope Non-Product Size Product Size Effort Time Staffing Labor Cost 12 Getting Started ¾ Identify Purpose of Estimate • What Needs to be Estimated? • How is Estimate Going to be Used? • What Degree of Accuracy is Needed? • Who is Requesting the Estimate? 13 Types of Estimates ¾ Two Main Estimating Categories • Sizing Estimate - Rough Order of Magnitude(ROM) - Strategic Planning - High Level Budget Planning • Detailed Estimate - Project Budget - Firm Project Schedule - Tactical Decision Making - Plan, Schedule and Monitor Project Activities 14 Characteristics of Sizing Estimates ¾ High Level Approximations used for making Strategic decisions. • Project Go/No Go decisions • Project Origination • Business Case Development • Make Vs. Buy • Project Prioritization for Portfolio Management ¾ Measured in Overall Effort, Cost or General Implementation Timeframes. ¾ Considered a Rough Order of Magnitude Estimate • Wide Confidence Range of -25% to +75% 15 Characteristics of Detailed Estimates ¾ Used for Tactical Decisions Related to Projects • Project Planning • Resource Assignments • Delivery Dates • Budgeted Costs ¾ Provide Enough Information for Individual Project Assignments ¾ Detailed Estimates Fall into Two Categories Based on Accuracy • Budgetary (Confidence Level of -10% to +15%) • Defined (Confidence Level of -5% to +10%) 16 Estimating & The PM Lifecycle Project Origination Project Initiation Sizing Detailed (Budgetary) Rough Order of Magnitude Tactical Decisions Confidence Range Of -25% to +75% Confidence Range Of -10 to +25% Project Planning Project Execution and Control Detailed (Defined) Detailed (Defined) Generate Work Assignments “In-Flight” Estimating Confidence Range Of -5 to +10% Generate Work Assignments Confidence Range Of -5 to +10% 17 Estimating Techniques 18 Top Down Estimating ¾ Use High Level View of Project and Produce Estimates Quickly ¾ Produce Effect Sizing Estimates When a Limited Amount of Detailed Information Exists About the Project ¾ Can be Comparison Based • Compare Characteristics or Functionality from Known Projects ¾ Can also be used as a Reasonability Check for Detailed Estimates 19 Bottom-Up Estimating ¾ Involve Significant Level of Detail ¾ Used When Definitive , Detailed Estimates of Effort and Cost are Required ¾ Involves Generating Individual Estimates for Small Units of Work Products ¾ Summarizing Units of Work to Generate Overall Effort (WBS) ¾ Used to Determine Project Schedules and Delivery Time Frames 20 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model Rule #3 There is No Silver Bullet 21 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model 22 Function Point Analysis (FPA) ¾ A Sizing Technique That Relies upon a Logical Business View of the System ¾ Considers Five Weighted Variables • External Inputs • External Outputs • Logical Internal Tables • External Queries • External Interfaces ¾ Calculated Function Points are Converted to Effort Based on Industry or Organizational Metrics 23 Function Point Analysis (FPA) ¾ Strengths • Capable of Generating Accurate Estimates Early in Software Development Life Cycle (SDLC) • Universally Recognized Sizing Units • The Heart of Most Estimating Tools ¾ Weaknesses • Training in Function Point Counting is Required • Time Consuming Manual Process Rule #4 Individual Results May Vary 24 Calculating Function Points Type External Inputs Externa Interface Files External Outputs External Queries Logical Internal Tables Language C++ COBOL Visual Basic 6 SQL HTML Number Conversion Factor 4 3 4 4 6 4 7 5 4 10 Function Points = (4*4)+(3*7)+(4*5)+(4*4)+(6*10) =133 SLOC per Function Point 53 107 24 SLOC = (133*24)=3,192 13 14 Function Points & Source Lines Of Code are the Heart of Most Estimating Tools 25 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model 26 Work Distribution Model ¾ Modeling Technique Based on the Utilization of a Standard SDLC and Project History ¾ Used In Conjunction with Other Modeling Techniques as a “Reality Check” ¾ Calculates Distribution of Effort or Cost by Major Development Phase Rule # 5 History Repeats Itself 27 Work Distribution Model ¾ Strengths • Can be Used to Validate and Existing Estimate • Can Distribute Estimated Costs or Effort Across Major Phases of SDLC ¾ Weaknesses • Requires Project Data be Collected and Analyzed (Multiple Projects) • Should be Used in Conjunction with Other Estimating Techniques 28 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model 29 Comparison Based ¾ Often Used in Conjunction with Expert-Based Technique ¾ Assumes That if Two Projects are Alike in Some respects, Other Similarities May be Inferred ¾ Compare Projects to develop Ballpark Estimate ¾ Adjust Estimate Based on Differences in Projects ¾ Best Results Occur With Historical Data Rule #6 Predictable Life Cycle Yields Predictable Estimates 30 Comparison Based ¾ Strengths • Can be Used to Develop Top-Down or Bottom-Up Estimate • Can Quickly Provide a Top-Down Rough Order of Magnitude(ROM) Sizing Estimate ¾ Weaknesses • Accuracy Dependent on Actual Similarities of Projects • Key Effort Drivers Like Technology or SDLC may be Different 31 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model 32 Expert Based ¾ Results are Heavily Dependent on “Hands On” Experience of the Estimators ¾ Best Results Occur When Historical Project Metrics are Available ¾ Should be used in Conjunction with other Estimating Techniques 33 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model 34 Estimating Techniques ¾ Function Point Analysis ¾ Work Distribution Model ¾ Comparison Based ¾ Expert Based ¾ Consensus Estimating • Used in Conjunction with Other Techniques ¾ Putnam Distribution Model 35 Putnam Distribution Model ¾ Used When There is A Significant Amount of Uncertainty of About the Task Being Estimated ¾ Accounts for Uncertainty by Calculating a Weighted Average ¾ Factors “Best Case”, “Worst Case” and “Most Likely” Occurrence ¾ Usually Used in Conjunction with Other Estimating Techniques (Expert Based, Consensus) 36 Putnam Distribution Model ¾ Strengths • Can Be used to Calculate a Weighted Average Estimate when Little Information or Prior Experience Exists • Calculates Standard Deviation Which Can Quantify Range of Uncertainty ¾ Weaknesses • Often Represents “Precision without Accuracy” • Produces Estimate Range 37 Putnam Distribution Produce Three Estimates Calculate Expected Value Low Estimate 10k LOC Most Likely Estimate 12k LOC High Estimate 18k LOC Calculate Standard Deviation SD = H - L 6 SD = 18k - 10k 6 =1.333k LOC Expected Value = L + (MLx4) + H 6 E V = 10k + (12kx4) + 18k 6 = 12.67k LOC Based on Normal Curve using Standard Deviation • 50% of Occurrences will be > EV at +3 SD • 50% of Occurrences will be < EV at -3 SD Based on Normal Curve 66% of Occurrences will fall within 1 SD 38 Let’s Do a Simple Estimate Effort = KSLOC * Productivity From FPA Project Type SLOC = (133*24)=3,192 = 3.2 KSLOC COCOMO Default Embedded Dev E-Commerce DEV Linear Productivity 2.94 2.58 3.6 Effort = 3.2 * 3.60 = 11.5 Person Months (for Code and Unit Test) Let’s Estimate the Rest of The Product 39 Let’s use Work Distribution (SDLC Based) Model 11.5 Person Months for Code and Unit Test Relative to Effort For Code and Unit Test … Requirements (20%) Technical Design (20%) 2.3 Person Months 2.3 Person Months Code & Unit Test Integration Test (30%) System Test (20%) User Test (15%) 11.5 Person Months 3.5 Person Months 2.3 Person Months 1.7 Person Months Total Effort 23.6 Person Months 40 Estimating & The PM Lifecycle Project Origination Sizing Rough Order of Magnitude Top Down Estimating FPA Work Distribution Consensus Expert Confidence Range Of -25% to +75% Project Initiation Detailed (Budgetary) Tactical Decisions Bottom-Up Estimating Confidence Range Of -10 to +25% Activity Level Work Breakdown Structure AND Work Distribution Consensus Expert 41 Planning & The PM Lifecycle Project Planning Work Breakdown Detailed (Defined) Generate Work Assignments Confidence Range Of -5 to +10% AND Stop Estimating Task Level Consensus Expert Project Execution and Control Work Breakdown Detailed (Defined) Manage Work Assignments Confidence Range Of -5 to +10% AND Task Level Consensus Expert Start Planning 42 Planning & The PM Lifecycle Project Closeout ¾ Capture Metrics, Update BOE and Document Estimating Lessons Learned • Effort Expended • Costs • Staffing ¾ The More Detail You Capture … The Better Future Estimates Will Be 43 Life Cycle Of an Estimate Estimate for Strategic Planning and Go /No-Go Decision In-flight Forecasting Change Request Develop Budgetary or Project Plan Estimate Refine Estimates Sizing/ROM Top-Down Detailed (Budgetary or Defined) Project Origination & Business Case Techniques Development FPA Consensus Expert Based Comparison Based Work Dist. Model Detailed (Defined) Bottom-Up Project Initiation & TechniquesProject Execution Tools & Tools Project PlanningConsensus KEM KEM Change Management QSM Expert Based COST Xpert Comparison Based WBS QSM COST Xpert 44 Basis of Estimate (BOE) 45 Basis of Estimate (BOE) ¾ What is a BOE? • A Written Justification For a Project Estimate and the Basis (Planning Assumptions) by which the Project Manager Can Predict How Changes in the Project Landscape will effect Current Project Plan and Cost. • Project Communication Vehicle to Increase the Probability of Project Success. 46 Components of BOE ¾ A Good BOE Should Include the Following: • The Estimating Techniques that were used • Who Participated in the Estimating Process • Identification of Projects used as Comparisons • The Historical Data that was used in the Estimate • The Confidence Level of the Estimate 47 Confidence Level ¾ What Determines a Confidence Level? • Level of Knowledge about the Scope • Level of Risk • Level of Detail of the Estimate • Technique(s) used to Complete Estimate • Related Experience of Those that Developed the Estimate ¾ Well Defined Scope and Detailed Estimates Result in High Confidence Levels • Lower Change or Contingency Budgets 48 Reviewing A BOE ¾ How Well is The Scope Defined? ¾ Determine What Estimating Techniques were used • Will the Technique used Support the Accuracy I Need? • Was Historical Data Used? ¾ Determine Who Participated in the Estimating Process • Was it a Team Approach? • Were the “Experts” Involved? • Did They Have Access to Historical Data? ¾ Identify Projects used as Comparisons • How Similar are the Projects? • Do you have a BOE for Previous Project? 49 Let’s Review The Rules ¾ Rule # 1 - Estimates Are Wrong • Understand The Purpose of The Estimate • Review And Validate The BOE ¾ Rule # 2 - It’s The Things That you Don’t Estimate That Hurt You • Understand the Scope • When Possible Use A Work Breakdown Structure • Get The Experts Involved ¾ Rule # 3 - Individual Results May Vary • If Using a Tool Understand The Metrics Used • Gather Your Own History 50 Let’s Review The Rules ¾ Rule # 4 - There is No Silver Bullet • No One Technique is Sufficient • The More Detail the Better ¾ Rule # 5 - History Repeats Itself • Capturing Detailed Project History at Project Closure is Key ¾ Rule # 6 - Predictable Life Cycle Yields Predictable Estimates • Capturing History For All Phases and Activities Will Make Estimates Repeatable • Not All Projects Will Use All Activities • Make Sure That This is In Your BOE 51 Estimating Tools 52 Estimating Tools ¾ QSM/SLIM ¾ Cost Xpert ¾ Keane Estimating Model ¾ COCOMO (Various) ¾ Cosmos 53 QSM/SLIM 54 Key Concepts in QSM/SLIM ¾ Estimates cost, schedule, effort and quality ¾ Utilizes concept of a ‘Performance Index’ • Measures the proficiency of your agency performance vs. similar organizations ¾ Estimating tool is part of a suite of integrated components • Historical Data Collection • Project Oversight • Analysis ¾ Combines organization-specific performance with related industry trends and data ¾ Provides estimating ‘wizards’ to speed estimating process 55 Sample QSM/SLIM Screens and Reports 56 Cost Xpert 57 Key Concepts in Cost Xpert ¾ Supports multiple ‘categories’ of projects • Construction • Financial Services • Systems Development ¾ Flexibility to model large variety of project scenarios, accommodating: • Different Life Cycle Approaches • Multiple Labor Categories and Related Costs • Varying estimating techniques (FPA, COCOMO etc.) 58 Sample Cost Xpert Screens/Reports Variables such as Project Type and Lifecycle are selected from drop-down lists Accommodates and accounts for Project Constraints such as ‘Customer Response Time’ 59 Keane Estimating Model 60 Key Concepts in KEM Keane Points - a neutral unit of measurement for product sizing Provides equivalency independent of language or technology Linked to language selection(s) to provide basis as work effort Established and adjusted internally to KEM Product Size – Measurement of a software system in Keane Points Product Effort – Basic Work Effort for a software system measured in hours Project Effort - The Work Effort to develop a software solution, including business modeling, user acceptance testing, training, and other tasks beyond the Product Gearing Factor A scalable parameter used in calculation of work effort Fixed value within KEM Established and adjusted internally to KEM 61 KEM Estimation Process Steps ¾ Specify Project Overview Information ¾ Estimation Worksheet (system breakdown structure, estimation assumptions) ¾ Calculate Product Sizing ¾ Calculate Product Effort ¾ Specify Project-Specific Gearing Factors (optional) ¾ Distribute Work Effort to Lifecycle Steps and Supporting Activities – Finalize Work Effort Estimate ¾ Specify Staffing Mix ¾ Generate and Analyze Resource Distribution ¾ Specify Project Costs ¾ Project Estimation Summary 62 63 NYS Forum Project Management Community of Practice Presents….. Estimating Techniques and Tools September 30, 2004