SlideShare a Scribd company logo
1
The Art of Estimation
2
➢ How long will it take to read 500 page thick book?
➢ How long will it take to drive to a particular city or state?
➢ How much money it will take to organize a b’day party?
What is estimate?
➢ How long will it take for you to build a sand castle like this:
“As the size and complexity increases, it becomes almost impossible to give a precise
estimate”
“There is no such thing as accurate estimate. Estimate is an informed guess (a probability)
which can be different from actual. Variance is a reality which we need to accept.”
3
Estimation – Reason of Variance
No Historic Data
Unclear Requirements
Lack of Domain or
technical knowledge
Scope Creep
Non-developer Estimating
Variance
➢ Just for an illustration, imagine each of the variance source causes 30% variance then
cumulative range of variance could be: - “1 – 1.3*1.3*1.3*1.3*1.3” = “1 – 3.7” => 270%
variance
➢ If can’t estimate accurately then why estimate? Some Lean/Kanban experts believe
“Estimate is overhead. It’s waste.”. There is “#Noestimate” movement.
4
Estimation Advantages
➢ Sponsor and end customers expect early information about cost and timelines.
➢ Estimation help in managing projects interdependencies and organizational
dependencies.
➢ Estimation helps in understanding the viability. It helps to identify early on,
anything not worth pursuing.
➢ Estimation helps in prioritization as prioritization is not just function of value but
value & cost (ROI) ratio.
➢ Estimation helps in better planning and execution.
➢ Estimation provides another opportunity to collaborate and get better
understanding of ‘What’ and ‘How’ (requirements and implementation).
5
Estimation Basics / Tips
➢ Estimate in range rather than giving a single figure. Example: It would take 15-30
minutes to reach office depending on traffic conditions.
“It’s better to be roughly right than precisely wrong” – John Maynard
Keynes.
➢ Any estimate is as good as its underlying reasoning and assumptions. Example:
While giving this estimate for time to reach office, I am assuming private vehicle
rather than public transport and travel during non-peak traffic hours.
➢ Historic data (past projects) is good for estimation.
➢ Current data (current project) is even better and that’s where agile focuses.
➢ Estimation is not a one time activity. It is done iteratively as we progressively
elaborate the project’s ‘what’ and ‘how’ so modify it when you learn anything new.
6
Estimation cone of uncertainty
The cone
doesn’t narrow
itself.
We have to
force it to narrow
by reducing
variability.
7
Estimation Techniques
➢ Expert Judgement
➢ Analogous / Top Down Estimate – Estimating based on analogy with other
similar projects done in past.
➢ Used when very little information is available. Estimates are known as Rough
Order of Magnitude or ballpark estimates.
➢ Parametric Estimate – Uses statistical relationship between historical data and
other variables to calculate and estimate.
➢ Micro / Bottom-up estimate – Require a detailed WBS (Work breakdown
structure), activity list and resources. Estimate is summation of individual
estimates of small parts.
We combine techniques. Expert Judgement or analogous estimate in the beginning
when less information is available. Use bottom-up or other detailed estimation
techniques later on.
8
Wide Band Delphi
Delphi is structured way to create forecast based on inputs from panel of experts.
Wideband Delphi is a variation of that with following steps:
1) Choose the team – Select moderator and estimation team considering
representation from all areas (eg development, testing, devops, product etc)
2) Kick Off Meeting – Moderator leads a discussion to brainstorm assumptions,
WBS, units of estimation etc
3) Individual Preparation – Estimators individually prepare tasks list, estimate and
assumptions
4) Estimation Session – Discussion on estimation range and outliers. Attempt is to
gain consensus on estimate, tasks list and assumptions.
5) Assemble Tasks – Compilation of final tasks list, estimate and assumptions.
6) Review Results
9
Wide Band Delphi
10
PERT – 3 Point estimation
➢ Scope is broken down into components / activities / work packages. Each
component is given 3 estimates – Optimistic (O), Pessimistic (P), Most Likely (M)
➢ Estimate used for planning = (O+4M+P) / 6
➢ Standard Error for each component σte = (p - o) ÷ 6
➢ Risk Spread
Example: Say we have only two tasks:
1) Task 1 – Optimistic estimate 5; Most likely 8; Pessimistic 11
2) Task 2 – Optimistic estimate 3; Most likely 6; Pessimistic 12
Estimate = (5+4*8+11)/6 + (3+4*6+12)/6 = 13.5
Risk Spread = SQRT (SQR((11-5)/6) + SQR((12-3)/6)) = 1.8
This gives estimate range of 11.8 to 15.3 instead of 8 to 23. Adding 2*risk spread
givens 95% confidence estimate which is 17.1 in this case.
11
Affinity Estimation
➢ Done as first round of estimation for:
➢ Providing initial view of size to PO for
prioritization.
➢ Team to identify items too big or too
complex for possible split / spikes.
➢ It has five steps:
1. Silent Relative Sizing
2. Discussion to edit the wall
3. Place items into relative size buckets
4. Product owner challenge
5. Store the data in electronic tool
12
Ideal days / hours estimation
➢ Ideal Time is - How long something would take if
a) It’s all you work on
b) You have no interruptions
c) You have all you need
➢ Elapsed time is total time taken to finish the work
➢ Ideal time for a American footwall game is 60 minutes – Four 15 minutes quarters.
The elapsed time is much longer and hard to accurately predict.
➢ Ideal Days estimate is easy to estimate (at least initially) and explain but hard to
convert into elapsed time.
➢ Trainings, meetings, phone calls and task switching etc affect difference between
ideal time and elapsed time.
13
Relative Estimation
➢ Giving measurement baselines will not help because:
a) It’s very difficult and time consuming to measure.
b) Given dimensions may not be accurate and result in most going to a single box.
➢ Triangulation will help. Triangulation means comparing each sample with multiple
other samples.
➢ Relative estimation is slow and difficult in the beginning but once you have estimated
few, it will be fast and easy.
Small
Medium
Large
Can you divide mangoes from this huge pile into three boxes based on size?
Do you need to be told the exact dimension, length, width etc to identify different sizes?
14
Story Point Estimation
➢ Story Points is unit-less, relative size estimate which factor in both size (how much there
is?) and complexity (how hard it is?).
➢ Relative size is what is important.
➢ Example: Login Feature is 2; Search is 8 (as it’s approx 4 times bigger and harder
than Login Feature).
➢ Smallest story point could be of 1 story point
➢ Don’t use a single gold standard, rather triangulate i.e. compare with multiple reference
stories
➢ Basic math function (addition / subtraction still hold good).
➢ Each team defines these unit less points as they see fit. Can’t compare story point
estimates of two teams.
➢ Teams often defines handful of stories as reference stories to help with estimation
process.
15
Benefits of story point estimation
➢ Faster & Easier - Once team get a hang of it, story point estimation is much faster and
easier than day/hours estimate.
➢ Drive cross-functional behavior – It helps drive cross functional behavior as whole team
needs to provide single story point estimate for given user story.
➢ Don’t change with time – With time as team becomes more efficient or gets inefficiencies,
effort estimate in days/hours for same work changes which make it difficult to separate
efficiency change from estimate change. No such issue with story point estimation as it’s
relative.
➢ Avoids elapsed time vs effort confusion - Invariably ‘x’ days estimated work is supposed
to be finished in ‘x’ days which is often not true.
➢ Story point estimation is difficult for new agile teams so one mid-way approach could be:
a) Define “1 story point = 1 ideal day”
b) Gradually convert team to thinking in unit-less story points and unlearn a)
16
Agile Estimation – Just in time
Each of the priority items has a
size estimate in story point or
ideal days
Very large item at the bottom(which
may not be for current release) may
not have estimate or may have
estimate in large units
As items move up in the
priority list of unfinished
items, these are refined
further for better estimate
Accuracy
2
3
1
3
5
8
3
13
20
40
100
L
XL
17
Story point estimationAccuracy
Effort
➢ A little effort helps a lot but then lot of effort
only helps a little more.
➢ Agile doesn’t believe in too much precision
and want just enough precision to allow
planning. That’s the key reason for using
non-linear scale.
18
Using the right scale
➢ Can you decide whether given story is a one point story OR a two points story?
➢ How about deciding whether given story is a 14 points story OR a 15 points story?
➢ Use a non-linear scale. Two commonly used scales are:
a) Fibonacci Series – 1,2, 3, 5, 8, 13, 20, 40, 100…
b) Power of two – 1, 2, 4, 8, 16…
➢ For work to be done in near future, stay within single order of magnitude i.e. range
1 – 10
➢ Include 0 or ½ if required.
➢ Zero helps in considering trivial efforts.
➢ Remember 15x0 != 0. Multiple zero point stories can be combined to make 1-
2 points stories.
19
Planning Poker
➢ A gamified variation of Delphi estimation
where estimators are those who will do the
work.
➢ Improves buy-in and team collaboration.
➢ Each estimator is given a deck of cards, each
card has a valid estimate written on it (based
on non-linear scale chosen)
➢ Customer/Product owner reads a story and
it’s discussed briefly
➢ Each estimator selects a card that’s his or her
estimate. Cards are turned over so all can see
them
➢ Discuss differences (especially outliers) and
re-estimate until estimates converge
20
Planning Poker
➢ Team can also use question mark or infinity to
denote high size and complexity preventing
them to estimate properly i.e. need for split,
spike or scope clarity.
➢ Lack of convergence after 2-3 rounds require
scrum master to understand the reasoning and
deal case on case basis. Often these items are
parked aside.
➢ Product owner doesn’t estimate but is present
to answer any queries around scope.
➢ Engineering managers also don’t estimate but
support the process and sometimes provide
inputs.
Estimators Round 1 Round 2
Tara 3 5
Bala 8 5
Joju 2 5
Chris 5 8
21
➢ Velocity is sum of total estimate (in story points or ideal days) of stories which qualifies
“Definition of Done” in a given sprint.
➢ Example: Team signed up 5 stories of 3 points each (15 USP); 4 stories got DONE and 1
is incomplete then velocity is 12 USP).
➢ This helps in creating forecasts and planning for next sprints.
➢ Schedule = (Total number of story points / velocity)*Iteration length
➢ Velocity gets stabilized after running few iterations and we often take average of last 3
sprints.
➢ It corrects estimation errors and automatically factors in non-productive activities,
unplanned distractions.
Backlog Size Velocity Duration
200 Points Velocity = 25 200/25 = 8
Iterations
Velocity
22
Burndown and Burnup charts
23
Appendix
24
Estimation
25
Determining Velocity
Good to have historic values
but as every project & team is
unique, these have limited
value
Use Historic Values
Ideal way if feasible. After each
iteration the range of possible
velocity figures will converge
Run an Iteration
Estimate based on team’s
capacity
Make Forecast
Velocity is not just a number but a range of optimistic and pessimistic scenarios.
26
Velocity Forecast – Determine Team capacity
Person Hours Available per iteration
Tom 32 – 40
Harry 36 – 40
Rita 20 – 28
Han 16 – 22
Total Hours 104 – 130
Calculate Team’s capacity – An example
104 – 130 hrs effort available
27
Velocity Forecast – Raw velocity exercise
Story Story
Points
As user.. Search 2
As admin... Add 5
As visitor .. Inquire 3
As admin .. clone 5
104 – 130 hrs effort available Task Hrs
Design 6
Code 12
Test 8
Total 26
Task Hrs
Design 10
Code 12
Test 12
Document 10
Automate 8
Total 52
Task Hrs
Design 10
Code 14
Test 12
Total 36
Task Hrs
… …
Total 54
Backlog
Effort = 26+52+36 = 114
Velocity= 2+5+3=10
28

