26
MTAT.03.244 Software Economics Lecture 6: Software Cost Estimation (part II) Marlon Dumas marlon.dumas ät ut . ee

MTAT.03.244 Software Economics Lecture 6: Software Cost

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MTAT.03.244 Software Economics Lecture 6: Software Cost

MTAT.03.244 Software Economics

Lecture 6: Software Cost Estimation (part II)

Marlon Dumas

marlon.dumas ät ut . ee

Page 2: MTAT.03.244 Software Economics Lecture 6: Software Cost

2

Outline

•  Review of Effort Estimation Homework •  Discussion on book chapter by Caper Jones •  Earned Value Analysis

Page 3: MTAT.03.244 Software Economics Lecture 6: Software Cost

3

Six forms of software cost estimation (by Caper Jones)

Project

Phase

Activity

Project

Phase

Activity

Page 4: MTAT.03.244 Software Economics Lecture 6: Software Cost

4

Discussion (cont.)

•  What is the difference between a phase, an activity and a task? How many phases/activities/tasks are typical in a software project?

•  What key issue arises when estimating only at the level of project/phases? Does it mean that project-level estimation is useless?

•  According to the study reported in the chapter, which form of cost estimation is most accurate? In which context is manual estimation most used? In which context is automated estimation used?

Page 5: MTAT.03.244 Software Economics Lecture 6: Software Cost

Project Monitoring using Earned Value Analysis

Page 6: MTAT.03.244 Software Economics Lecture 6: Software Cost

6

Project Monitoring

•  Cost estimation is about estimating how much will be spent by a project/phase/activity.

•  Cost estimation is a planning tool •  Project monitoring is about assessing how much

has been done in order to answer the question: –  Are we on track to deliver on-time and on budget?

•  Earned Value Analysis (EVA)

Page 7: MTAT.03.244 Software Economics Lecture 6: Software Cost

7

Earned Value Analysis (EVA)

•  Technique for objectively comparing actual project progress against planned progress

•  Rooted in early 20th century industrial manufacturing

•  Introduced in the 1960s to monitor United States Department of Defense projects

•  Nowadays considered as a project management technique (Earned Value Management)

•  Standardized: ANSI/EIA 748-A standard

Page 8: MTAT.03.244 Software Economics Lecture 6: Software Cost

8

For discussion…

•  What do you think about the following reasoning: –  We’re mid-way through the project timeline and we’ve

only implemented 30% of the features. We’re late ?? –  We’re mid-way through the project timeline, we’ve

spent 50% of the budget and 50% of the work is done. So we’re doing well ??

Page 9: MTAT.03.244 Software Economics Lecture 6: Software Cost

9

Some Terminology

•  WBS (Work Breakdown Structure) –  Decomposition of a project into phases/activities/tasks –  We consider WBS where each unit is annotated with

an estimate of duration and cost –  Can be obtained from the cost estimation

•  Planned value at time t –  How much will have been spent at time t according to

the plan?

Page 10: MTAT.03.244 Software Economics Lecture 6: Software Cost

10

Project Monitoring: A Naïve Approach

Source: Wikipedia

Page 11: MTAT.03.244 Software Economics Lecture 6: Software Cost

11

Let’s get a bit more sophisticated

•  Three basic measures: –  Budgeted Cost of Work Performed (BCWP) – also

called Earned Value –  Budgeted Cost of Work Scheduled (BCWS) – also

called Planned Value –  Actual Cost of Work Performed (ACWP) – also called

Actual Cost

Page 12: MTAT.03.244 Software Economics Lecture 6: Software Cost

12

The three measures in a nutshell…

Source: Wikipedia

Page 13: MTAT.03.244 Software Economics Lecture 6: Software Cost

13

And a bit more sophisticated…

•  Two derived measures: –  SV: Schedule Variance (BCWP-BCWS) –  CV: Cost Variance (BCWP-ACWP)

