Agile Estimation and the 10 Best Estimation Techniques to ConsiderChoose a proper agile estimation technique: Planning poker, T-Shirt Size, Dot Voting, and seven more.
Estimation is not an easy task but a crucial one. Without accurately estimating the cost and time frame of a project, it can lead to prominent delays, inefficiencies, and other issues. But estimation is not just conducted by one individual in a team, instead, the whole team collaborates to derive estimates. But driving estimations in a team using traditional estimation tactics seems a tedious, timely, and inefficient process in the present working environment. This is where agile estimation comes into action.
What is Agile Estimation?
During project planning, a Scrum team has the responsibility of creating a product or task backlog. The backlog illustrates a prioritized features list of the desired functionalities envisioned in the product. To complete a certain set of backlog items in a specified time frame, which determines the team’s capacity, velocity, and how the task is supposed to be achieved is known as sprint planning.
Agile estimation assists in achieving a more efficient and productive sprint planning by analyzing how much time and effort is required to complete a set of tasks that are prioritized in the product backlog. It allows for more coordinated and efficient time and resource management. Moreover, it also takes into account any setbacks or changes in requirements that could possibly occur in the future. Without agile estimation, a project can suffer serious consequences in relation to time, effort, financial aspects, and resource allocation.
Why Estimate in Agile?
There are various benefits when it comes to estimating in agile. For product and engineering developers, estimating the completion of their project is one of the most complex and stressful aspects of their job. Any decision that has to be taken forward has the potential to impact not only the accomplishment of the job but also the entire team. Hence, it is essential that agile estimation is implemented from the initial stages to ensure that timely results are produced. The few advantages observed in agile estimation techniques are:
Better Decision Making
Agile estimation provides insight into the schedule of a proposed project, which influences the decision-making criteria. Furthermore, agile estimation also results in improved sprint planning by designing a more functional task backlog. Consequently, it has an impact on the time of the user story that assists in making more calculated decisions for the benefit of the project.
Better Risk Management
Analyzing the cost of a project and accurately estimating its budget and timeline is an important advantage that comes with agile estimation. With this technique, team developers will be able to experience more accurate estimations in regards to budgets, story points, and the extent of the project. Hence, allowing them to work according to the most accurate, approximate figures, which can reduce the impact of unpredicted, unfortunate events.
In Scrum, to estimate how much effort is required to implement a task, developers have to take the help of user stories. User stories contain just enough information to execute this procedure.
For larger projects, it is normal for there to be more than one estimated user story with varying deadlines to calculate the effort required for the project.
Occasionally, the user stories overlap or are connected and contingent upon each other. In such a case, the developing team has to prioritize their work and user stories to ensure that they are completed simultaneously. Hence, resulting in improved coordination amongst the team members to meet deadlines efficiently.
10 Best Agile Estimation Techniques
There are a variety of techniques to implement agile estimation in your current or proposed projects. However, team managers have to analyze which technique would better suit and fulfill the requirements for their project, as one technique won’t be universally applicable. Hence, we will be presenting you with the 10 best estimation techniques that are widely used and can produce the most accurate results with timely deliverables.
1. Planning Poker
Although it was introduced over 20 years ago, Planning Poker is still one of the most widely used agile estimating and planning techniques. To incorporate Planning Poker in your story points and decision-making process, every member of the team has to select an item from the backlog.
After discussing it briefly, every member has to mentally form an estimate regarding the backlog through the use of number-coded playing cards. Voting is then taken conducted where every member reveals the card that reflects their estimation.
The card with the majority estimations of the item is finalized. However, in case of any significant inconsistencies between the answers, the team members are recommended to hold a short discussion until a consensus is reached and another voting round is commenced.
Although Planning Poker has an engaging game flow and encourages team effort and collaboration, it should only be kept by a small group of people to prevent wasting time.
Async Planning Poker
There are a variety of issues that arise from Planning Poker. It is time-consuming and not every team member has matching schedules to appear for the session. This is where Async Planning Poker comes to the rescue.
In comparison to its predecessor, Async Planning Poker is not a hands-on game and can be played remotely. Each team member receives a link that contains the description and information regarding the backlog item, and a number list of stories. And then comes the main advantage that Async Planning Poker has over the traditional form. Once the members receive the stories, they can view and provide estimates as per their own schedule and pace.
Furthermore, since communication takes place in a written form, it is more likely that any alterations and improvements will be added to the story description. It is because it is available in writing that can assist in documentation purposes, which in traditional Planning Poker would have been lost or forgotten about during verbal discussions.
Additionally, Async Planning Poker values the essence of time. In Planning Poker, engaging in lengthy agile estimation sessions could further set back the project due to delays caused by the time wasted. However, this drawback is not found in Async Planning Poker where neither time is wasted nor team managers observe an immediate consensus. Hence, increasing the accuracy of estimations.
2. T-Shirt Size Estimation
The T-Shirt Size Estimation technique is an engaging and informal technique for estimating a backlog of relatively large items. Similar to standard T-shirt categories, the backlog items are classified as either XS, S, M, L, or XL. In this technique, each user story can host a different number under a category of shirt sizes for a more comprehensive approach. The team members can engage in a collaborative discussion to develop a consensus regarding the size of the item.
The advantage of the T-Shirt Size Estimation technique is that it encourages critical thinking by not dwelling on standard units of measurement. By doing so, your team can think outside the box, and objectively analyze and compare the item to form more accurate estimations.
3. Dot Voting
The Dot Voting technique is fairly easy to follow and works best for a relatively small group of backlog items. In this technique, the items along with their description are displayed somewhere for the team members to read, analyze, and vote. Voting is done through either stickers or by employing stationary to create dots.
If an item receives more dots, it indicates that more time and effort are required for the project. Whereas, the fewer the dots, the lesser time and effort is required to accomplish the project.
The Dot Voting procedure is easy to implement and is effective as well to evaluate a small number of stories.
4. Affinity Mapping
The Affinity Mapping technique is best suited for a small team size that has fewer backlog items amongst which you have to find similarities. This technique involves 5 steps: Silent Relative Sizing, Editing the Wall, Placement of Items in Correct Locations, Product Owner's Prerogative, and Export to Project Backlog Management Tool.
The best way to implement this technique is through visualization and then organizing the items from small groups to large, providing the groups with estimation numbers.
5. Bucket System Estimation
If your team is new to agile estimation and is facing a large number of backlog items, the Bucket System Estimation is a simple and effective technique to introduce them to the procedure, while also garnering accurate estimations.
In this technique, the team members are supposed to drop the items or user stories in the numbered buckets which they believe accurately represents the item. Hence, not only is it fast but also provides accurate, and honest estimations.
6. Ordering Method
The Ordering Method is a technique that works best if the number of people in the team is less, and the number of backlog items is a lot more. It is an efficient technique where everyone's opinion is taken into consideration.
In this technique, the members are presented with a relative size of items. The items are randomly placed on a scale ranging from low to high. To vote, the members are allowed one move per round to either move an item up, down, or to pass their turn. The voting ends when everyone passes their turn, as they are satisfied with the order of items.
The Analogy technique is useful for highly experienced teams in agile estimation. The reason for this is because the Analogy technique requires prior experience in projects to provide a calculated relative estimation.
In this technique, the story sizes are compared with each other to provide estimations. For example, if the team has already determined that a certain user story A will require 2 weeks to finish, then the second user story B which is thrice the size of A will be assigned a larger estimation number.
8. Three-Point Method
The Three-Point Method classifies the user stories or backlogs into three categories, i.e., the best-case scenario, the worst-case scenario, and the most likely scenario. The time and effort required to execute each item will be judged over a certain framework.
The framework consists of an Optimistic Value (O), which gauges how much time and effort the user story will require if everything is going according to the estimated plan. Next is the Pessimistic Value (P) which measures the absolute worst outcome of the user story, in regards to time and effort. It takes into account if the estimation plan goes haywire, and the team is facing multiple hurdles in completing the project. Lastly, the Most Likely Value (M) seeks to predict the most likely estimated scenario of time and effort required to complete the task.
The Large/Uncertain/Small technique works well for smaller groups that have comparable backlog items. It is a simplified version of the Bucket System, where you only have to assign three possible values to the items.
Firstly, the most obvious items are categorized according to the description they fit. The more complex items can be categorized after reaching a consensus upon group discussion. With this simple technique, the group just has to divide and conquer the tasks and organize them as either large, uncertain, or small.
10. Fibonacci Sequence
The Fibonacci Sequence takes into account the sum of the previous two numbers in the sequence to reach a faster and more accurate consensus.
However, it can still be inaccurate as the numbers go higher and reach inconsistent values. Moreover, the points assigned to the stories cannot be averaged either to reach a final estimation.
The need for different agile estimations stems from the varying requirements of every company and project. However, it is no surprise that every project does require an agile estimation process to stay on track and optimize resources to its full potential.
Compared to all the above ten listed techniques, the Async Planning Poker technique displays the best results in terms of the most accurate estimations, conservation of resources, and team member contentment. Hence, it ticked all the boxes to be considered in project developments, as it can be performed by team members at their own accord, without being influenced by other people's estimation, which can skewer the accuracy rate.