More Related Content

What's hot

User Story Sizing using Agile Relative Estimation
User Story Sizing using Agile Relative EstimationUser Story Sizing using Agile Relative Estimation
User Story Sizing using Agile Relative Estimation
Alex Kanaan, SPC5, CSP, ACC, ATF
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
Stephen Forte
 
story points v2
story points v2story points v2
story points v2
Jane Yip
 
Estimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC ApproachEstimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC Approach
Marraju Bollapragada V
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
Ravi Tadwalkar
 
Agile estimating 12112013 - Agile KC Dec 2013
Agile estimating 12112013 - Agile KC Dec 2013Agile estimating 12112013 - Agile KC Dec 2013
Agile estimating 12112013 - Agile KC Dec 2013
molsonkc
 
Estimation and Release Planning in Scrum
Estimation and Release Planning in ScrumEstimation and Release Planning in Scrum
Estimation and Release Planning in Scrum
Leapfrog Technology Inc.
 
Practical estimation techniques
Practical estimation techniquesPractical estimation techniques
Practical estimation techniques
SwatiKapoor43
 
Agile Estimation Techniques
Agile Estimation TechniquesAgile Estimation Techniques
Agile Estimation Techniques
Mikalai Alimenkou
 
Agile Estimation Techniques.pptx
Agile Estimation Techniques.pptxAgile Estimation Techniques.pptx
Agile Estimation Techniques.pptx
Priyanka Gurnani
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planning
Dimitri Ponomareff
 
