Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, Dennis J. Frailey,"— Presentation transcript:

1 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

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

3 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

4 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

6 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

7 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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?

8 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

9 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

10 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.?

11 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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?

12 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

13 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

14 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

15 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

16 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

17 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

18 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

19 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

21 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

22 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

23 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

24 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

25 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

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

27 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

28 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

29 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

30 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

31 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

32 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

34 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

35 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

36 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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?

37 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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!

38 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

39 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

42 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 2000 4000 3000 5000 X X

43 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

44 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

46 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

48 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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?

49 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

50 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

51 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

52 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

53 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

54 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

55 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

56 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

57 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

58 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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).

59 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

60 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 3579107130

61 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 469111310163

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

63 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 00000616 Total469111316179 TypeM1M2M3M4M5... M12TOT Senior12344248 - 30% Normal23457183 - 50% New 11222132 - 20% Total469111310163

64 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

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

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

67 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

69 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

70 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

71 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

74 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

75 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

76 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

79 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

80 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

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

84 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

85 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

86 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

87 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

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

89 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

90 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

91 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

93 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

94 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

95 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

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

97 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

99 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

100 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

101 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

102 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

103 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

105 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

106 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

108 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

110 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

111 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

112 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

114 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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?

115 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

116 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

117 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

120 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

121 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

122 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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...

123 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

124 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

125 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

126 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

127 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

128 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

129 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

130 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 - 66.7% 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?

131 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

132 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, Dennis J. Frailey, All Rights Reserved Slide # 132 Applying Multiple Cost Drivers Table of Cost Factors DriverNormalHighVery High Complexity1.01.151.30 Reliability1.01.151.40 Experience1.0.91.82 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 = 236.6 The table represents your organization’s collective experience of the impact of various factors or cost drivers.

133 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

134 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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!

135 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

136 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 1.5-2.0 is typical today for a real-time effort or a government project

137 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

138 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

139 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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 50-300 KLOC

140 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

141 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

142 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

143 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

144 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

145 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

148 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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: http://sepo.nosc.mil/estimation.html

149 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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: http://www.softstarsystems.com

150 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

152 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

153 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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, 1978. Size = C k * Effort 1/3 * t 4/3

154 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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: HTTP://WWW.QSM.COM

155 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

156 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

157 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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: HTTP://WWW.PRICESYSTEMS.COM

158 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

159 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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?

160 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

161 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

163 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

164 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

165 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

166 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

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

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

169 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

170 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

171 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

172 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

173 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

174 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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”

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

176 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

177 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

178 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

179 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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,000 1000 hours - design x $50 = $50,000 3000 hours - code x $40 = $120,000 3000 hours - test x $30 = $90,000 etc. Total: $xxx,xxx

180 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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!!! <<

181 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

182 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

183 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

184 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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. 64-94. 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)

185 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

186 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

187 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

188 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

189 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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: HTTP://SUNSET.USC.EDU/ COCOMOII/Cocomo.html

190 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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.

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

192 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

193 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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)

194 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

195 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

196 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

197 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

198 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

199 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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

200 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, Dennis J. Frailey, All Rights Reserved Slide # 200 References Boehm, Software Engineering Economics, Prentice- Hall, 1981. Brooks, Fred, The Mythical Man-Month, 1975 / 1995. 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, 1994. Conte, S.D., et. al. Software Engineering Metrics and Models. Benjamin Cummings, 1986, p314.

201 January 20, 2000 CSE 7315 - SW Project Management / Chapter 6 - Detailed Planning - Effort and Cost Estimating Copyright © 1995-2000, 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., 1987. ISBN 0-13-821844-7. 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).

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


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

Similar presentations


Ads by Google