Professional Documents
Culture Documents
Agile Software Estimation: - Sunil Kumar
Agile Software Estimation: - Sunil Kumar
Agile Software Estimation: - Sunil Kumar
- Sunil Kumar
Agenda
• What is an estimate?
• Scenario
• What are the factors influencing estimating?
• How are agile projects estimated?
• How Agile estimation solves common
estimation problems?
How to estimate this task ?
What is an estimate?
Unbiased, analytical
process to predict the
duration or cost of a
project
• Estimation is the
calculated
approximation of a
result which is usable
even if input data may
be incomplete or
uncertain.
What does the definition mean?
By definition estimate is not accurate
Estimation is prediction not PLAN
Typical first estimate is off by factor of 4
We are not good in absolute measurement
We are good in comparing things
Estimates are not commitments
Time is not persistent
Scenario
• You are told to estimate a project to “build a
space shuttle that will land on moon”
•Group B
•7 Pages spec 173 hours
Irrelevant information for same spec
•Group A
20 hours
•Group B
•Group B
4 hours
•Requirements 1-5
•Group C
•Requirements 1-5 but told 8 hours
to estimate 1-4 only
Given anchor
•Group A 456 hours
•Group B
•Customer thinks 500 555 hours
• customer has no technical knowledge
• Don’t let the customer influence you
•Group C
•Same as B 99 hours
customer thinks 50
Biased opinion
Dominating opinion
Re estimation is considered heretic by most
organizations so we overestimate by buffering
Overestimation downside: Goldratt’s student
syndrome
Eliyahu M. Goldratt
Competition, pressure from boss, peer-pressure,
optimism bias, etc leads us to underestimate
Underestimating leads to project plan
destruction
More bugs
Bad team health
More time in “status” meetings to discuss
slippage
Time-based estimates are not additive for
a team of varied skill set
What is the source of uncertainty in our
projects?
Cloud of uncertainity (if the project is not
well controlled)
Control the effects of overestimation and cloud of
uncertainty using project planning and status visibility
Other factors influencing estimates
• Unstable requirements
• Forgetting to include the following while estimating
– Version control overhead
– Code review
– Build, installing
– More meetings
– Sick leaves
– etc
• Always compare your
estimates to your
actuals or you’ll never
be a better estimator
• Wisdom = Experience +
reflection
- Aristotle
Points to remember from Steve McConnell
• Narrow ranges != greater
accuracy
• Don’t give off the cuff
estimates
• Precision is not accuracy. The
project will not take 233.725
hours
• Find something meaningful to
count and keep a record of it.
• Use expert judgement only as
a last resort
Estimation techniques
• Expert opinion
• Analogy
• Educated guess
• Disaggregating
Use story
trawling to
prioritize tasks.
How to calculate time?