Agile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad QureshiAgile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad Qureshi
Amaad Qureshi
 
Estimation techniques for Scrum Teams
Estimation techniques for Scrum TeamsEstimation techniques for Scrum Teams
Estimation techniques for Scrum Teams
Jesus Mendez
 
Story Points
Story PointsStory Points
Story Points
MirkaWeidenbach
 
Agile Planning and Estimation
Agile Planning and EstimationAgile Planning and Estimation
Agile Planning and Estimation
Manish Agrawal, CSP®
 
Agile Software Estimation
Agile Software EstimationAgile Software Estimation
Agile Software Estimation
Sunil Jakkaraju
 
Story Points Estimation And Planning Poker
Story Points Estimation And Planning PokerStory Points Estimation And Planning Poker
Story Points Estimation And Planning Poker
Daniel Toader
 
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, ConfluentIntroducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
HostedbyConfluent
 
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Databricks
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
Mike Cohn
 

What's hot (20)

User Story Sizing using Agile Relative Estimation
User Story Sizing using Agile Relative EstimationUser Story Sizing using Agile Relative Estimation
User Story Sizing using Agile Relative Estimation
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
 
story points v2
story points v2story points v2
story points v2
 
Estimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC ApproachEstimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC Approach
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
Agile estimating 12112013 - Agile KC Dec 2013
Agile estimating 12112013 - Agile KC Dec 2013Agile estimating 12112013 - Agile KC Dec 2013
Agile estimating 12112013 - Agile KC Dec 2013
 
