Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright 1995-2009, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.

Similar presentations


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

1 Copyright 1995-2009, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project Module 15 Introduction to Effort Estimation

2 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 2 Objectives of This Module  To discuss ways of measuring effort  To discuss the relationship between effort and schedule  To discuss some general points about effort estimating

3 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.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-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 4 The Effort/Cost Estimating Process 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

5 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 5 Measures of Effort

6 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 6 Effort Is... … the amount of labor required for the project  It is typically measured in staff- months, staff-days or staff-hours  A month (or calendar-month) is a measure of time  A staff-month is a measure of effort or work If three people complete a job in 1 calendar-month, it is a 1 calendar-month job that requires 3 staff-months of effort

7 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 7 Effort or Work Is Not Defined Precisely for People  There are no generally accepted, precise definitions for terms like staff-month or staff-day  And people are known to “fudge” the definitions in their own favor

8 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 8 Two Executives on the Golf Course We do 50 LOC per staff-month - you do only 40! How do you measure staff- months?

9 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 9 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

10 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 10 How Many Hours per Day?  1 staff-hour = 1 person working for 1 hour  1 staff-day = 1 person working for 1 day So how many staff-hours are there in a staff-day?

11 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 11 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.?

12 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 12  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 an average number of vacation days and holidays in the U.S.) How Many Days per Month?

13 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 13 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 are you in? –How do you allocate management overhead?

14 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 14 Lines of code per staff- month Objects tested per staff-hour Consistency is the Most Important Factor for Accurate Estimating  If you measure effort consistently, you can understand what it costs, compare different projects, and predict future performance

15 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 15 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

16 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 16  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

17 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 17 Projects Often Hide Actual Effort Data  You cannot tell what really happened on a previous project if you don’t know how they measured effort How many hours did you really spend? We don’t know - we didn’t count unpaid overtime

18 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 18 Possible Exam Questions  Explain the difference between a calendar- month and a staff-month. Give an example to show each of the following: –A 3 calendar-month project using 6 staff- months of effort –A 6 calendar-month project using 3 staff- months of effort  Show how to convert effort in staff-hours to effort in staff-months. Explain how two different organizations might convert differently.  Explain how projects might hide the actual amount of effort they spent.

19 Copyright 1995-2009, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 The Relationship Between Time and Effort

20 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 20 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

21 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 21 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

22 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 22 Communication Paths The number of communication paths in a group of N people is N * (N-1) /2 Roughly speaking, this is equal to N 2 It means that as the number of people increases, the complexity of their communication increases exponentially

23 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 23 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

24 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 24 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

25 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 25 Putnam’s Size vs. Time Equation EFFORT = CONSTANT / TIME 4

26 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 26 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

27 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 27  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 Experience Factor

28 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 28 Your Actual 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  Reviews may have to occur at times convenient to others –Customers –Managers

29 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 29 Compare the Actual and the Optimal Schedule to Gauge the Schedule Risk  If the optimal is significantly different from the actual, you have a significant expectation of –increased cost, and –schedule risk Optimal vs. actual schedule information may help you determine cost impact (see later)

30 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 30 Typical Inputs to the Effort Estimate

31 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 31 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)

32 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 32 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

33 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 33 Effort Estimating Steps 1) Summarize & document the requirements for each task –Basis of estimate –WBS dictionary 2) Quantify the magnitude of each task –Size & complexity for software –# of pages, # of trips, # of whatever for other things

34 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 34 Effort Estimating Steps (continued) 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)

35 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 35 In Other Words... 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 Estimate Development Costs Then Estimate Other Costs

36 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 36 Notes for Effort Estimation  Accuracy of estimate depends on –Experience –Historical data –Availability of information –& LUCK!  When writing a proposal you could easily be 50% off in your estimate  At the start of a project, you are lucky to be within 20% unless you have very good historical data

37 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 37 Good History Data Good historical data are essential for accurate estimating.

38 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 38 Module Summary  There are many ways to measure effort - make sure you have a consistent way to measure  Size and effort are related, but the relationship is not always simple  The estimating process begins with estimating software development costs - then estimating other costs, often as a percent of sw development cost

39 Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M15 - Version 9.01 39 END OF MODULE 15


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

Similar presentations


Ads by Google