Page 14: MTAT.03.244 Software Economics Lecture 6: Software Cost

14

Schedule Variance

Source: Wikipedia

Page 15: MTAT.03.244 Software Economics Lecture 6: Software Cost

15

Cost Variance

Source: Wikipedia

Page 16: MTAT.03.244 Software Economics Lecture 6: Software Cost

16

A bit more…

Three more derived measures: •  SPI: Schedule Performance Index = BCWP/BCWS

–  SPI < 1 project is behind schedule •  CPI: Cost Performance Index = BCWP / ACWP

–  CPI < 1 project is over budget •  CSI: Cost Schedule Index = CPI x SPI

–  The further CSI is from 1.0, the less likely project recovery is

•  Question: What if SPI or CPI are very high?

Page 17: MTAT.03.244 Software Economics Lecture 6: Software Cost

17

Forecasting

•  BAC – Budget at Completion •  IEAC – (Independent) Estimate At Completion

= BAC / CPI •  ISAC – Independent Schedule At Completion

= Schedule / SPI (Schedule is the planned project duration)

Page 18: MTAT.03.244 Software Economics Lecture 6: Software Cost

18

Let’s get our hands dirty

•  Exercises –  http://tinyurl.com/ygskv53 –  Last page of: –  www.dfw-asee.org/archive/Earned_Value.doc

Page 19: MTAT.03.244 Software Economics Lecture 6: Software Cost

19

EVA after the deadline…

•  If the project has already passed its planned deadline, BCWP will converge to BCWS and SPI becomes useless since it tends to 1…

•  A more appropriate measure of delay in this case is: –  Days Ahead: how many days ahead of schedule we are

(negative if behind schedule), calculated from the original schedules of the individual tasks.

Page 20: MTAT.03.244 Software Economics Lecture 6: Software Cost

20

Pros and cons of EVA

•  Pros: –  Provides early warning of cost/schedule problems –  Enables forecasting final project cost/schedule –  Allows one to trace impact of key events on a project –  Allows one to estimate the cost of changes

•  Cons: –  High data collection effort –  May be distorted by inaccurate work-in-progress

measures (some authors recommend to grade work using only three values: 0%, 50% or 100% completed

–  Significant effort required if the requirements/scope change significantly.

Page 21: MTAT.03.244 Software Economics Lecture 6: Software Cost

21

Agile Project Monitoring

•  In agile methods, relatively little upfront effort is spent in requirements analysis and planning

•  Requirements creep is intentionally high •  WBS is very dynamic •  EVA may be inappropriate as primary monitoring

tool (although it can still be used externally)

Page 22: MTAT.03.244 Software Economics Lecture 6: Software Cost

22

Agile Project Monitoring

•  Measure of effort: story point (or ideal day) •  Project decomposition unit: iteration/sprint •  Productivity measure: Velocity (e.g. story points

per iteration) •  Visual tracking techniques

–  Burndown chart (curve) –  Burndown bar chart – takes into account work

completed and scope change

Page 23: MTAT.03.244 Software Economics Lecture 6: Software Cost

23

Burndown Chart

Burn-up event St

ory

poin

ts

Page 24: MTAT.03.244 Software Economics Lecture 6: Software Cost

24

Burndown Bar Chart

-40

-20

0

20

40

60

80

100

120

140

160

1 2 3 4 5

Work Added Work Remaining

Stor

y po

ints

Page 25: MTAT.03.244 Software Economics Lecture 6: Software Cost

25

Forecasting Completion from Burndown

http://www.mountaingoatsoftware.com/alt-releaseburndown

Page 26: MTAT.03.244 Software Economics Lecture 6: Software Cost

26

Acknowledgments

•  Some material is adapted from: –  http://www.authorstream.com/Presentation/

aSGuest9815-134667-evaslides-education-ppt-powerpoint/ (earned value analysis)

–  Wikipedia article on Earned Value Management –  http://www.mountaingoatsoftware.com (burndown

charts)