Estimation and Release Planning in Scrum
Estimation and Release Planning in ScrumEstimation and Release Planning in Scrum
Estimation and Release Planning in Scrum
 
Practical estimation techniques
Practical estimation techniquesPractical estimation techniques
Practical estimation techniques
 
Agile Estimation Techniques
Agile Estimation TechniquesAgile Estimation Techniques
Agile Estimation Techniques
 
Agile Estimation Techniques.pptx
Agile Estimation Techniques.pptxAgile Estimation Techniques.pptx
Agile Estimation Techniques.pptx
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planning
 
Agile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad QureshiAgile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad Qureshi
 
Estimation techniques for Scrum Teams
Estimation techniques for Scrum TeamsEstimation techniques for Scrum Teams
Estimation techniques for Scrum Teams
 
Story Points
Story PointsStory Points
Story Points
 
Agile Planning and Estimation
Agile Planning and EstimationAgile Planning and Estimation
Agile Planning and Estimation
 
Agile Software Estimation
Agile Software EstimationAgile Software Estimation
Agile Software Estimation
 
Story Points Estimation And Planning Poker
Story Points Estimation And Planning PokerStory Points Estimation And Planning Poker
Story Points Estimation And Planning Poker
 
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, ConfluentIntroducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
 
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...Performant Streaming in Production: Preventing Common Pitfalls when Productio...
Performant Streaming in Production: Preventing Common Pitfalls when Productio...
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 

