agile estimating: perspectives & techniquesfiles.meetup.com/1298079/bernsohn - estimating...

39
Agile Estimating: Perspectives & Techniques Glenn Bernsohn March 2011 [email protected] 312.560.9960 Wednesday, March 23, 2011

Upload: others

Post on 21-Jun-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Agile Estimating: Perspectives & Techniques

Glenn BernsohnMarch 2011

[email protected]

Wednesday, March 23, 2011

Page 2: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Are estimates important?

2

Discussion

Wednesday, March 23, 2011

Page 3: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Are estimates important? How do you estimate work today?

2

Discussion

Wednesday, March 23, 2011

Page 4: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Are estimates important? How do you estimate work today? What do you estimate?

2

Discussion

Wednesday, March 23, 2011

Page 5: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Are estimates important? How do you estimate work today? What do you estimate? How “good” are your estimates?

2

Discussion

Wednesday, March 23, 2011

Page 6: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimates are only estimates..they depend upon◦ Who’s doing the work◦ Have they done this before◦ What their experience level is◦ Whether the team members works together before◦ How stable the technology is◦ How stable the requirements are

◦ “I should be able to….” we are generally very optimistic

Actuals are actuals !

Perspectives

3

Wednesday, March 23, 2011

Page 7: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Requirements missing, changing, more complex than thought New process (e.g. Agile) New tools (e.g. Visual Studio Team, java, Ruby, ORM, etc) Team has not worked together as a whole Estimates vary widely based on knowledge & experience Non-verbal assumptions are made in the estimate Risk impacts of unknowns (new infrastructure: e.g. rules

engine? workflow engine?) In-flight resource changes Skill set of team members Effects of time-slicing

Why is Estimating Difficult & Error Prone?

4

Wednesday, March 23, 2011

Page 8: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

What Can We Expect From Our Estimating Efforts?

Boehm, Barry W, Software Engineering Economics, Prentice-Hall, 1981

• It’s not what you know that hard to estimate, it’s what you don’t know

• We’re asked to estimate when we have the least information

• Estimates are still only estimates

• Expectations can be managed to reflect the realities of our ability to estimate accurately

5

Wednesday, March 23, 2011

Page 9: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Effects of Effort on Accuracy

Boehm, Barry W, Software Engineering Economics, Prentice-Hall, 1981

ACCURACY

Effort

6

Wednesday, March 23, 2011

Page 10: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

7

Estimating Time Horizons

Wednesday, March 23, 2011

Page 11: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Assume you have somehow gathered a list of stories that are prioritized and categorized

Estimates are usually done twice (at least)◦ At the start of the project during Inception (all stories)◦ At the start of each Sprint in the SPM (just the Sprint’s stories)

Those who do the work should do the estimates The whole team plus the customer should participate Base estimates are for story development only Team agrees on estimating unit of measure Ideally, stories should be small enough to complete in <1

week (why do you think that is?)◦ During Inception, this may not be possible

Pragmatic Agile Estimating

8

Wednesday, March 23, 2011

Page 12: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

You have options◦ If using “full team”, estimate story development only◦ If using “scrum-a-fall”, estimate cycle for each story

You also need to plan for ◦ Governance activities (e.g. approval gates)◦ Dependencies◦ Technical tasks◦ Final UAT◦ Unknowns (load factor & risk)

What Should You Estimate?

9

Wednesday, March 23, 2011

Page 13: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

First agree on a unit of measure◦ Story points (relative size)◦ Ideal hours or days◦ Pairing sessions

Select an appropriate technique◦ RPS or RSP◦ Planning Poker◦ Comparative◦ Wideband Delphi◦ High/Low

Apply Risk Base Scheduling

Survey of Techniques

10

Wednesday, March 23, 2011

Page 14: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

If you have large groups of “types” of things that can be compared….◦ Estimate the total for one group◦ Derive estimates for the remainder via comparison

E.g. Supporting different business rules by state◦ Estimate one state◦ Estimate complexity / effort differences by state

Estimate relative sizes across the whole group and apply a time factor per unit

Comparative

11

Wednesday, March 23, 2011

Page 15: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

12

Estimation Exercise

Pig

Mouse

Horse

ElephantChicken

Great Dane

Wednesday, March 23, 2011

Page 16: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

◦ Exercise: estimate the relative sizes of these…◦ Which is lightest? heaviest? ◦ How much heaver is the heaviest?◦ Estimate the rest…..

Then you can more easily estimate their weight in ounces or another unit of measure

12

Estimation Exercise

Pig

Mouse

Horse

ElephantChicken

Great Dane

Wednesday, March 23, 2011

Page 17: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

One Group Technique: Rock Paper Scissors

Better for Sprint Planning Meeting estimating

13

Wednesday, March 23, 2011

Page 18: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

0, .5, 1, 2, 3, 5, 8, 13, 20, 50, 80, ?, coffee

Planning Poker

Better for planning phase estimating (Inception)

14

Wednesday, March 23, 2011

Page 19: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Wideband Delphi

15

Wednesday, March 23, 2011

Page 20: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Step 1: discuss items, separate groups estimate◦ Best case◦ Worst case◦ Likely case

Wideband Delphi

15

Wednesday, March 23, 2011

Page 21: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Step 1: discuss items, separate groups estimate◦ Best case◦ Worst case◦ Likely case

Step 2: groups present & discuss estimates

Wideband Delphi

15

Wednesday, March 23, 2011

Page 22: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Step 1: discuss items, separate groups estimate◦ Best case◦ Worst case◦ Likely case

Step 2: groups present & discuss estimates Step 3: repeat steps 1 & 2 at least once

