January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, Dennis J. Frailey,

Slides:



Advertisements
Similar presentations
Metrics for Process and Projects
Advertisements

Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M30 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
HIT241 - COST MANAGEMENT Introduction
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Copyright 2012 John Wiley & Sons, Inc. Chapter 7 Budgeting: Estimating Costs and Risks.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Information System Economics Software Project Cost Estimation.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Dr. M. Shamim HossainSWE 211 Effort, Duration and Cost Lec 3 1.
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
Fundamentals of Data Analysis Lecture 9 Management of data sets and improving the precision of measurement.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M29 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M11 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
Quality Software Project Management Software Size and Reuse Estimating.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Software Project Estimation IMRAN ASHRAF
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M18 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 2, Page 1 4/19/2003 Day 2, Part 2 Estimating Software Effort & Cost Section 1.
CSE SW Project Management / Module 20 - More Effort Estimation Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M20 Slide.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M15 version 5.09Slide 1 SMU CSE.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Rating Very Very Extra Cost Drivers Low Low Nominal High High High Product Attributes Required software reliability Database size.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Evaluating EVM January 13, EVM Issues and Opportunities ▪ EVM Basics ▪ EVM Issues ▪ EVM ETC and EAC Calculations ▪ EVM Cost and Schedule Value Calculations.
CSE SW Project Management / Module 30 - Managing with Earned Value / Measurement Issues Copyright © , Dennis J. Frailey, All Rights Reserved.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M19 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M21 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
CSE SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M14.
CSE SW Project Management / Module 11 - Overview of Size Estimating Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M11 Slide.
CSE SW Project Management / Module 19 - Some Popular Effort Estimation Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M19.
CSE SW Project Management / Module 18 - Introduction to Effort Estimating Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M18.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M20 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Information Technology Project Management, Seventh Edition Note: See the text itself for full citations.
Copyright 2015 John Wiley & Sons, Inc. Chapter 7 Budgeting: Estimating Costs and Risks.
بشرا رجائی برآورد هزینه نرم افزار.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 2, Page 1 8/8/2004 Day 2, Part 2 Estimating Software Effort & Cost Section 1.
Chapter 33 Estimation for Software Projects
Project Cost Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Cost Estimation I've got Bad News and Bad News!.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Cost Estimation
COnstructive COst MOdel
Chapter 26 Estimation for Software Projects.
Presentation transcript:

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 1 CHAPTER 6 DETAILED PLANNING - Effort and Cost (and Schedule Length) Estimating NOTICE: This material is copyrighted and may be copied or downloaded ONCE ONLY by students who are registered in this course at Southern Methodist University or National Technological University.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 2 What Will it Take to Build the Software?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 3 The Big Picture for Cost Estimating Estimate Size Estimate Effort and Cost Estimate Schedule Evaluate Source Information Statement of Work Requirements Constraints Standards Processes History etc. WBSSize Effort & Cost Schedule OK Complete Detailed Planning Revise & Negotiate Not OK

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 4 WBS Big Picture of Effort/Cost Estimating Process Estimate Size and Then Effort Estimate Costs Directly or as % of Development Costs Software Development Tasks requirements design code... Other Tasks and Costs management travel training overhead facilities equipment software … Convert to $ Total Cost Estimate Total Cost Estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 5 Measures of Effort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 6 Effort Is... … the amount of labor required for the project It is typically measured in staff months, staff days or staff hours But there are no generally accepted, precise definitions for these terms And people are known to “fudge” the definitions in their own favor

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 7 Two Executives on the Golf Course We do 50 LOC per staff month - you do only 40! How do you measure staff months?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 8 Staff-Hours, Staff-Days, or Staff-Months There are many ways to measure these And these three are NOT necessarily related in a simple manner Because of this, comparisons can be very misleading

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 9 How Many Hours per Day? 1 staff-hour = 1 person working for 1 hour 1 staff-day = 1 person working for 1 day

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 10 How Many Hours per Day? (continued) How many staff-hours per staff- day? – 7? 7.5? 8.0? 8.5? 9.5? ??? – How do you handle paid overtime? – How do you handle unpaid overtime? – How do you handle breaks, lunch hours, etc.?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 11 How many productive staff-days per staff-month? – 30? 21? 19? ??? – Does it depend on which month? The underlined value is the default assumed by many U.S. companies and many estimating models (this value allows for average number of vacation days and holidays in the U.S.) How Many Days per Month?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 12 How Many Hours per Month? 144? 148? 152? 160? 175? 184? ??? Factors that can affect this: – Which month is it? – What is the length of the work day? – How do you handle overtime? – Vacations and holidays – Sick days – What country you are in? – How do you allocate management overhead

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 13 Lines of code per staff month Objects Tested per staff hour Consistency is the Most Important Factor If you measure effort consistently, you can understand what it costs, compare different projects, and predict future performance

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 14 Consistency Allows Reasonable Comparisons With Past History Like software size, there are many ways to measure effort and many arguments why each is good or bad You cannot make meaningful evaluations if each project measures effort differently And you cannot tell what really happened on a previous project if you don’t know how they measured effort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 15 There tend to be fewer variations in how a staff-hour is measured But many organizations use staff- months -- so you need to know how to convert properly in your organization Measure Hours if you Can

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 16 What does a Staff-Month Mean? If it requires 12 staff-months, does this mean – 12 people for 1 month? – 1 person for 12 months? – 3 people for 4 months? – does it depend on the people? Too often, managers get caught by the assumption that all of these are equivalent

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 17 vs How Flexible is a Staff-Month? There is some flexibility, but only so much Brooks (see references: “The Mythical Man-Month”) explored this issue in considerable detail

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 18 Cost of Adding More People CC = (N * (N-1))/2 Where... N = Number of people CC = Communication Complexity (extra overhead of managing N people) Brooks’ Equation for Intercommunication Effort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 19 You Cannot Just Allocate People Arbitrarily staff- days required to do the work Calendar Time Allocated for the Work Optimal Schedule COCOMO MODEL OF TIME VS EFFORT

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 20 Putnam’s Size vs. Time Equation EFFORT = CONSTANT / TIME 4

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 21 Putnam’s Concept of a Feasibility Region log of time log of effort effort-interval “impossible” region inherent difficulty gradient

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 22 The Optimal Schedule Depends on Many Factors Process, People, Nature of Task, Tools, Management Approach, Environment, … Different cost estimating models make different assumptions about these matters and how they affect the results

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 23 Until we have a better theoretical foundation, the only way to determine the optimal is through experience The various estimating models represent the experience of their originators and thus may predict different “optimal” schedules The Optimal Schedule Depends on Many Factors

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 24 Regardless of What is Optimal, Your High Level Schedule May be Determined by Other Factors In early planning, your project’s overall goals and milestones may define constraints Product deadlines may determine schedule dates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 25 Regardless of What is Optimal, Your High Level Schedule May be Determined by Other Factors (continued) Reviews may have to occur at times convenient to others – Customers – Managers Optimal vs actual schedule information may help you determine cost impact (see later)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 26 Typical Inputs to the Effort Estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 27 Tasks to be Performed are a Major Input to Effort Estimation Typically these are found in the WBS – Software Development Tasks (Design, Code, Test) – Additional Development Tasks (Requirements, System Integration) – Support Tasks (CM, QA, Management) – Tasks requiring Additional Labor (documents, audits, etc.) – Additional Dollar Costs (travel, equipment, etc)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 28 Other Inputs to Effort Estimate Estimated software size Historical data on Effort & Productivity High Level Schedule Process and methods Programming Language Operating System for Target System Tools to be Used Staff Experience Level

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 29 Effort Estimating Steps 1) Summarize & document the requirements for each task – Cost content summary – WBS dictionary 2) Quantify the magnitude of each task – Size & complexity for software – # of pages, # of trips, # of whatever for other things

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 30 Effort Estimating Steps 3) Estimate effort for software development tasks 4) Estimate again with an alternative method 5) Resolve discrepancies (repeat from step 1, as required) 6) Add effort estimates for other tasks (such as support tasks)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 31 Notes for Effort Estimation Accuracy of estimate depends on – Experience – Historical data – Availability of information – & LUCK! At the start of a project, you are lucky to be within 20% unless you have very good historical data

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 32 Architecture of Spreadsheet Cocomo Based Estimate Other Effort Estimates... Historical Size Estimate Software Reuse Analysis Size / Reuse Effort Final Effort Estimate Productivity Based Effort Estimate Other Size Estimates... Final Size Estimate Delphi Size Estimate Effort & Cost Schedules Generic Schedule Effort Schedule Labor Schedule Cost Schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 33 Effort Estimation with “Historical Data”

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 34 Effort Can Be Estimated From Size and Productivity Effort = Size * Historical Productivity Examples: – Staff Days = Lines of Code*Staff Days/LOC – Staff Days = Modules*Staff Days/Module – Staff Days = Function Points*Staff Days/FP Whatever unit you measure, if you have good historical data, this method can be fast and effective

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 35 Typical Values for Productivity Rates 2-15 LOC/day for high order languages 3-25 LOC/day for assembly language Lower values for constrained projects – real time/ safety critical systems etc. Higher numbers for commercial applications with few constraints Even higher numbers can be achieved if you use 4GLs, high levels of reuse, etc.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 36 Example In the past, we have had the following productivity: – 4 LOC/sd for complex software – 8 LOC/sd for simple software For the new “8000 LOC”, “Complex” software, it should take 8000/4 = 2000 staff days …But how accurate is this?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 37 Historical Data are Seldom Precise or Consistent Example: Effort for complex software varies from 2 to 6 LOC per staff day, with a mean of 4 LOC per staff day The expected effort for an 8000 SLOC program might be As low as 1334 staff days or... As high as 4000 staff days!

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 38 In Other Words Historical Data usually gives a RANGE of values, not a precise estimate Based on past experience, this project should take from 100 to 125 staff months

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 39 Two Risk Management Approaches Plan to update your estimates – You will have better information in the future Use multiple estimating methods – They will help improve the bounds on your estimate – Each new method will identify issues that other methods overlook

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 40 Multiple Methods Example Method 1 How confident are you that this is right? X

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 41 Multiple Methods Example Method 2 How confident are you now? X X

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 42 Multiple Methods Example Method 3 Now, where do you think the truth is? Why is method 3 so different? X X X

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 43 What do Multiple Methods Tell You ? They help you understand the degree of uncertainty and/or confidence in your estimate - so you can manage more effectively They force you to ask hard questions about what facts each method overlooks They help you learn

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 44 Beware of Averages Significant differences in estimates usually mean significant differences in assumptions or facts considered In such cases, averages may be meaningless XXXXXXX Average is Meaningless

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 45 Statistical Variances and Uncertainties True Cost? Method 1 Method 3Method 2 Region of Likely Costs

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 46 Wideband Delphi Wideband Delphi can be used to estimate effort as well as size – On small projects this is often the most effective way to estimate effort – Also useful for estimating other costs, such as management overhead, tools,support functions etc. I assume it will take 3 people for 2 months. x xx x x

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 47 Estimation as a Series of Schedules

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 48 A Fundamental Issue in Estimation How do you “put” it all together? – Size – Effort – Cost – Schedule – Staffing Levels How do you “keep” it all together as you revise and update the estimates?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 49 A General Process for Documenting & Updating Estimates The process to be described is a framework for estimating You can use any estimating methods you choose The process allocates estimated effort and cost across a schedule And by using a spreadsheet, you can easily update all estimates (see assignment 5)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 50 Architecture of Spreadsheet Model Based Effort Estimate Other Effort Estimates... Historical Size Estimate Software Reuse Analysis Size / Reuse EffortEffort and Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Other Size Estimates... Final Size Estimate Delphi Size Estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 51 Some Features of This Estimating Process The process allows you to evaluate: – Staffing and shopload – Resource requirements (equipment, people, money, …) – Cash flow It serves as a basis for managing – It provides initial estimates of many quantities you will want to track against actuals during project execution

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 52 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Cost Schedule Cost S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Info The Estimation Sequence

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 53 Cost Categories for WBS Tasks Each category of cost is used at a different point in the estimating process

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 54 A “Quick and Dirty” Cost Estimate To illustrate the process To get an initial estimate in 30 minutes Note that this simplifies many of the steps, but shows the basic order in which things happen

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 55 A “Quick and Dirty” Cost Estimate (continued) Top level schedule is generally determined earlier in the process, as part of initial planning – But it may be revised during this process, generally at the end of step 2 Generic schedule is not used in this “quick and dirty” case

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 56 “Quick and Dirty” Cost Estimate Steps 1-3 (effort schedule) 1) Base Effort = Software Development Effort, excluding all other activities – Estimate each WBS task associated with software development (type S) – Sum the Estimates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 57 Quick and Dirty Cost Estimate Steps 1-3 (effort schedule) 2) Adjusted Base Effort = BASE EFFORT + effort for additional development tasks (type SA) 3) Total Effort = ADJUSTED BASE EFFORT + percentage increment for support tasks (type P)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 58 Quick and Dirty Cost Estimate Steps 4-5 (labor and cost) 4) Total Labor = TOTAL EFFORT + additional labor (type AL). This can be expressed in staff-months or can be divided into specific staff categories. 5) Total Cost = TOTAL LABOR * LABOR COST RATE + additional dollar costs (type AD).

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 59 Example Step 1 - Base Effort (S tasks) 12,000 SLOC is size estimate We normally develop about 6 SLOC per staff day on projects like this So it should require about 2000 staff days = 100 staff months (sm) – (at 20 working days per month)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 60 Example Step 2 - Adjusted Base Effort (+SA tasks) Requirements and system integration support (SA tasks) should add 30% – Total = 2600 staff days = 130 sm Top level schedule for this is 12 months. Can do with 8-10 people on the average. Effort Schedule: M1M2M3M4M5...M12TOT

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 61 Example Step 3 - Total Effort (+P tasks) Support for “P” tasks (CM, QA, and management) should add about 25% = 3250 staff days = 163 sm – Assume this is distributed evenly across the schedule Total Effort Schedule: M1M2M3M4M5...M12TOT

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 62 Example Step 4 - Labor Schedule (labor categories) Labor will be divided into 3 categories. TypeM1M2M3M4M5... M12TOT Senior % Normal % New % Total

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 63 Example Step 4 - Labor Schedule (+AL tasks) Need to add extra staff for V&V activity V&V Total TypeM1M2M3M4M5... M12TOT Senior % Normal % New % Total

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 64 Example Step 5 - Convert Effort to Cost Senior - $5000 per month Normal - $4000 per month New - $3000 per month V&V - $8000 per month (government-imposed beltway bandits) (48 * 5000) + (83 * 4000) + (32 * 3000) + (16 * 8000) = $796,000 total This shows the total dollars. By allocating across the schedule, we see how those dollars are spent each month during the project.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 65 Step 5 - Cost Schedule TypeM1M2M3M4M5… M12TOT Senior Normal New SubTot Extra staff for V&V activity V&V Total Labor Replaced by Dollar Costs (in $1000’s)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 66 Step 5 - Cost Schedule (+AD Costs) TypeM1M2M3M4M5… M12TOT ……. Total Additional costs (expressed in K$) Computers Travel … Grand Total Any other costs can be added in dollars

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 67 Example (other options) 5a) Can include overhead in scale or add-on later 5b) Can calculate for each week or whatever by similar methods 5c) Can now add non-labor cost items expressed in dollars, such as rent, overhead, computers, etc. 5d) Can also adjust for inflation in future years, for long projects

