agile software estimation
DESCRIPTION
This presentation discusses the following: What is an estimate?What are the factors influencing estimating?How are agile projects estimated?How Agile estimation solves common estimation problems?TRANSCRIPT
![Page 1: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/1.jpg)
Agile Software Estimation
- Sunil Kumar
![Page 2: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/2.jpg)
Agenda
• What is an estimate?• Scenario• What are the factors influencing estimating?• How are agile projects estimated?• How Agile estimation solves common
estimation problems?
![Page 3: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/3.jpg)
How to estimate this task ?
![Page 4: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/4.jpg)
What is an estimate?
Unbiased, analytical process to predict the duration or cost of a project
![Page 5: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/5.jpg)
• Estimation is the calculated approximation of a result which is usable even if input data may be incomplete or uncertain.
![Page 6: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/6.jpg)
What does the definition mean?
![Page 7: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/7.jpg)
By definition estimate is not accurate
![Page 8: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/8.jpg)
Estimation is prediction not PLAN
![Page 9: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/9.jpg)
Typical first estimate is off by factor of 4
![Page 10: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/10.jpg)
We are not good in absolute measurement
![Page 11: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/11.jpg)
We are good in comparing things
![Page 12: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/12.jpg)
Estimates are not commitments
![Page 13: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/13.jpg)
Time is not persistent
![Page 14: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/14.jpg)
Scenario
• You are told to estimate a project to “build a space shuttle that will land on moon”
• You say “It will take 6 months to 2 years”
• Your superior hears “It will take 6 months”. why? – optimism bias, organization, political and competitive pressures.
![Page 15: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/15.jpg)
Scenario contd..
• 6 month estimate breakup– 1 month design– 4 months implementation– 1 month testing
![Page 16: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/16.jpg)
Scenario 1 contd..
• Design takes 5 weeks, late by 1 week
• How much did the project slip?– 1 week?– 25% ?
![Page 17: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/17.jpg)
Answer
• 25% slip in project– 25% of design = 1 week– 25% of implementation = 1 month (approx 4 weeks)
– 25% of testing = 1 week
• Total slip in project = 6 weeks
![Page 18: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/18.jpg)
Factors influencing estimating
![Page 19: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/19.jpg)
Assumptions (domain jargon)
![Page 20: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/20.jpg)
Anchoring (by customers)
![Page 21: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/21.jpg)
Same specification
•One page spec
•7 Pages spec 173 hours
117 hours
•Group A
•Group B
![Page 22: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/22.jpg)
Irrelevant information for same spec
•Group A
•added irrelevant details:• End user desktop apps• Usernames & passwords• Etc.
•Group B
39 hours
20 hours
![Page 23: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/23.jpg)
Extra requirements
•Requirements 1-4
•Group A
•Requirements 1-5
•Group B 4 hours
4 hours
•Requirements 1-5 but told to estimate 1-4 only
•Group C8 hours
![Page 24: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/24.jpg)
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
![Page 25: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/25.jpg)
Biased opinion
![Page 26: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/26.jpg)
Dominating opinion
![Page 27: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/27.jpg)
Re estimation is considered heretic by most organizations so we overestimate by buffering
![Page 28: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/28.jpg)
Overestimation downside: Goldratt’s student syndrome
Eliyahu M. Goldratt
![Page 29: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/29.jpg)
Competition, pressure from boss, peer-pressure, optimism bias, etc leads us to underestimate
![Page 30: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/30.jpg)
Underestimating leads to project plan destruction
![Page 31: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/31.jpg)
More bugs
![Page 32: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/32.jpg)
Bad team health
![Page 33: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/33.jpg)
More time in “status” meetings to discuss slippage
![Page 34: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/34.jpg)
Time-based estimates are not additive for a team of varied skill set
![Page 35: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/35.jpg)
What is the source of uncertainty in our projects?
![Page 36: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/36.jpg)
Cloud of uncertainity (if the project is not well controlled)
![Page 37: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/37.jpg)
Control the effects of overestimation and cloud of uncertainty using project planning and status visibility
![Page 38: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/38.jpg)
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
![Page 39: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/39.jpg)
• Always compare your estimates to your actuals or you’ll never be a better estimator
• Wisdom = Experience + reflection
- Aristotle
![Page 40: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/40.jpg)
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
![Page 41: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/41.jpg)
Estimation techniques
• Expert opinion• Analogy• Educated guess• Disaggregating
• Planning poker – Agile estimation
![Page 42: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/42.jpg)
Planning poker• http://www.planningpoker.com/
• Consensus-based estimation technique for estimating
• First described by James Grenningand later popularized by Mike Cohn in the book Agile Estimating and Planning
![Page 43: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/43.jpg)
Planning Poker
• Estimated in story points for user stories* • It is most commonly used in agile software
development• First described by James Grenning in 2002 and
later popularized by Mike Cohn in the book “Agile Estimating and Planning”
• For Eg: the deck contains the following cards: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100.
User stories are user requirements of form "As a <Some Role> I want <Some Need> so that <Some Benefit>”
![Page 44: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/44.jpg)
Planning Poker
1. Each person gets a deck of cards.2. The story 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. 7. Timer is started for discussion and discussion must cease
when it runs out -> Goto 4.8. Handle next item.
![Page 45: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/45.jpg)
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 !
![Page 46: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/46.jpg)
At the beginning of the project
Use story trawling to prioritize tasks.
![Page 47: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/47.jpg)
How to calculate time?
Time (in no of iterations) = ( No of Story points / Velocity of each
sprint/iteration)
![Page 48: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/48.jpg)
Velocity
• How many points can the team complete in one iteration.
• Easy to measure.• Fixes estimation errors.• Easily reflects the
project status.• Primary parameter in
planning.
![Page 49: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/49.jpg)
How Agile estimation solves common estimation problems?
![Page 50: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/50.jpg)
Assumptions reduced by constant communication
![Page 51: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/51.jpg)
Anchoring is eliminated by not estimating in time but relatively
![Page 52: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/52.jpg)
Cross-functional team while estimating shield from biased opinion
![Page 53: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/53.jpg)
Blind vote and consensus rules out dominating opinion
![Page 54: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/54.jpg)
Daily standup, self-organization and burndown charts reduce affect of overestimation
![Page 55: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/55.jpg)
Estimation is based on team velocity for a sprint, this reduces underestimation
![Page 56: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/56.jpg)
References
• Agile estimation and planning – Mike cohn (http://www.mountaingoatsoftware.com/books/1-agile-estimating-and-planning)
• http://www.slideshare.net/codeburns/the-art-of-estimation-presentation
• http://www.slideshare.net/aviram37/agile-estimation-sd-forum
• Software Estimation: Demystifying the black art – Steve McConnell (http://www.stevemcconnell.com/est.htm)
![Page 57: Agile Software Estimation](https://reader036.vdocuments.mx/reader036/viewer/2022062404/554c5923b4c9053e308b4e17/html5/thumbnails/57.jpg)
Questions?