estimation and release planning in scrum

21
Scrum - Estimation and Planning SUDEEP M. SHRESTHA

Upload: leapfrog-technology-inc

Post on 16-Apr-2017

71 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Estimation and Release Planning in Scrum

Scrum - Estimation and PlanningSUDEEP M. SHRESTHA

Page 2: Estimation and Release Planning in Scrum

Outline Relative Estimation Velocity Release Planning in Scrum

Page 3: Estimation and Release Planning in Scrum

Estimation

Page 4: Estimation and Release Planning in Scrum

“THE DARK ART OF ESTIMATION.”

Page 5: Estimation and Release Planning in Scrum

Why estimate?1. To help us make trade-off decisions. Two BIG factors to consider – Time and

Budget

2. To help set goals - the act of estimating and setting targets can certainly help you to maintain focus and maximize results.

“WE HUMANS ARE NOT NATURALLY GREAT ESTIMATORS. WE TEND TO EITHER BE OPTIMISTS OR PESSIMISTS AND VERY RARELY REALISTS.”

Page 6: Estimation and Release Planning in Scrum

Relative Estimation So we're bad at absolute estimates. It turns out however that we're pretty reasonable at relative estimates. Relative estimation applies the principle that comparing is much quicker and more accurate than deconstructing. Teams compare the relative effort of completing a new requirement to the relative effort of a previously estimated requirement.

Page 7: Estimation and Release Planning in Scrum

Relative Estimation

This applies to estimating the size of a requirement as well. We might be bad at estimating how many hours a particular requirement might take, but we are pretty good at saying for example requirement A would take twice as long as requirement B.

Page 8: Estimation and Release Planning in Scrum

Relative Estimation Planning Poker - a game invented by James Greening and popularized by Mike Cohn

Mike Cohn’s modified Fibonacci sequence (Story Points):

1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100, ∞(infinity)

Ideal Hours

T-shirt sizes

Page 9: Estimation and Release Planning in Scrum

Estimation - Basic Principles Estimates should be created by the team and NOT by the most senior developer

You need estimates before you can prioritize

Estimates are NOT commitments

Every estimate should come with a probability

Estimates should be of relative, rather than absolute, size

3 levels of precision (Story estimates, Task estimates, Task remaining work)

Relative estimates on story level and above

Hour estimates on task level

“IT’S BETTER TO BE ROUGHLY RIGHT THAN PRECISELY WRONG.” – JOHN MAYNARD KEYNES

Page 10: Estimation and Release Planning in Scrum

Release Planning

Page 11: Estimation and Release Planning in Scrum

What’s a good plan? A good plan is one that supports reliable decision-making Will go from

We’ll be done in the third quarter We’ll be done in August We’ll be done August 18th

Page 12: Estimation and Release Planning in Scrum

Planning - Purpose To answer questions such as: How much will be done by September 30? When can we ship with this set of features? How many people or teams should be on this project?

Page 13: Estimation and Release Planning in Scrum

Planning - Inputs Velocity Prioritized Product Backlog

Page 14: Estimation and Release Planning in Scrum

Velocity The amount of work completed in an iteration. Measured in the units you use to estimate product backlog items (usually Story Points or Ideal Hours) Not a prediction of exactly how much work will be completed in each iteration.

“64% OF THE FEATURES ARE RARELY/ NEVER USED. 20% ARE OFTEN/ ALWAYS USED.” - STANDISH GROUP STUDY REPORTED AT XP2002 BY JIM JOHNSON

Page 15: Estimation and Release Planning in Scrum

Velocity Velocity varies from sprint to sprint.

This makes it useful mostly over the longer term.

Page 16: Estimation and Release Planning in Scrum

Velocity Calculation Median = {(n + 1) ÷ 2}th value = (7+1) / 2

= 4th value (i.e. 39)

Page 17: Estimation and Release Planning in Scrum

Planning - Types Fixed-date planning Fixed-scope planning

Page 18: Estimation and Release Planning in Scrum

Fixed-date PlanningHow much can I get by <date>?

1. Determine how many sprints you have.

2. Measure or estimate velocity as a range.

3. Multiply low velocity x number of sprints (Count off that many points, These are “Will Have” items).

4. Multiply median velocity x number of sprints (Count off that many more points, These are “Might Have” items).

5. Multiply high velocity x number of sprints (Count off that many points, These are “Won’t Have” items.

“AGILE DEVELOPMENT IS AN ART OF MAKING THE IMPOSSIBLE POSSIBLE”

Page 19: Estimation and Release Planning in Scrum

Fixed-scope Planning When will all of this be done?

1. Sum all the backlog items the customer needs.

2. Measure or estimate velocity as a range.

3. Divide total story points by high velocity - This is the “shortest” number of sprints it could take.

4. Divide total story points by low velocity - This is the “most” number of sprints it could take.

“IN SCRUM WE START BUILDING THE PRODUCT EVEN BEFORE WE HAVE DETAILED ALL REQUIREMENTS”

Page 20: Estimation and Release Planning in Scrum

Ranges Notice in both cases we had a range For a fixed date project, use a scope range: “By that date you’ll have all of these features and some of these.” For a fixed scope project, use a date range: “It will take us between 5 and 8 sprints to deliver all of those features.”

Page 21: Estimation and Release Planning in Scrum

Thank You!!