Download presentation
Presentation is loading. Please wait.
Published bySpencer Rose Modified over 9 years ago
1
Copyright 1995-2008, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project Module 16 Basic Methods of Effort Estimation
2
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 2 Objectives of This Module To discuss some basic methods of effort estimating To introduce a process for documenting and updating estimates as a series of schedules
3
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 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
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 4 Effort Estimation with “Historical” Productivity Data
5
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 5 Architecture of Spreadsheet Model 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
6
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 6 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
7
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 7 Typical Values for Productivity Rates 2-30 LOC/day for high order languages 3-40 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.
8
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 8 Example In the past, we have had the following productivity: –16 LOC/staff-day for complex software –24 LOC/staff-day for simple software For the new “8000 LOC”, “complex” software, it should take 8000/16 = 500 staff-days …But how accurate is this?
9
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 9 Historical Data (Typical) LOC Developed per Staff-day
10
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 10 Historical Data are Seldom Precise or Consistent Example: Effort for complex software varies from 8 to 24 LOC per staff-day, with a mean of 16 LOC per staff-day and an upward trend The expected effort for an 8000 SLOC program might be As low as 333 staff-days or... As high as 1000 staff-days!
11
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 11 In Other Words Historical data usually give a range of values, not a precise estimate Based on past experience, this project should take from 100 to 125 staff-months
12
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 12 Three 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 Set aside a “reserve” amount based on the level of risk in your estimate
13
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 13 Multiple Methods Example Method 1 How confident are you that this is right? X 2000 4000 3000 5000
14
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 14 Multiple Methods Example Method 2 How confident are you now? X 2000 4000 3000 5000 X
15
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 15 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
16
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 16 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 –How much reserve to set aside –Risk mitigation actions to take They force you to ask hard questions about what facts each method overlooks They help you learn
17
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 17 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
18
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 18 Statistical Variances and Uncertainties Method 1 Method 3 Method 2 Most Likely Cost Cost Range = M1 M2 M3 Most Likely = M1 M2 M3 Cost Range = M1 M2 M3 Most Likely = M1 M2 M3 Cost Range
19
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 19 Architecture of Spreadsheet Model 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
20
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 20 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
21
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 21 Estimation as a Series of Schedules
22
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 22 A Practical 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?
23
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 23 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 assignments 3 and 4)
24
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 24 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
25
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 25 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
26
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 26 Labor Schedule Top Level Schedule Generic Schedule Effort Schedule Effort Estimate Cost Schedule Labor Rates S, SA P AL WBS cost categories AD Initial Planning Process Model Labor Types The Estimation Sequence
27
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 27 Cost Categories for WBS Tasks Each category of cost is incorporated at a different point in the estimating process
28
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 28 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 You start with: WBS, top level schedule, experience on previous projects
29
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 29 A “Quick and Dirty” Cost Estimate (continued) Top level schedule is generally determined earlier in the planning 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 We will estimate in staff-months
30
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 30 “Quick and Dirty” Cost Estimate Steps 1-3 (effort schedule) 1) Base Effort = Software Development Effort, excluding all other activities –Estimate the effort required for each WBS task associated with software development (type S) –Sum the estimates
31
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 31 Quick and Dirty Cost Estimate Steps 2-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)
32
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 32 Quick and Dirty Cost Estimate Steps 4-5 (labor and cost) 4) Total Labor = TOTAL EFFORT + additional labor (type AL), divided into specific staff categories. 5) Total Cost = TOTAL LABOR * LABOR COST RATE + additional dollar costs (type AD).
33
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 33 Example Step 1 - Base Effort (S tasks) Size estimate is 12,000 SLOC We normally develop about 24 SLOC per staff-day on projects like this So it should require about 500 staff-days = 25 staff-months (sm) –(at 20 working days per month)
34
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 34 Example Step 2 - Adjusted Base Effort (+SA tasks) Requirements and system integration support (SA tasks) should add 30% –Total = 650 staff-days = 32.5 sm Top level schedule for this is 12 months. Can do with ~3 people on the average. –Will build up staff to peak in months 7-10 Initial Effort Schedule: M1M2M3M4M5...M12TOTAL 12333232.5
35
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 35 Example Step 3 - Total Effort (+P tasks) Support for “P” tasks (CM, QA, and management) should add about 25% or 195 more staff-days. Total = 845 staff-days = 42.15 sm –Assume this is distributed more or less evenly across the schedule Total Effort Schedule: M1M2M3M4M5...M12TOTAL 2 3444342.15
36
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 36 Example Step 4 - Labor Schedule (labor categories) Labor will be divided into 3 categories: senior, normal, new. Initial Labor Schedule: TypeM1M2M3M4M5... M12TOTAL Senior30% 11111010 Normal50% 122221.1522.15 New 20% 00111110 Total Labor234442.1542.15 Note that Total Labor line matches Total Effort Schedule
37
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 37 Example Step 4, Part 2 - Adding “AL“ Tasks to Labor Schedule Need to add extra staff for V&V activity (an “additional labor” task) V&V 0000022 Grand Total234444.1544.15 TypeM1M2M3M4M5... M12TOTAL Senior11111010 - 24% Normal122221.1522 - 52% New 00111110 - 24% Total234442.1542.15
38
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 38 Example Step 5 - Convert Effort to Cost Senior - $10000 per month Normal - $8000 per month New - $6000 per month V&V - $16000 per month (government- imposed “beltway bandits”) (10 * 10000) + (22 * 8000) + (10 * 6000) + (2 * 16000) = $368,000 total This shows the total dollars. By allocating across the schedule, we can see how those dollars are spent each month during the project.
39
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 39 Example Step 5 - Cost Schedule TypeM1M2M3M4M5… M12TOTAL Senior1010101010 0 100 Normal 816161616 8 176 New 0 6 6 6 6 6 60 Subtotal18323232 3214 336 Extra staff for V&V activity V&V 0 0 0 0 032 32 Total 18323232 3246 368 Labor replaced by dollar costs (in $1000’s)
40
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 40 Step 5, Part 2 - Adding Additional Dollar (“AD”) Costs TypeM1M2M3M4M5… M12 TOT ……. Total 18323232 3246 368 Additional costs (expressed in K$) Computers 02030 0 0 0 50 Travel 18526232 3246 418 …(add other costs, such as rent, interest, tax) Grand Total626242 3256 620 Any other costs can be added in dollars
41
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 41 Example (other options) 5a) Include overhead costs in the pay scale or add on later 5b) Calculate for each week or day or whatever by similar methods 5c) Add non-labor cost items expressed in dollars, such as rent, overhead, computers, etc. 5d) Adjust for inflation in future years, for long projects
42
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 42 Module Summary Historical productivity data can be very helpful in estimating effort –But they give ranges rather than precise estimates Wideband delphi can also be used The general process for estimating allows you to “put it all together” and “keep it all together” during updates
43
Copyright 1995-2008, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M16 - Version 8.01 43 END OF MODULE 16
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.