Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright 1995-2008, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.

Similar presentations


Presentation on theme: "Copyright 1995-2008, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project."— Presentation transcript:

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


Download ppt "Copyright 1995-2008, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project."

Similar presentations


Ads by Google