Introduction to Relative Estimation
Conventional or traditional way of project delivery usually has one big fat release once the project is complete. In this case usually any work item has to fit into the timeline and the basic thought process behind the estimation is to check the impact on the timeline and the budget. The natural question to ask in such a scenario is – How much time will we need to finish the work? This question is usually answered in terms of hourly estimates or man days which depicts the commitment of the team’s effort to finish the work.
When teams adopt agile ways of working, where the work is broken down and delivered incrementally and iteratively, the thought process changes from “how much time” to:
- How big is the work?
- Can we fit the work in the sprint?
When it comes to answering these questions, absolute estimations like hourly or man days may not be the right fit. We may need to express the work size with respect to complexity and uncertainty. This is where relative estimation comes into picture. This blog aims at answering a few questions about relative estimation in agile like:
- What is relative estimation?
- Types of relative estimation?
- Role of relative estimation in agile?
- Advantages of relative estimation
- What are a few Relative Estimation Techniques?
- What is the relative sizing estimation technique in agile?
What is Relative Estimation?
Relative estimation is an approach of estimating one piece of work by comparing it with another. It is not a definite hours or man days which signifies how long the work will take. It refers to the size of the work by comparing effort, complexity and uncertainty with another piece of work.
Example: If we assign 1 to a size to a grape, how many grapes is the size of an orange?
It may sound easy but confusing at the same time. Let’s see how it works:
- First set a bench mark with a very small piece of work which is rather simple, less effort taking and limited uncertainty. This will act as a base work items for reference
- Then all the other work items are compared to the base work item in terms of complexity, effort and uncertainty and then estimated
- Teams can use methods like fibonacci series, T shirt sizes to represent the size of the work which does not usually tell how long will the team take to complete. Rather represent the size of the work based on the complexity
Why Agile Estimation Uses Relative Estimation Techniques?
Agile ways of working concentrates on responding to change and being flexible, continuously pivoting and adapting to changes. This type of environment requires the change of thought process in terms of estimation. Below are a few reasons why relative estimations work the best in agile environment:
- Shift in focus from time to size because of iterative and incremental delivery
- Uncertainty in the requirements because of the changing requirements
- Cross functional team nature for whom precise time estimation could be a challenge
- Need for quick estimation rather than detailed and precise estimation
- Reducing the gap with non accurate estimation because of difference in experience
- Focussing in just enough planning versus detailed planning
Types of Relative Estimation Techniques in Agile
Relative estimation is the approach in which one piece of work is compared with a reference work item to size it. While the ideology of relative estimation is constant, there are different frameworks and techniques to achieve relative estimation. Some of them include:
1. Story Points / Fibonacci Series
Story point is simply a number given by the entire team which signifies the size of the work. Story point estimation is a relative way of estimation i.e teams compare one work with the other and then size the work based on the 3 factors mentioned below.
- Effort taken by the entire team
- Complexity of the work
- Uncertainty in the story
A smaller story point signifies the work for the team is small and a bigger story point signifies that the work is big in size for the team. Story point estimation uses Fibonacci series to estimate a work. The traditional Fibonacci sequence is 1, 2, 3, 5, 8, 13, 21 and so on, with each number the sum of the preceding numbers. Agile Team uses modified Fibonacci sequence of 1, 2, 3, 5, 8, 13, 20, 40 and 100 for estimation. The Fibonacci sequence prevents estimates from being too close to one another.
Planning poker technique can be clubbed to get estimates for the work items which follows the fibonacci series. If you closely observe the series, there are gaps between numbers and the gaps increase as we go higher in the series. These gaps represent the uncertainties in the story. A user story with a higher amount of uncertainty is estimated with a higher number from the series.
2. T-Shirt Sizing
This is one of the most used relative sizing estimation technique in agile. This technique uses T shirt sizes like, XS, S, M, L, XL etc to represent the size of the work. The main point here is that the teams should understand or have a method to madness on what each size means. Generally bigger work items are estimated using T Shirt Sizing like an epic or a feature for quick understanding of how big the work is.
Generally, teams have a definition of what each size refers to and this promotes quick estimations for bigger work items.
Example: If there is a new feature which needs to be estimated and they have a definition of the base feature which took about 2 sprints with XS as the size, they can quickly give a t-shirt size to the new epic based on how big the work is.
Relative Estimation Focuses on in Agile
There are 3 factors on which a work item in agile is estimated in general. Complexity, uncertainty and effort the teams have to put to get it done. While estimation is a by-product, relative estimation mainly focuses on everyone being on the same page with respect to knowledge and understanding about the work item. End result of relative estimation is to determine the size of the work, here are 3 key areas which it focusses on:
- Effort taken by the team – Once the story is explained, the team has a round of discussion on what all items have to be done to finish the work item. This gives clarity to all the members of the team in terms of the effort each one has to put to complete the story
- Complexity of the work – Complexity does not mean it takes too much time. Work items may involve technical challenges, writing complex code logic and systems. Relative estimation promotes everyone in the team to solve problems together. This in turn ensures everyone understands how simple or complex the work is
- Uncertainty in the work – Uncertainty are things which we do not know or cannot foresee. Work items with higher amounts of uncertainty means there could potentially be roadblocks. This is another clarity that the teams get with agile relative estimation.
Examples of Relative Estimation in Action
Let’s take an example of a team estimating some stories for amazon application, Let’s see how agile relative estimation works,
There are three stories – Login story, Search by name story and payment by wallet story.
- Step 1: First the simplest story is chosen and discussed around the work. In the example above, Search by name story is the simplest ( One API, Simple text box UI with less uncertainty)
- Step 2: It is assigned a story point 1 or T-Shirt size XS. This is our base story
- Step 3: Next story which is login is discussed and compared with the base story. Login story may need a little more UI components and logic to login and an API with validations. So this will assigned probably a 3 story points or an M T-Shirt size
- Step 4: Next story is the wallet story. First we have to narrow down on the wallet, integrate it with the application, build UI and then write logic. Complexity is even more and wallet decisions are uncertain. This may be given a 5 story points or XL as agile relative estimation sizes
The Role of Relative Sizing in Agile Estimation
Estimation is just a number which depicts the size or how much time the team might take to finish a work. As the word itself explains, it is not accurate. Especially in an agile environment where things are flexibly changing, one main reason to adapt to relative estimation is to ensure just enough planning is done and not too much effort is spent on estimation. Here are a few things which are helpful with relative sizing estimation techniques in agile:
- Reduces stress and time taken by the team in estimation
- Promotes understanding the complexity of the work. A small task with lot of uncertainties may take lot of time than a straightforward task which is large
- Reduces gap with experience and knowledge between the team members
- It makes predictability of the project easier with increasing backlog size
Benefits and Challenges of Relative Estimation in Agile
Relative estimation in agile is a whole different science and most teams change it according to their comfort. The most common antipattern is tying story points to hours. Below are a few advantages and challenges with relative estimation.
Benefits of relative estimation in agile include:
- Reduces time in estimation and is faster
- Ensure complexity is understood by everyone in the team
- It caters to changing requirements
- It ensures everyone in the team is aligned with the understanding of requirements
Challenges of agile relative estimation include:
- Includes learning curve in getting comfortable with the techniques
- Units can be difficult for the management to understand
- Mis understanding and mis use of story points to monitor hourly time estimates
- Dynamic teams may face difficulties because of changing understanding of base stories
How Relative Estimation Works in Scrum?
Relative estimation works well in any agile framework be it scrum, kanban or xp etc. It best suits a scrum project where iteration and incremental delivery is needed. Let’s see how and where relative estimation is used in scrum:
- Product Discovery – Relative estimation or story points can be used in sizing the backlog before starting the execution of the sprints. This gives us the just enough direction for execution
- Sprint Planning and Backlog Refinement – Teams use planning poker and fibonacci series or T-shirt sizing to plan and estimate their backlog for the current sprint and next sprint respectively
- Sprint Demo and Prediction – Velocity is tracked after every sprint to understand the increment size of the team. This helps in understanding how many story points are remaining in the backlog, how many story points are being burnt by the team on an average and how may sprint we will need
Conclusion
Estimates as the name suggests is just a number which signifies how big the work is or how much time the team might take to complete a piece of work. Gone are those days where teams took a lot of time to understand the details of the work, drill down and understand everything about the work and then give a number to signify the amount of time taken.
Agile ways of working believe in Just Enough Planning – Frequent Delivery – Continuous Inspecting and Adapting. This change in ways of working also pushes a change in the way estimations are done. As mentioned above, the golden question is about how big is the work. This requires a simple way of estimation which includes comparing the work item with other work items in terms of effort, complexity and uncertainty. In our experience as an agile strategy consulting company, relative estimation techniques are a very common bottleneck and are widely misunderstood across organizations, please feel free to reach out to us if you need help in fixing your estimations.
While there are several techniques of relative estimation, they all cater to the same ideology of relative estimation. With this, our blog on “Relative Estimation Techniques in Agile” comes to an end. Please write to consult@benzne.com for any suggestions or feedback.
Frequently Asked Questions About Relative Estimation Techniques
1. What is the difference between absolute and relative estimation in Agile?
Absolute estimation refers to estimating the work with time reference like hours, man days, weeks etc. While relative estimation refers to comparing two work items in terms of complexity, effort and uncertainty and then sizing them appropriately.
2. How does relative estimation focus on complexity and effort in Scrum?
End result of relative estimation is to determine the size of the work, here are 3 key areas which it focusses on:
- Effort taken by the team – Once the story is explained, the team has a round of discussion on what all items have to be done to finish the work item. This gives clarity to all the members of the team in terms of the effort each one has to put to complete the story
- Complexity of the work – Complexity does not mean it takes too much time. Work items may involve technical challenges, writing complex code logic and systems. Relative estimation promotes everyone in the team to solve problems together. This in turn ensures everyone understands how simple or complex the work is
- Uncertainty in the work – Uncertainty are things which we do not know or cannot foresee. Work items with higher amounts of uncertainty means there could potentially be roadblocks. This is another clarity that the teams get with agile relative estimation.
3. What are some examples of relative sizing estimation technique?
Below are some of the examples of relative sizing estimation technique in agile.
- Planning Poker – Team members use cards of fibonacci series to express their views of what the estimate should be after one round of discussion about the story
- T Shirt Sizing – Work item estimation is done with respect to size of a T-Shirt like XS,S,M,L,XL which in turn signifies the size of the work where everyone has consensus of what each size refers to
- White Elephant / Bucket sizing – Teams create buckets of story points like 1,2,3,5,8 etc and place each story in one of the buckets
- Affinity Mapping – Team arranges the stories in order of the size and then re arrange them as per size like small, medium , large etc
4. Which technique is used for Agile estimation?
Agile projects generally use relative estimation. Relative estimation is an approach of estimating one piece of work by comparing it with another. It is not a definite hours or man days which signifies how long the work will take. It refers to the size of the work by comparing effort, complexity and uncertainty with another piece of work.
5. Which two approaches can a team use with relative estimation?
Below are two techniques which are most commonly used in relative estimation:
- Planning Poker – Team members use cards of fibonacci series to express their views of what the estimate should be after one round of discussion about the story
- T Shirt Sizing – Work item estimation is done with respect to size of a T-Shirt like XS,S,M,L,XL which in turn signifies the size of the work where everyone has consensus of what each size refers to.
6. How does an agile consulting company help teams in relative estimation?
Please refer to our page on agile consulting to understand our approach to design and implement agile transformation journeys for our clients. Breaking down work in small sizes which can be completed in an iteration is one of the most important success factors for agile implementation.
Click here to know more about Benzne Agile Transformation consulting