agile estimation and planning
DESCRIPTION
Presentation given at XMPie about the topic. Done as a part of the ILTechTalks initiative.TRANSCRIPT
Agile estimation and planningElad Sofer -Agile coach.
blog - http://blog.thescrumster.com LinkedIn - http://www.linkedin.com/in/eladsofer
How to estimate this task?
Persistence of time
How long will it take to…
• Read the bible
• Drive to Paris ?
• Solve a math equation ?
• Add support for LDAP ?
Estimate tasks in relative size
• We are not good in measuring absolute values.
• We are good in comparing things.
• We have the basic math skills (or a calculator).
• High accuracy has a high toll.
• Estimates become commitments
• Time is not persistent.
Story points• Name is derived from user stories.• They reflect the “bigness” of a user story.
– How hard it is ?– How risky it is ?– How much of it there is ?
• Relative values matters.• Unitless.• Point values “include uncertainty”.• Easy and quick
– A little effort helps a lot– A lot of effort helps a little more
Estimation techniques• Expert opinion• Analogy• Educated guess• Disaggregating
• Planning poker
Planning poker
1. Each person gets a deck of cards.
2. The item to be estimated is read to all.
3. Attendants ask clarifications for the item.
4. Each person selects a card and puts it on the table facing down.
5. When everyone is done, cards are exposed.
6. If the estimations do not match a short discussion is done. -> Goto 4.
7. Handle next item.
Why planning poker works?
• Those who do the work estimate it.
• Emphasizes relative estimation
• Estimates are within one order of magnitude.
• Reduces anchoring - Everyone's opinion is heard.
Specification length
•One page spec
•Group A
•7 Pages spec
•Group B
173 hours
117 hours
Irrelevant information
•Group A
•added irrelevant details:•End user desktop apps•Usernames & passwords•Etc.
•Group B
39 hours
20 hours
Extra requirements
•Requirements 1-4
•Group A
•Requirements 1-5
•Group B4 hours
4 hours
•Requirements 1-5 but told to estimate 1-4 only
•Group C8 hours
Given anchor
•Group A
•Customer thinks 500 •customer has no technical knowledge•Don’t let the customer influence you
•Group B
555 hours
456 hours
•Same as B customer thinks 50
•Group C99 hours
Why planning poker works?
• Those who do the work estimate it.• Emphasizes relative estimation• Estimates are within one order of
magnitude.• Reduces anchoring - Everyone's opinion
is heard.• Modeled for open discussion – forces
thinking.• It’s quick & fun !
Why traditional planning fails
• Plan is not adaptive.• Focus on activities – Not on features
– Never finish early.– Lateness is passed down.– Dependencies.
• Plan is not priority driven.– Higher risk.– Lower ROI.
• Belief that customers will not change• Estimates become commitments.
What makes planning agile?
• Planning Is not considered as a phase in the project• Focus on business priorities• Deliver something each iteration.• Changes are expected, embrace change.• Plans are easily correctable.• Plan by feature not by activity.• Clear definition of progress
50% = 50% of features complete.
• And…
“It’s better to be roughly right than precisely wrong.”
[John Maynard Keynes[
Product
Portfolio
Strategy
Continuous planning
Daily
Iteration
Release
First, We need a backlog
StoryValueEstimateRisk…
As a user I want to log in securely.
As a user I want to see my balance
As a user I want to see last transactions.
As a manager I want balance report
As a manager I want a report of customer with overdraft.
As a user I want to perform stock operations.
Add value
StoryValueEstimateRisk…
As a user I want to log in securely.
10
As a user I want to see my balance
100
As a user I want to see last transactions.
70
As a manager I want balance report
60
As a manager I want a report of customer with overdraft.
80
As a user I want to perform stock operations.
30
Estimate & asses risk
StoryValueEstimateRisk…
As a user I want to log in securely.
105Low
As a user I want to see my balance
1008Low
As a user I want to see last transactions.
7020Medium
As a manager I want balance report
60BIGMedium
As a manager I want a report of customer with overdraft.
8013Low
As a user I want to perform stock operations.
30BIGHIGH
Prioritization guidelines
Now it is prioritized – We are ready
StoryValueEstimateRisk…
As a user I want to see my balance
1008Low
As a user I want to see last transactions.
7020Medium
As a user I want to perform stock operations.
30BIGHIGH
As a manager I want a report of customer with overdraft.
8013Low
As a manager I want balance report
60BIGMedium
As a user I want to log in securely.
105Low
Sprinting…
• Before the sprint:– The team committed to the following:
• As a user I want to see my balance
• As a user I want to see last transactions.
– Creates the sprint backlog:• They break it down into tasks.• They estimate the time for
each task.
Tracking progress (day 1)
Tracking progress (day 3)
Tracking progress (day 6)
Tracking progress (End)
When the Sprint has finished:
• We now know the current velocity.– Only DONE items count.
• We can now start and “realistically” estimate the expected progress.
Velocity
• How many points can the team(s) complete in one iteration.
• Easy to measure.
• Fixes estimation errors.
• Easily reflects the project status.
• Primary parameter in planning.
How to calculate time?
Burn down charts
• Increase visibility
• Easy to understand.
• Updated automatically & immediately.
• Usually used on release & sprint level.
So what will it be?
For more information:
Read this
book
And visit my blog