Similar to The art of estimation

NoEstimates@iNatuix
NoEstimates@iNatuixNoEstimates@iNatuix
NoEstimates@iNatuix
Kamal Tejnani
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
Vipul Agarwal
 
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdfEstimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
Orderly Disruption
 
Want better estimation ?
Want better estimation ?Want better estimation ?
Want better estimation ?
Alexandre Cuva
 
Delight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates WayDelight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates Way
troytuttle
 
Speak To The Business! Agile Metrics That Inform Rather Confuse the Business
Speak To The Business! Agile Metrics That Inform Rather Confuse the BusinessSpeak To The Business! Agile Metrics That Inform Rather Confuse the Business
Speak To The Business! Agile Metrics That Inform Rather Confuse the Business
troytuttle
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
Ghanashyam Hinge
 
The #NoEstimates Debate
The #NoEstimates DebateThe #NoEstimates Debate
The #NoEstimates Debate
Killick Agile Consulting Services
 
To Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates GameTo Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates Game
Agile Humans
 
Estimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van CauwenbergheEstimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van Cauwenberghe
Agile Tour Beirut
 
Scrum Coach : Estimation
Scrum Coach : EstimationScrum Coach : Estimation
Scrum Coach : Estimation
Anis Bouhachem Djer
 
Agile Estimation
Agile EstimationAgile Estimation
Agile Estimation
Saltmarch Media
 
Software Test Estimation
Software Test EstimationSoftware Test Estimation
Software Test Estimation
Jatin Kochhar
 
Agile Estimation & Capacity Planning
Agile Estimation & Capacity PlanningAgile Estimation & Capacity Planning
Agile Estimation & Capacity Planning
Mazhar Khan
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
Robert Dempsey
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature points
Madhur Kathuria
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
Dinesh Panwar
 
Kanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous ImprovementKanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous Improvement
Mattia Battiston
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)
Rodrigo Vieira
 
Estimations, Expectations, and Evolution During a Project's Journey from RFP ...
Estimations, Expectations, and Evolution During a Project's Journey from RFP ...Estimations, Expectations, and Evolution During a Project's Journey from RFP ...
Estimations, Expectations, and Evolution During a Project's Journey from RFP ...
Rick Manelius
 

Similar to The art of estimation (20)

NoEstimates@iNatuix
NoEstimates@iNatuixNoEstimates@iNatuix
NoEstimates@iNatuix
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
 
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdfEstimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
 
Want better estimation ?
Want better estimation ?Want better estimation ?
Want better estimation ?
 
Delight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates WayDelight Your Customers: The #noestimates Way
Delight Your Customers: The #noestimates Way
 
Speak To The Business! Agile Metrics That Inform Rather Confuse the Business
Speak To The Business! Agile Metrics That Inform Rather Confuse the BusinessSpeak To The Business! Agile Metrics That Inform Rather Confuse the Business
Speak To The Business! Agile Metrics That Inform Rather Confuse the Business
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
The #NoEstimates Debate
The #NoEstimates DebateThe #NoEstimates Debate
The #NoEstimates Debate
 
To Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates GameTo Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates Game
 
Estimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van CauwenbergheEstimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van Cauwenberghe
 
Scrum Coach : Estimation
Scrum Coach : EstimationScrum Coach : Estimation
Scrum Coach : Estimation
 
Agile Estimation
Agile EstimationAgile Estimation
Agile Estimation
 
Software Test Estimation
Software Test EstimationSoftware Test Estimation
Software Test Estimation
 
Agile Estimation & Capacity Planning
Agile Estimation & Capacity PlanningAgile Estimation & Capacity Planning
Agile Estimation & Capacity Planning
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature points
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
 
Kanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous ImprovementKanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous Improvement
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)
 
