Range estimation in Scrum

47
Building a more accurate burndown Using Range Estimation in Scrum Agile 2010 Conference August 2010 Arin Sime 434 996 5226 [email protected] m

description

Presentation by OpenSource Connections consultant Arin Sime at Agile2010 conference on how to incorporate range estimation techniques into Scrum.

Transcript of Range estimation in Scrum

Page 1: Range estimation in Scrum

Building a more accurate burndown

Using Range Estimation in Scrum

Agile 2010 ConferenceAugust 2010

Arin Sime

434 996 [email protected]

Page 2: Range estimation in Scrum

Pitfalls of traditional estimation

techniques

Page 3: Range estimation in Scrum

How long does it take you to get to work?

traffic

optimisticmethod of travel

every day?

Page 4: Range estimation in Scrum

68%http://www1.standishgroup.com/newsroom/chaos_2009.php

Page 5: Range estimation in Scrum

A little about me…Senior Consultant, OpenSource Connections

in Charlottesville, Virginia

Masters in Management of I.T., University of Virginia, McIntire School of Commerce

We tweaked our Scrum process to incorporate Range Estimation based on my studies at Uva

Please take the Estimation Survey: http://www.surveymonkey.com/s/SWNNYQJ

Page 6: Range estimation in Scrum

The root of all estimation evil: Single point estimates

Chart taken from: Software Estimation, Steve McConnell, Figure 1-1, p6

“A single-point estimate is usually a target masquerading as an estimate.”-Steve McConnell

Page 7: Range estimation in Scrum

A realistic estimate distribution

Chart taken from: Software Estimation, Steve McConnell, Figure 1-3, p8

“There is a limit to how well a project can go but no limit to how many problems can occur.”-Steve McConnell

Nominal Outcome(50/50 estimate)

Page 8: Range estimation in Scrum

Reasons we are wrong so often

Different information

Different methods

Psychological Biases

The Expert Problem

Page 9: Range estimation in Scrum

Bias in Estimation

Imagine this scenario:

“Can you build me that CMS website in 2 weeks?”

How would you respond?

What estimate would you give?

Page 10: Range estimation in Scrum

Bias in Estimation

By supplying my own estimate (or desire) in my question, I have anchored your response.

This is called “The anchoring or framing trap”

“Because anchors can establish the terms on which a decision will be made, they are often used as a bargaining tactic by savvy negotiators.”

From “The Hidden Traps in Decision Making” from Harvard Business Review, 1998, John Hammond, Ralph L. Keeney, and Howard Raiffa

Page 11: Range estimation in Scrum

You’re not as good as you think

“The Expert Problem”

Experts consistently underestimate their margins of error, and discount the reasons they were wrong in the past.

Excuses for past mistakes:• You were playing a different game • Invoke the outlier• “Almost right” defense

The Black Swan: The impact of the Highly Improbable,

by Nassim Nicholas Taleb, 2007, Chapter 10: The Scandal of Prediction

Page 12: Range estimation in Scrum

The best protection

“The best protection against all psychological traps – in isolation or in combination – is awareness.”

From “The Hidden Traps in Decision Making” from Harvard Business Review, 1998, John Hammond, Ralph L. Keeney, and Howard Raiffa

Page 13: Range estimation in Scrum

Agile estimation techniques

Page 14: Range estimation in Scrum

How agile already avoids pitfalls

Encourages team airing of estimates

Done before assignment of tasks

Scrum poker

Page 15: Range estimation in Scrum

How agile already avoids pitfalls

Separates story from time units, more relative

Story Points& Velocity

Image from: http://leadinganswers.typepad.com/leading_answers/2007/09/agile-exception.html

Page 16: Range estimation in Scrum

Agile and Scrum can run into other

pitfalls though…

Page 17: Range estimation in Scrum

Potential pitfalls:

Single-point estimates

What about Risk?

Implies a set delivery of features

Story points are hard to explain

Page 18: Range estimation in Scrum

Better accuracy using range estimation

Page 19: Range estimation in Scrum

The Cone of Uncertainty

http://www.construx.com/Page.aspx?hid=1648

Page 20: Range estimation in Scrum

Range estimation …

• Recognizes uncertainty• Alleviates our tendency towards optimism• Incorporates risk• Allows for better financial projections• Better informs our bosses and clients

Page 21: Range estimation in Scrum

Incorporating range estimation

into Scrum

Page 22: Range estimation in Scrum

Incorporating range estimation into Scrum

Team originally estimated 108 hours

• Range estimate went from 114-245 hours.

• Note the single point was a low estimate!

• They were able to finish original tasks a little early

Page 23: Range estimation in Scrum