Wideband Delphi

15

Wednesday, March 23, 2011

Page 23: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Step 1: discuss items, separate groups estimate◦ Best case◦ Worst case◦ Likely case

Step 2: groups present & discuss estimates Step 3: repeat steps 1 & 2 at least once Step 4: calculate final numbers◦ Estimate= (optimistic + pessimistic + 4*most

likely) / 6◦ Likely deviation = (pessimistic – optimistic) / 6

Wideband Delphi

15

Wednesday, March 23, 2011

Page 24: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Story Best Worst Likely Estimate123456789Etc…..

16

Wideband Delphi Template

Wednesday, March 23, 2011

Page 25: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 26: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimators (typically the development team) sit in a circle and are presented release stories

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 27: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimators (typically the development team) sit in a circle and are presented release stories

Each member has a hi/lo estimation sheet

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 28: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimators (typically the development team) sit in a circle and are presented release stories

Each member has a hi/lo estimation sheet Estimates are initially personal and should not be shared

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 29: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimators (typically the development team) sit in a circle and are presented release stories

Each member has a hi/lo estimation sheet Estimates are initially personal and should not be shared Conversation should be kept to a minimum, provide your gut reaction

to each story◦ You may want to ask experts on your team (which is more than just the

developers) minor details◦ You may to ask if functionality has already been developed/spiked

previously

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 30: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimators (typically the development team) sit in a circle and are presented release stories

Each member has a hi/lo estimation sheet Estimates are initially personal and should not be shared Conversation should be kept to a minimum, provide your gut reaction

to each story◦ You may want to ask experts on your team (which is more than just the

developers) minor details◦ You may to ask if functionality has already been developed/spiked

previously Your facilitator will prompt you as to whether you have enough

information to estimate (e.g. is the current conversation really contributing to your estimate)

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 31: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Estimators (typically the development team) sit in a circle and are presented release stories

Each member has a hi/lo estimation sheet Estimates are initially personal and should not be shared Conversation should be kept to a minimum, provide your gut reaction

to each story◦ You may want to ask experts on your team (which is more than just the

developers) minor details◦ You may to ask if functionality has already been developed/spiked

previously Your facilitator will prompt you as to whether you have enough

information to estimate (e.g. is the current conversation really contributing to your estimate)

Remember you have a hi and low estimate, so uncertainty can be covered by increasing your high estimate

17

Release Hi/Lo Estimation

Wednesday, March 23, 2011

Page 32: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

When Method Unit of MeasureUnit of MeasureUnit of MeasureUnit of Measure High/Low

    Pts IDD's IDH'sPairing

Sessions  

InceptionPlanning Poker Y Y N N Y (opt)

  Comparative Y N N N N  Hi/Low Y Y N N Y

 Wideband Delphi Y Y N N Y (opt)

Sprint RPS N N Y Y N

 Planning Poker N N Y Y N

18

Survey of Techniques

Wednesday, March 23, 2011

Page 33: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Create a base estimate (Nano %) Identify risk factors…◦ Effective Development Tools◦ Employee Turnover◦ Size Inflation◦ Specification Flaw◦ Productivity Variation◦ Relative◦ Probability◦ User defined risks…..

Simulate likely outcomes. Update after every Iteration

Risk Based Scheduling

Ref: Waltzing with Bears – DeMarco & Lister

Nano%

RelativeProbability

Delivery expected somewhere in this period

19

Wednesday, March 23, 2011

Page 34: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Consider including additional schedule modifiers either at the story level (harder) or at the category level◦ Complexity: the higher the perceived complexity, the more

likely your estimate will vary◦ Volatility: the degree to which you think the requirements of

the story are likely to change

Try using a simple low, medium, high ranking and assign % adjustments later

Scheduling Modifiers

20

Wednesday, March 23, 2011

Page 35: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Project expected, best, and worse cases◦ Do for each major area◦ “Add” them up

Defining “Certainty”

BestExpected

Worse

Function 1

21

Wednesday, March 23, 2011

Page 36: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Project expected, best, and worse cases◦ Do for each major area◦ “Add” them up

Defining “Certainty”

BestExpected

Worse

Function 1

BestExpected

Worse

Function 3

BestExpected

Worse

Function 2

21

Wednesday, March 23, 2011

Page 37: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Project expected, best, and worse cases◦ Do for each major area◦ “Add” them up

Defining “Certainty”

BestExpected

Worse

Function 1

BestExpected

Worse

Function 3

BestExpected

Worse

Function 2

50%

Overall

67% 95% 99%

21

Wednesday, March 23, 2011

Page 38: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

By now you should have (recorded in a spreadsheet or other tool):◦ A list of stories with estimates◦ A list of associated assumptions

Technical Functional Staffing

◦ A list of questions◦ A list of risks◦ Optionally a list of estimate modifiers

Net-net: you have a set of estimates reflecting the collective knowledge of the problem domain plus the experience of the team

Next you’ll need to plan a release schedule

Estimating Outputs

22

Wednesday, March 23, 2011

Page 39: Agile Estimating: Perspectives & Techniquesfiles.meetup.com/1298079/Bernsohn - Estimating Techniques - Marc… · Agile Estimating: Perspectives & Techniques Glenn Bernsohn March

Books◦ Waltzing With Bears: Managing Risk on Software

Projects by Tom Demarco, Timothy Lister◦ Agile Estimating and Planning by Mike Cohn◦ Boehm, Barry W, Software Engineering Economics,

Prentice-Hall, 1981 Articles◦ Wideband Delphi◦ Agile 2006, Agile 2005, XP……

References

23

Wednesday, March 23, 2011