Estimations, Expectations, and Evolution During a Project's Journey from RFP ...
Estimations, Expectations, and Evolution During a Project's Journey from RFP ...Estimations, Expectations, and Evolution During a Project's Journey from RFP ...
Estimations, Expectations, and Evolution During a Project's Journey from RFP ...
 

Recently uploaded

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

The art of estimation

  • 1. 1 The Art of Estimation
  • 2. 2 ➢ How long will it take to read 500 page thick book? ➢ How long will it take to drive to a particular city or state? ➢ How much money it will take to organize a b’day party? What is estimate? ➢ How long will it take for you to build a sand castle like this: “As the size and complexity increases, it becomes almost impossible to give a precise estimate” “There is no such thing as accurate estimate. Estimate is an informed guess (a probability) which can be different from actual. Variance is a reality which we need to accept.”
  • 3. 3 Estimation – Reason of Variance No Historic Data Unclear Requirements Lack of Domain or technical knowledge Scope Creep Non-developer Estimating Variance ➢ Just for an illustration, imagine each of the variance source causes 30% variance then cumulative range of variance could be: - “1 – 1.3*1.3*1.3*1.3*1.3” = “1 – 3.7” => 270% variance ➢ If can’t estimate accurately then why estimate? Some Lean/Kanban experts believe “Estimate is overhead. It’s waste.”. There is “#Noestimate” movement.
  • 4. 4 Estimation Advantages ➢ Sponsor and end customers expect early information about cost and timelines. ➢ Estimation help in managing projects interdependencies and organizational dependencies. ➢ Estimation helps in understanding the viability. It helps to identify early on, anything not worth pursuing. ➢ Estimation helps in prioritization as prioritization is not just function of value but value & cost (ROI) ratio. ➢ Estimation helps in better planning and execution. ➢ Estimation provides another opportunity to collaborate and get better understanding of ‘What’ and ‘How’ (requirements and implementation).
  • 5. 5 Estimation Basics / Tips ➢ Estimate in range rather than giving a single figure. Example: It would take 15-30 minutes to reach office depending on traffic conditions. “It’s better to be roughly right than precisely wrong” – John Maynard Keynes. ➢ Any estimate is as good as its underlying reasoning and assumptions. Example: While giving this estimate for time to reach office, I am assuming private vehicle rather than public transport and travel during non-peak traffic hours. ➢ Historic data (past projects) is good for estimation. ➢ Current data (current project) is even better and that’s where agile focuses. ➢ Estimation is not a one time activity. It is done iteratively as we progressively elaborate the project’s ‘what’ and ‘how’ so modify it when you learn anything new.
  • 6. 6 Estimation cone of uncertainty The cone doesn’t narrow itself. We have to force it to narrow by reducing variability.
  • 7. 7 Estimation Techniques ➢ Expert Judgement ➢ Analogous / Top Down Estimate – Estimating based on analogy with other similar projects done in past. ➢ Used when very little information is available. Estimates are known as Rough Order of Magnitude or ballpark estimates. ➢ Parametric Estimate – Uses statistical relationship between historical data and other variables to calculate and estimate. ➢ Micro / Bottom-up estimate – Require a detailed WBS (Work breakdown structure), activity list and resources. Estimate is summation of individual estimates of small parts. We combine techniques. Expert Judgement or analogous estimate in the beginning when less information is available. Use bottom-up or other detailed estimation techniques later on.
  • 8. 8 Wide Band Delphi Delphi is structured way to create forecast based on inputs from panel of experts. Wideband Delphi is a variation of that with following steps: 1) Choose the team – Select moderator and estimation team considering representation from all areas (eg development, testing, devops, product etc) 2) Kick Off Meeting – Moderator leads a discussion to brainstorm assumptions, WBS, units of estimation etc 3) Individual Preparation – Estimators individually prepare tasks list, estimate and assumptions 4) Estimation Session – Discussion on estimation range and outliers. Attempt is to gain consensus on estimate, tasks list and assumptions. 5) Assemble Tasks – Compilation of final tasks list, estimate and assumptions. 6) Review Results
  • 10. 10 PERT – 3 Point estimation ➢ Scope is broken down into components / activities / work packages. Each component is given 3 estimates – Optimistic (O), Pessimistic (P), Most Likely (M) ➢ Estimate used for planning = (O+4M+P) / 6 ➢ Standard Error for each component σte = (p - o) ÷ 6 ➢ Risk Spread Example: Say we have only two tasks: 1) Task 1 – Optimistic estimate 5; Most likely 8; Pessimistic 11 2) Task 2 – Optimistic estimate 3; Most likely 6; Pessimistic 12 Estimate = (5+4*8+11)/6 + (3+4*6+12)/6 = 13.5 Risk Spread = SQRT (SQR((11-5)/6) + SQR((12-3)/6)) = 1.8 This gives estimate range of 11.8 to 15.3 instead of 8 to 23. Adding 2*risk spread givens 95% confidence estimate which is 17.1 in this case.
  • 11. 11 Affinity Estimation ➢ Done as first round of estimation for: ➢ Providing initial view of size to PO for prioritization. ➢ Team to identify items too big or too complex for possible split / spikes. ➢ It has five steps: 1. Silent Relative Sizing 2. Discussion to edit the wall 3. Place items into relative size buckets 4. Product owner challenge 5. Store the data in electronic tool
  • 12. 12 Ideal days / hours estimation ➢ Ideal Time is - How long something would take if a) It’s all you work on b) You have no interruptions c) You have all you need ➢ Elapsed time is total time taken to finish the work ➢ Ideal time for a American footwall game is 60 minutes – Four 15 minutes quarters. The elapsed time is much longer and hard to accurately predict. ➢ Ideal Days estimate is easy to estimate (at least initially) and explain but hard to convert into elapsed time. ➢ Trainings, meetings, phone calls and task switching etc affect difference between ideal time and elapsed time.
  • 13. 13 Relative Estimation ➢ Giving measurement baselines will not help because: a) It’s very difficult and time consuming to measure. b) Given dimensions may not be accurate and result in most going to a single box. ➢ Triangulation will help. Triangulation means comparing each sample with multiple other samples. ➢ Relative estimation is slow and difficult in the beginning but once you have estimated few, it will be fast and easy. Small Medium Large Can you divide mangoes from this huge pile into three boxes based on size? Do you need to be told the exact dimension, length, width etc to identify different sizes?
  • 14. 14 Story Point Estimation ➢ Story Points is unit-less, relative size estimate which factor in both size (how much there is?) and complexity (how hard it is?). ➢ Relative size is what is important. ➢ Example: Login Feature is 2; Search is 8 (as it’s approx 4 times bigger and harder than Login Feature). ➢ Smallest story point could be of 1 story point ➢ Don’t use a single gold standard, rather triangulate i.e. compare with multiple reference stories ➢ Basic math function (addition / subtraction still hold good). ➢ Each team defines these unit less points as they see fit. Can’t compare story point estimates of two teams. ➢ Teams often defines handful of stories as reference stories to help with estimation process.
  • 15. 15 Benefits of story point estimation ➢ Faster & Easier - Once team get a hang of it, story point estimation is much faster and easier than day/hours estimate. ➢ Drive cross-functional behavior – It helps drive cross functional behavior as whole team needs to provide single story point estimate for given user story. ➢ Don’t change with time – With time as team becomes more efficient or gets inefficiencies, effort estimate in days/hours for same work changes which make it difficult to separate efficiency change from estimate change. No such issue with story point estimation as it’s relative. ➢ Avoids elapsed time vs effort confusion - Invariably ‘x’ days estimated work is supposed to be finished in ‘x’ days which is often not true. ➢ Story point estimation is difficult for new agile teams so one mid-way approach could be: a) Define “1 story point = 1 ideal day” b) Gradually convert team to thinking in unit-less story points and unlearn a)
  • 16. 16 Agile Estimation – Just in time Each of the priority items has a size estimate in story point or ideal days Very large item at the bottom(which may not be for current release) may not have estimate or may have estimate in large units As items move up in the priority list of unfinished items, these are refined further for better estimate Accuracy 2 3 1 3 5 8 3 13 20 40 100 L XL
  • 17. 17 Story point estimationAccuracy Effort ➢ A little effort helps a lot but then lot of effort only helps a little more. ➢ Agile doesn’t believe in too much precision and want just enough precision to allow planning. That’s the key reason for using non-linear scale.
  • 18. 18 Using the right scale ➢ Can you decide whether given story is a one point story OR a two points story? ➢ How about deciding whether given story is a 14 points story OR a 15 points story? ➢ Use a non-linear scale. Two commonly used scales are: a) Fibonacci Series – 1,2, 3, 5, 8, 13, 20, 40, 100… b) Power of two – 1, 2, 4, 8, 16… ➢ For work to be done in near future, stay within single order of magnitude i.e. range 1 – 10 ➢ Include 0 or ½ if required. ➢ Zero helps in considering trivial efforts. ➢ Remember 15x0 != 0. Multiple zero point stories can be combined to make 1- 2 points stories.
  • 19. 19 Planning Poker ➢ A gamified variation of Delphi estimation where estimators are those who will do the work. ➢ Improves buy-in and team collaboration. ➢ Each estimator is given a deck of cards, each card has a valid estimate written on it (based on non-linear scale chosen) ➢ Customer/Product owner reads a story and it’s discussed briefly ➢ Each estimator selects a card that’s his or her estimate. Cards are turned over so all can see them ➢ Discuss differences (especially outliers) and re-estimate until estimates converge
  • 20. 20 Planning Poker ➢ Team can also use question mark or infinity to denote high size and complexity preventing them to estimate properly i.e. need for split, spike or scope clarity. ➢ Lack of convergence after 2-3 rounds require scrum master to understand the reasoning and deal case on case basis. Often these items are parked aside. ➢ Product owner doesn’t estimate but is present to answer any queries around scope. ➢ Engineering managers also don’t estimate but support the process and sometimes provide inputs. Estimators Round 1 Round 2 Tara 3 5 Bala 8 5 Joju 2 5 Chris 5 8
  • 21. 21 ➢ Velocity is sum of total estimate (in story points or ideal days) of stories which qualifies “Definition of Done” in a given sprint. ➢ Example: Team signed up 5 stories of 3 points each (15 USP); 4 stories got DONE and 1 is incomplete then velocity is 12 USP). ➢ This helps in creating forecasts and planning for next sprints. ➢ Schedule = (Total number of story points / velocity)*Iteration length ➢ Velocity gets stabilized after running few iterations and we often take average of last 3 sprints. ➢ It corrects estimation errors and automatically factors in non-productive activities, unplanned distractions. Backlog Size Velocity Duration 200 Points Velocity = 25 200/25 = 8 Iterations Velocity
  • 25. 25 Determining Velocity Good to have historic values but as every project & team is unique, these have limited value Use Historic Values Ideal way if feasible. After each iteration the range of possible velocity figures will converge Run an Iteration Estimate based on team’s capacity Make Forecast Velocity is not just a number but a range of optimistic and pessimistic scenarios.
  • 26. 26 Velocity Forecast – Determine Team capacity Person Hours Available per iteration Tom 32 – 40 Harry 36 – 40 Rita 20 – 28 Han 16 – 22 Total Hours 104 – 130 Calculate Team’s capacity – An example 104 – 130 hrs effort available
  • 27. 27 Velocity Forecast – Raw velocity exercise Story Story Points As user.. Search 2 As admin... Add 5 As visitor .. Inquire 3 As admin .. clone 5 104 – 130 hrs effort available Task Hrs Design 6 Code 12 Test 8 Total 26 Task Hrs Design 10 Code 12 Test 12 Document 10 Automate 8 Total 52 Task Hrs Design 10 Code 14 Test 12 Total 36 Task Hrs … … Total 54 Backlog Effort = 26+52+36 = 114 Velocity= 2+5+3=10
  • 28. 28