January 20, 2000 Slide # 68 The Estimation Sequence in Detail

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 69 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Cost Schedule Cost S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Info The Estimation Sequence

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 70 The Generic Schedule is... … a mapping of “the process” to the project time period – It indicates what portion of the schedule will be devoted to each phase of the process … the schedule control mechanism for the estimating spreadsheet – If you change your schedule or your process, you adjust the generic schedule and the rest of the schedules will automatically adjust

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 71 The Generic Schedule Tells You... Where you will perform each process phase, in relation to the overall project schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 72 Typical Generic Schedule for Waterfall Model Lifecycle

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 73 Typical Generic Schedule for Incremental Model Lifecycle

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 74 Generic Schedule Notes You can do a separate generic schedule for each separate software product Or you may combine products into one generic schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 75 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Cost Schedule Cost S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Info The Estimation Sequence

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 76 The Effort Schedule is... A mapping of the effort to the process phases and the schedule – It indicates how much effort will be spent each month on each phase of the process

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 77 You Need to Partition the Process by Phase

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 78 Typical Effort Schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 79 To Produce the Effort Schedule Multiply each cell in the Generic Schedule by the total effort to be spent on the corresponding phase of the process The result is the corresponding cell in the Effort Schedule Details are found in the materials and exercises that you can download from the web page for this course

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 80 The Effort Schedule Tells You... How much total effort will be expended each month, for basic software development & support What will be going on each month in terms of process phases How many people you will need each month

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 81 The Effort Schedule Tells You about Additional Risks Unrealistic staff growth Grossly uneven staffing needs

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 82 Typical Staff Count Graph Data taken directly from effort schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 83 You can Tack Actuals During Execution

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 84 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Cost Schedule Cost S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Info The Estimation Sequence

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 85 The Labor Schedule is... A mapping of the labor categories to the process phases and the schedule … similar to the Effort Schedule, but the rows correspond to categories of labor rather than process phases

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 86 The Labor Schedule is … (continued) It indicates how much effort will be spent each month by each category of labor And it incorporates labor for tasks beyond basic software development

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 87 Labor Schedule Begin with a Chart of Labor % and Rates for Different Categories The Salary should be measured in ($/Unit Effort)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 88 Labor Schedule Labor = Monthly effort * Percentage for the category

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 89 The Labor Schedule Tells You... How much total effort will be expended each month by type of worker (labor category) Total effort including certain types of labor that were excluded from the effort schedule Risks it may identify: Unrealistic labor distributions

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 90 Notes about Labor Rate Chart Overhead costs may be incorporated in rates here or later Labor categories can be whatever makes sense for your work environment – by level of experience – by job grade – by type of work performed Don’t need to get too detailed – 5-10 categories is usually enough

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 91 People Count from Labor Schedule Labor Schedule can be used to generate a people count graph, similar to the one from the Effort Schedule – Labor schedule may be more accurate because it includes additional labor tasks Labor Schedule can also be used to generate a graph of effort or people count by labor category

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 92 Staffing by Category Comes from Labor Schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 93 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Cost Schedule Cost S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Info The Estimation Sequence

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 94 The Cost Schedule is... … a mapping of the dollars to the labor categories and the schedule … similar to the Labor Schedule, but the cells indicate dollars rather than effort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 95 The Cost Schedule is … (continued) It indicates how much money will be spent each month by each category of labor And it incorporates money for costs not measured in units of labor (e.g., travel)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 96 Cost Schedule Multiply the labor schedule by rates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 97 The Cost Schedule Tells You... How much money will be spent each month by type of worker (labor category) Total cost including certain costs that were excluded from previous schedules because they are not effort (equipment, rent, interest, travel, etc.) Risks it may identify: Unacceptable cash requirements

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 98 The Cost Schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 99 The Cost Schedule has Many Uses Cost of the Project How much money you need each month Categorizes expenses by category Inflation can be adjusted for longer projects Interest information may be incorporated if money must be borrowed

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 100 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Cost Schedule Cost S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Info The Estimation Sequence

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 101 Architecture of Spreadsheet Model Based Effort Estimate Other Effort Estimates... Historical Size Estimate Software Reuse Analysis Final Effort Estimate Productivity Based Effort Estimate Other Size Estimates... Final Size Estimate Delphi Size Estimate Size / Reuse EffortEffort & Cost Schedules Generic Schedule Effort Schedule Labor Schedule Cost Schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 102 2) Estimating Effort using Estimating Models These are models that help us predict cost, given many facts about the software (The principal facts are the estimated size and complexity of the software) These are similar to the size models we discussed before, in general concept

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 103 Architecture of Spreadsheet Model Based Effort Estimate Other Effort Estimates... Historical Size Estimate Software Reuse Analysis Final Effort Estimate Productivity Based Effort Estimate Other Size Estimates... Final Size Estimate Delphi Size Estimate Size / Reuse EffortEffort & Cost Schedules Generic Schedule Effort Schedule Labor Schedule Cost Schedule

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 104 Developing an Estimation Model

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 105 An Estimation Model is... An equation or set of equations that produces an estimate of the effort, given inputs that describe the software to be written Estimation Model Description of Software Estimate of Effort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 106 A Very Simple Model Examples: – Staff Days = Lines of Code*Staff Days/LOC – Staff Days = Modules*Staff Days/Module – Staff Days = Function Points*Staff Days/FP The first estimation method is, in fact, a very simple estimating model Effort = Size * Productivity

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 107 A Graph of the Model EffortEffort Size Effort = Size * Constant

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 108 But We Know That... Effort grows faster as size increases, due to management overhead and other such factors So the graph ought to curve up rather than being a straight line

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 109 Perhaps Something like This Size EffortEffort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 110 One Model That Produces Such a Curve a and b are constants that depend on the company and the type of software Effort = a * Size b Many organizations find that their software effort fits this model for effort as a function of software size Size EffortEffort

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 111 How to Determine the Curve By observing company experience over a period of time, you can collect enough data to determine whether this curve fits your data And calculate typical values of a and b While such models are more commonly used for large projects, there are many principles applicable to small projects as well

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 112 Basic Cocomo Model Size is in Thousands of Lines of Code Effort is in Staff Months, assuming 19 staff days per staff month Effort = 3 * Size 1.12 This is the least detailed version of the Cocomo model. It is often used for making “sanity checks” on results of estimates from other methods

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 113 Calibrating & Validating a Model

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 114 Validation... … is the process of evaluating or proving that the model accurately predicts what you want it to predict – Does your data typically fit the curve? – Is this the right curve? – What was the basis for the equation(s) used in the model? What assumptions were made? What type of application is intended?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 115 For Example, the Cocomo Model... Assumes relatively large programs (more than 10,000 lines of code) Assumes a relatively formal development process based on the waterfall lifecycle Was derived from about 50 programs developed by TRW corporation in the late 1970’s

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 116 Validating Suitability of a Model Look at data from your programs – Does the data tend to fit the same kind of curve? Compare your assumptions with those of the model – If the assumptions do not match, you may need to investigate further to see if the model still fits

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 117 Calibration... … is the process of adjusting the key constants or other model factors so the results tend to approximate your data – For example, a and b in Cocomo … usually accomplished by statistical methods such as regression analysis Often you need to calibrate differently for different kinds of software or different application types

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 118 Calibrating a Model Estimating Model Your Data Your Experience Your Model Your Insight adjust

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 119 Cost Drivers

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 120 Nominal Effort When we apply a model, the “nominal” effort is the effort predicted by the model under typical or nominal circumstances – Nothing unusual or out of the ordinary – Something we know how to do

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 121 But Not All Projects are Typical It is very common to have factors that make the effort for a particular project higher or lower than normal – Experience of staff – Complexity of products – Strength of tools

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 122 But Not All Projects are Typical (continued) Such factors influence the effort estimate & hence termed “Cost Drivers” Cost drivers are often included as parameters to effort estimating models We will examine those used in Cocomo...

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 123 Cost Drivers - I The Nature of the Job to be Done 1) Required Reliability – Applies mainly to real time applications 2) Data Base Size – Applies mainly to data processing apps

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 124 Cost Drivers - I The Nature of the Job to be Done 3) Product Complexity 4) Execution Time Constraints – When processor speed is barely sufficient

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 125 Cost Drivers - I The Nature of the Job to be Done 5) Main Storage Constraints – Applies when memory size is barely sufficient 6) Target Machine Volatility – Includes hardware and operating system 7) Development Machine Volatility – Unstable OS, compilers, CASE tools, etc.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 126 Cost Drivers - II The Practices & Tools 1) Modern Programming Practices – Structured Analysis or OO 2) Modern Programming Tools – e.g., CASE tools, good debuggers, test generation tools 3) Schedule Compression (or expansion) – Note -- deviation from ideal can never help, but shorter is worse than longer

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 127 Cost Drivers - III The People Who Will Do It 1) Analyst Capability 2) Application Experience 3) Programmer Capability 4) Virtual Machine Experience – Includes operating system and hardware 5) Programming Language Experience – Includes tools and practices

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 128 Cost Drivers - IV Additional Drivers Often Used 1) Requirements volatility – A little change in requirements is expected, but too much can have a strong effect on project cost 2) Security requirements 3) Access to data – Sometimes very difficult

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 129 Cost Drivers - IV Additional Drivers Often Used 4) Impact of standards and imposed methods 5) Impact of Physical surroundings 6) Requirements to design software to be reusable 7 …) You can add whatever others make sense in your situation

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 130 Example of Applying a Cost Driver Learning period - 1 week per person or 3 staff weeks total Lower productivity % of normal effort (estimate based on your experience) Thus estimate for effort is 60/66.7%= 90 staff weeks + 3 staff weeks of training = 93 staff weeks total (3 people, 31 weeks) “Nominal” estimate with experienced staff is 60 staff weeks (3 people, 20 weeks) Suppose we have an inexperienced staff -- what can we estimate?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 131 How Do you Handle Multiple Cost Drivers? One way is to come up with a cost adjustment factor for each cost driver – Factor = 1 means the driver does not apply – Factor > 1 means the driver increases cost – Factor < 1 means the driver decreases cost Effort = Nominal * Product of All Factors

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 132 Applying Multiple Cost Drivers Table of Cost Factors DriverNormalHighVery High Complexity Reliability Experience etc.etc.etc.etc. Suppose: Nominal is 200 staff months Complexity is very high Staff experience is high Then: Estimated effort = 200 * 1.30 *.91 = The table represents your organization’s collective experience of the impact of various factors or cost drivers.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 133 Intermediate Cocomo Where where EAF = C 1 *C 2 *...*C n C i s are cost adjustment factors corresponding to a set of common cost drivers. – The nominal value of each C i = 1. – C i = 1 implies the cost driver does not apply – C i > 1 implies increased cost – C i < 1 implies decreased cost Effort = EAF * a * Size b

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 134 Cost Adjustment Factors Typical values range between 0.6 & 1.5 Preset values are established for each factor – Low, Nominal, High, Very High, Extremely High – 0.85, 1.0, 1.15, 1.28, 1.40 are typical corresponding values All Cocomo drivers together can affect cost and schedule estimates by 10 times or more!

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 135 EAF Effort Adjustment Factor EAF is the product of the cost adjustment factors A value of 1 would represent a relatively easy software effort, perhaps with no cost drivers

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 136 EAF Effort Adjustment Factor (continued) A value of 1 to 1.5 is typical today for a commercial software effort A value of is typical today for a real-time effort or a government project

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 137 EAF Has Improved Over the Years The values typically reported by software projects were once a lot larger (in the 3-4 range), but due to improvements in practices and processes, they have gotten a lot better.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 138 Intermediate Cocomo - “a” & “b” The “mode” is the general type of software Effort = EAF * a * Size b

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 139 Cocomo Software Types (Modes) Organic – Fairly easy software – software development team is familiar with application, language, and tools. – Typically from 2-50 KLOC Semi-Detached – Average software, average team – Typically KLOC

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 140 Cocomo Software Types (Modes) (continued) Embedded – Severe constraints, real time, etc. – No stated size range, but model is known to fail under 10 KLOC NOTE: the origin of the names is obscure, and not considered significant, even by Barry Boehm, who invented Cocomo.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 141 Cocomo only accounts for the main tasks of software development. It includes only nominal amounts of management, CM, QA, etc. It does not include – System level tasks – Many support functions System Analysis Software Requirements System Int &Test Software Design Software Code Software Int &Test Tasks Included in Cocomo

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 142 Division of Labor Cocomo Assumes: Effort is divided as: 30% Design 30% Code and Unit Test 40% Integration and Test Yours may be different – The only way to tell is to measure

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 143 Remember, Cocomo Excludes Requirements Analysis and System Integration If you Add 20% to the total for Requirements Analysis, it becomes: 17% Requirements Analysis 25% Design 25% Code and Unit Test 33% Integration and Test If you add more for system integration support, the numbers will change again

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 144 Assumptions for Time Time is more heavily tilted toward requirements analysis and design, but specifics depend on the process being used Typical numbers for Time: 30% Requirements 30% Design 15% Code 25% Integration and Test

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 145 Other Sources report Different Ratios Grady and Caswell compare five different sources (p34, 35) (see previous references) Differences stem from: – Type of software being developed – Schedule compression – Organizational differences – Process and Methods

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 146 Other Sources report Different Ratios (continued) Hewlett-Packard Recommendations: – Measure Actuals – Count Everything (overtime, etc.)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 147 Cocomo Tool Information CoCo Pro Available through ICONIX Software Engineering Inc. For more information on CoCoPro: Spec_Sheets/CoCoPro.html

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 148 Cocomo Tool Information (continued) REVIC - A free tool Available through USAF Cost Analysis Agency SOFTEST - an updated version For more information on REVIC or SOFTEST:

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 149 Cocomo Tool Information (continued) SOFTCOST-R Available through Resource Calculations Inc. For more information on SOFTCOST-R:

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 150 Architecture of Spreadsheet Cocomo Based Estimate Other Effort Estimates... Historical Size Estimate Software Reuse Analysis Size / Reuse EffortEffort and Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Other Size Estimates... Final Size Estimate Delphi Size Estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 151 Other Estimation Models

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 152 Other Popular Cost/Schedule Estimation Models Putnam’s Model -- (SLIM) Shen and Conti -- (COPMO) Lockheed/Martin -- (Price-S)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 153 SLIM (1) Size is measured in lines of code (or can be thousands if C k is adjusted) Effort is measured in staff years C k is a “state of technology” constant, reflecting use of modern practices, team experience, and software development tools. Compare with Cocomo adjustment factors. t is the development time, in years. (1) Putnam, IEEE Trans. on SW Engineering, July, Size = C k * Effort 1/3 * t 4/3

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 154 Other SLIM Information EFFORT is for entire life cycle, including maintenance Development Effort =.39 * EFFORT, according to Putnam For more information on SLIM:

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 155 Copmo (1) Effort = Programming Effort + Coordination Effort The values of the constants a, b, c, and d must determined by regression analysis on actual project data The important issue here is the impact of staff size on management/coordination effort (1) Conte, S.D., et. al. Software Engineering Metrics and Models. Effort = a + b * Size + c * (Staff) d

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 156 Price-S This is a very complex, proprietary model, based on extensive analysis of many kinds of software projects The parameters are similar to Cocomo’s adjustment factors, but can be very sensitive For example, experience level of personnel can affect estimates by 5 times or more

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 157 Price-S Additional Information Now supplied by PRICE Systems, a Martin-Lockheed Company The product is called the PRICE S Software Estimating Suite For more information on PRICE-S:

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 158 Process, Methods, and Tools Tools COSTAR, REVIC SLIM SOFTCOST Methods (Models) COCOMO, PUTNAM, ET. AL. Process (Purpose) EFFORT ESTIMATING

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 159 An Issue with Effort Estimating Methods based on Size How can you know the size before you have designed the software -- and maybe before you even know its requirements?

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 160 Dealing with Uncertain Size Estimates Generally speaking, you can predict size and cost better after design than you can before it So re-estimation is a MUST for effective risk management Methods not based on size, such as wideband delphi or “bottom up” effort estimating, should be considered to supplement size-dependent methods

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 161 Grady, Robert B. and Deborah L. Caswell, Software Metrics: Establishing a Company-Wide Program. An Issue with All Effort Estimating Methods You can manipulate the method to get any answer you want – Grady and Caswell report that typical estimates are 20-25% optimistic, even for experienced estimators – So you need to record your results, learn from your mistakes, and do better the next time

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 162 You Need to Track and Adjust Actuals vs. Estimates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 163 Use Several Methods At the very least, using several methods will increase your chances of being close to the right answer XXX

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 164 Remember the Goals of Estimating Knowledge and insight are the real benefits of using different methods Comparing the results of several methods will force you to resolve the discrepancies – This forces you to think about the issues – And produces more accurate estimates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 165 Environmental Factors Each model deals with factors beyond the basic issues of software development – Management – Coordination – Impact of Experience – Stability of Virtual Machines – etc. But this may be the least well understood and most significant factor overall

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 166 Environmental Factors Some believe that environmental factors account for the differences between organizations when all other factors look equal

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 167 Idealized View of Engineering Activities Verbal component grows with product complexity

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 168 Bottom Up Estimating

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 169 Bottom Up Estimating This method may take a lot of time It may or may not be based on size estimates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 170 Bottom Up Estimating Benefits Each part of the project is estimated by someone who knows that part well Individuals “buy in” to the estimate because it was based on their expertise It is easy to compare actuals with estimates and determine if and where you went wrong

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 171 Bottom Up Estimating Process 1) Break the software down into components -- as detailed as you can – Break down until the individual parts are small enough for an individual to develop in a short time (1 week to 1 month perhaps) – If you do not know, make a reasonable estimate of how you will break each part of the software into smaller parts 2) Estimate each part 3) Combine estimates

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 172 Sample Breakdown Data base I/F Error Processor Sort Module Synchro- nizer Command Processor Table Interface JoeMary & Jim Bert & Sally JoeBertSally Parser Code Generator File System Run Time System User Interface Manage Software Development Build “C” Compiler Build Test Suite Write Documentation Write Installation Software Software for “C” Compiler

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 173 Sample Estimate 6 SW 1 SW 4 SW 5 SW 3 SW 4 SW JoeMary & Jim Bert & Sally JoeBertSally 12 SW28 SW23 SW14 SW18 SW 95 SW33 SW12 SW22 SW 180 SW

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 174 For an Object Oriented Design You May Break it Up Differently Class “Query” Subclass “User Response” Class “Error Code” Class “Response” Subclass “System Response” Subclass “Maintenance Response”

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 175 Cost Estimating

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 176 Turning Effort into Cost Turning effort estimates into cost estimates depends on many factors that depend on your specific company – Overhead rates – Cost of borrowing money – Methods of calculating profit margin – Allocations of management and support expenses – Costs of capital equipment – etc.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 177 There are Many Costs Other than Software Development WBS Estimate Size and Then Effort Estimate Costs Directly or as % of Development Costs Software Development Tasks requirements design code... Other Tasks and Costs management travel training overhead facilities equipment software … Convert to $ Total Cost Estimate Total Cost Estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 178 One Way to Convert Effort to $ Category% of TotalSalary Rate # Requirements10%$65/hour Design10%$50/hour Code30%$40/hour Test30%$30/hour Other5%$15/houretc. # use rate per hour if effort is measured in staff hours use rate per day if effort is measured in staff days etc.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 179 Multiply the Effort by the Percentages to get the Labor Distribution and $ 10,000 hours: 1000 hours - requirements x $65 = $65, hours - design x $50 = $50, hours - code x $40 = $120, hours - test x $30 = $90,000 etc. Total: $xxx,xxx

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 180 A Note about Labor Rate Chart Be sure to correlate the percentages with the “experience level” factors assumed in your effort estimate >> It is tempting to cut costs estimates by boosting the percentage of lower cost staff -- check what this does to the cost drivers first!!! <<

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 181 Supplement - Cocomo II (1) Barry Boehm and his colleagues at the University of Southern California are working on a new version of Cocomo that better represents modern programming practices and such While the model is not yet complete, there are some details available The next few slides will review some of the important concepts in the new model (1) Boehm, et. al., USC Center for Software Engineering

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 182 Cocomo Versions and Limitations Original (1981) -Custom, build to specs SW Ada (1989) - Custom, written in Ada Not able to deal with: Business software Object-oriented software Commercial, off-the-shelf application composition Evolutionary development

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 183 Cocomo 2 Objectives Fit lifecycle practices of the 1990’s and 2000’s Support continuous improvement of the model Support evaluating the effects of software technology improvements on life cycle costs and schedules

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 184 Future Software Practices Marketplace Model (1) (1) extrapolated from Silvestri and Likasieicz, “Occupational Employment Projections,” [Bureau of Labor Statistics moderate- growth labor distribution scenario for the year 2005] Monthly Labor Review 114 (11), November 1991, pp Infrastructure (operating systems, networks, major products) (0.75 Million Performers in the U.S.) End-User Programming (55 Million Performers in the U.S.) System Integration (0.7 Million) Application Composition (0.7 Million) Application Generators & Composition Aids (0.6 Million)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 185 Duration of Typical SW Development Effort Infrastructure (operating systems, networks, major products) 1-6 years System Integration Application Composition 1-6 months Application Generators & Composition Aids End-User Programming 1-6 hours

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 186 The Middle Layers Application Generators -- creation of prepackaged capabilities for end users Application Composition -- from interoperable components such as GUI builders, database systems, object managers (middleware) System Integration (0.7 Million) Application Generators and Composition Aids (0.6 Million) Application Composition (0.7 Million)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 187 The Middle Layers (continued) System Integration -- similar to custom applications but with heavy use of prepackaged tools and application composition System Integration (0.7 Million) Application Generators and Composition Aids (0.6 Million) Application Composition (0.7 Million)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 188 Cocomo 2 Strategy Several submodels for the various sectors described above Tailoring of submodels to project details Combination of submodels for each situation, as required

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 189 Additional Cocomo II Information Under development at University of Southern California, Cocomo II project. For More Information on Cocomo II: COCOMOII/Cocomo.html

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 190 Matching Models to Sectors End User Programming – No Need for a Cocomo Model – Relatively short development Application Composition – Based on Object Points (1) Application Generator & System Integration – Tailored mix of Application Composition (for prototyping) and more detailed models (1) Banker, Kauffman, Kumar, “An Empirical Test of Object-Based Output Measurement Metrics in a Computer Aided Software Engineering Environment,” Journal of Management Information Systems, 1994.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 191 Estimating Accuracy vs. Phase Typical Estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 192 Each Stage will Produce Three Values Optimistic Estimate Expected Value Pessimistic Estimate These correspond to the two outer curves and the “dots” shown earlier

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 193 Three-State Series of Models 1) (prototyping / application composition) application composition model based on object points 2) (exploration of alternatives, incremental development) early estimation model based on function points and five cost drivers (one for each major category in original Cocomo)

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 194 Three-State Series of Models (continued) 3) (final development of fielded system) final estimation model, similar to current Cocomo model. Uses SLOC or function points

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 195 Chapter Summary Effort can be measured in many ways – The specific measurement can have a significant effect on the numbers computed during an estimate Effort estimates can be made through historical experience or through models derived from historical experience

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 196 Chapter Summary Beware of Averages when using multiple methods Effort and Schedule Length are Interdependent – Time and effort can be traded off to some extent, but not completely - there are “infeasible” combinations Cost is derived through several steps

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 197 Chapter Summary (continued) Models are often helpful to estimate effort – All are based on historical experience – All should be calibrated to your specific experience – Most have additional parameters that allow you to “fine tune” to specific circumstances

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 198 Chapter Summary (continued) Cocomo is a widely used method that is fairly successful when calibrated to your experience Like most models, Cocomo excludes some tasks It is best to use multiple models/methods to improve the quality of an estimate

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 199 Chapter Summary (continued) Division of Time is Different from Division of Labor Beware of Averages Cocomo II is an emerging approach that applies Cocomo and other methods to newer methods of software development Cocomo II also recognizes that estimates must be refined and updated as a project progresses

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 200 References Boehm, Software Engineering Economics, Prentice- Hall, Brooks, Fred, The Mythical Man-Month, 1975 / Boehm, et. al., Cost Models for Future Software Life Cycle Processes: Cocomo 2.0, Technical Report, USC Center for Software Engineering, Draft 2.0, September 6, Conte, S.D., et. al. Software Engineering Metrics and Models. Benjamin Cummings, 1986, p314.

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 201 References (continued) Grady, Robert B. and Deborah L. Caswell, Software Metrics: Establishing a Company-Wide Program. Englewood Cliffs, N.J., Prentice-Hall, Inc., ISBN Putnam, Lawrence H., “A General Empirical Solution to the Macro Software Sizing and Estimating Problem,” IEEE Transactions on Software Engineering, July, 1978, p345. Tausworthe, R.C. Software Specifications Document, DSN Software Cost Model, Jet Propulsion Laboratory, JPL Publication 81-7 (1981).

January 20, 2000 CSE SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © , Dennis J. Frailey, All Rights Reserved Slide # 202 End Of Chapter 6