Range estimation in Scrum Poker

It’s very simple – just hold two cards instead of one!

The same rules apply about creating discussion between low and high estimators, but you might resolve them differently...

Page 24: Range estimation in Scrum

On the high end

On the low end

On the high end

The likely discussion:Hey Orange, why do you say

“2”? Yellow and Blue both say “5”.

Likely Outcome: 3 or 5

Middle of the road

Range estimation in Scrum Poker

Page 25: Range estimation in Scrum

Range estimation in Scrum Poker

Still middle of the road, but Green recognizes some risk

Orange sees this as really easy

Blue sees this as more complicated

The likely discussion:Orange and Blue need to

compare their visions for this task.

Likely Outcome: 8-13?

Red and Blue no longer agree: Red is confused or sees big risks

Page 26: Range estimation in Scrum

Using ranges in your task list

Page 27: Range estimation in Scrum

Using ranges in your task list

Enter Low/High

=(Lo*0.33)+(Hi*0.67)

Sums of Lo, Hi, 2/3; then trend them to zero

update daily

Page 28: Range estimation in Scrum

Using ranges in your burndown

Page 29: Range estimation in Scrum

Ranges help to highlight obstacles and know when to cancel an iteration

Page 30: Range estimation in Scrum

We were able to improve on the next iteration, but it was still hard

Page 31: Range estimation in Scrum

Ranges help reinforce obstacles

Obstacle removedObstacle removed

Page 32: Range estimation in Scrum

Why 2/3?

Source on PERT: Software Estimation, Steve McConnell, p109

Because it is both simple and pessimistic

PERT does a similar thing:Expected = [BestCase + (4*MostLikely) + WorstCase] / 6

Page 33: Range estimation in Scrum

Using ranges to better

communicate

Page 34: Range estimation in Scrum

Using range estimation to communicate risk

• Size of your range communicates the risk of your task

• May encourage you to break up tasks, or better define them.

• Scrum is all about better communication with the customer – so are ranges

Page 35: Range estimation in Scrum

YouYour BossBig Boss

How long?How long?

Um… 2 daysUm… 2 days

4 days4 days

Do you know your fudge factor?

Page 36: Range estimation in Scrum

YouYour BossBig Boss

How long?How long?

2-4 days2-4 days2-4 days2-4 days

Ranges help you control your fudge factor

Page 37: Range estimation in Scrum

YouYour BossBig Boss

Another example: Use ranges to better empower

your boss or client

Page 38: Range estimation in Scrum

YouYour BossBig Boss

Perfect – Do it!Perfect – Do it!

2 days2 days

How long?How long?How much for X?How much for X?

Actually … 4 daysActually … 4 days

4 days later…

GRRRGRRR

2 days * rate2 days * rateBudget Left: 2

days

Budget Left: 2

days

Umm…..Umm…..

Page 39: Range estimation in Scrum

YouYour BossBig Boss

Instead….

Page 40: Range estimation in Scrum

YouYour BossBig Boss

No thx, do something easier

No thx, do something easier

2-4 days2-4 days

How long?How long?How much for X?How much for X?

Done!Done!

2 days later…

YES!YES!

2-4 days * rate2-4 days * rateBudget Left: 2

days

Budget Left: 2

days

Page 41: Range estimation in Scrum

Potential pitfalls of range estimation

Page 42: Range estimation in Scrum

Potential pitfalls of range estimation

Really Wide Ranges

Not everything can take 2 – 200 hours or you lose

all credibility

Really Wide Ranges

Not everything can take 2 – 200 hours or you lose

all credibility

Page 43: Range estimation in Scrum

Potential pitfalls of range estimation

Bosses who don’t get it

You’re going to have to sell them on how your estimates will improve

their decision making ability.

Bosses who don’t get it

You’re going to have to sell them on how your estimates will improve

their decision making ability.

Page 44: Range estimation in Scrum

Potential pitfalls of range estimation

Pushed back deadlines

Ranges are not an excuse to always miss deadlines. But they do make it less of a surprise, and encourage you to be more cautious.

Pushed back deadlines

Ranges are not an excuse to always miss deadlines. But they do make it less of a surprise, and encourage you to be more cautious.

Page 45: Range estimation in Scrum

Potential pitfalls of range estimation

Is 2/3 the new single-point?

Be careful not to just start treating the 2/3 calculated estimate, use the ranges.

Is 2/3 the new single-point?

Be careful not to just start treating the 2/3 calculated estimate, use the ranges.

Page 46: Range estimation in Scrum

Further Reading

Page 47: Range estimation in Scrum

Questions?Arin Sime

434 996 [email protected]

Twitter.com/ArinSime