When it comes to workload estimation in Agile, poker planning, known as one of the most effective estimation tools, is what typically comes to mind. However, different circumstances may require different approaches to estimation. Here are key insights into the top 7 most popular techniques and when they can be applied.
What are the Top Agile Estimation Techniques?
Whether you plan on developing a whole product or a small project, as a team you will need to have an estimation of the time it will take you to complete. Agile estimation techniques will be needed to calculate the amount of work required before the project begins. At its core, workload estimation in agile projects is completely different from traditional techniques. The traditional technique is used to estimate a bottom-up method in terms of detailing the requirements of each task, then using the data to develop a schedule of the project.
Agile estimation techniques focus on a top-down approach, whereby gross-level methods are used to elaborate planning approaches to uncover each level. The traditional bottom-up methods have considerable drawbacks, considering the speed of change in today’s software industry. With a myriad of development tools appearing every day and new knowledge becoming more accessible than ever, any delays expose one to the risk of delivering out of date products.
The top-down agile technique has the advantage of using the currently available data to offer gross-level estimates. It further helps in the elaboration of more details within the process of the project. This, in turn, helps the project team to react in real-time to changing demands in the market.
1. Planning Poker
Agile planning poker is a technique that is used by a project team to agree on the points to be assigned to the Product backlog item (PBI). This allows every team member to participate and share their opinion.
Here, every member is given numbered cards, usually in the Fibonacci sequence from 0 to 21. The product/business owner reads the story, and then each member is asked to hold their cards up in the air to show the weight they believe the story holds. After this the member with the lowest number and the one with the highest number are asked to explain why they awarded the points.
In planning poker estimation technique, discussions are only triggered by huge differences. Voting is carried out repetitively until a consensus is reached. After an agile planning poker estimation agreement has been reached upon re-estimation, the team proceeds to the next step.
2. T-Shirt Size
T-shirt sizing estimation adopts the SX, S, M, L, and XL measurements of a t-shirt. These measurements are used for the estimation of a story and each of them acts as a label for grouping items of similar size. Agile estimation t-shirt sizing technique is not hard to grasp, and allows a more abstract view of the development effort compared to precise numerical systems that are sometimes mistakenly associated with the number of development hours.
T-shirt sizing is primarily used to give an estimate for a massive demand list, mostly where multiple scrum teams are involved. T-shirt size estimation in agile is not formal, and there’s often room for a bit of fun and creativity when teams are allowed to come up with their own estimation units like dog breeds. Besides, T-shirt sizing estimation, being totally unrelated to the notion of time, takes the pressure to be as accurate as possible off the team.
3. Bucket System
Agile estimation with the bucket system is not as cumbersome as poker planning and it’s an excellent estimation strategy for large numbers of stories where many participants are involved because it’s fast. The ‘bucket system’ estimation values range from 0-200 and the stories must be placed in the numbered buckets.
Buckets can be represented by numbered sticky notes on a wall or large piece of paper. Begin by setting up the buckets sequentially. Then, pick the first three stories randomly and place them in buckets after they are discussed and agreed on by the whole team. The rest of the items should be split between all members (as in the “divide & conquer” approach) so that everyone assigns a bucket to their own items individually, before the final team discussion takes place. As soon as a consensus on the placement of all the stories is reached, the estimation is considered done.
4. Affinity Mapping
What is affinity mapping estimation in agile? This is a method employed to determine matching relationships of the stories that are being estimated. It focuses on grouping stories that match.
At the start, the story is being visualized by placing each story item on a wall in front of the team. Placing the first item is random, while each subsequent item’s placement depends on whether, according to the team, it is larger (placed to the right) or smaller (placed to the left) than the previous one. Once all items are on the wall, the team can group them by labeling each group of items using points or sizes. If you are dealing with a small team or a few items (about 20-50) are involved, this technique works perfectly. If desired, affinity estimating can be associated with numerical estimates.
5. Ordering Method
The ordering method in agile is a practice employed to give the accuracy of a specific image of the size of each item. Here, each of the items is placed randomly on a scale. The scale ranges from low to high. Participants are then required to move one of the items to the point on the scale that they think best represents the size of the item. The exercise carries on until every team member chooses to pass their turn. Unless you are a small team with a lot of items, this may not work for you.
6. Dot Voting
Use the dot voting method if your interest is to estimate small stories. Because it is simple, it can help groups make decisions. Here are the steps used in the dot voting technique:
- Each team member is assigned post-it notes
- They are then given the freedom to vote
- If a user story gets more dots, it represents a higher volume
Although both large and small teams can use this technique, the number of estimated user stories has to be limited.
The ‘Big/Uncertain/Small’ agile estimation method is similar to the bucket system. It involves placing the estimated items in one of the three categories. Teams discuss the items and then a ‘divide-and-conquer’ technique used to estimate the rest of the items. The items left are distributed among team members and can be quickly estimated in parallel.
The team members then place their items on the scale, and no discussions are shared. If a member does not understand any of their items, it is then handed to another team player. The advantage of this method is that it is designed to be collaborative, meaning that everyone contributes almost equally. Because the results can almost not be traced to one person, this technique promotes accountability in the group.
Agile estimation techniques are designed to quickly reach a consensus with input from the whole team. Although we have only discussed seven methods, there are many other techniques used globally by agile teams to estimate their work.
Because each method focuses on different principles and each has its own unique advantages, try out different methods depending on the size of your team and your user stories. Choose the method that works best for your team and one which offers you the best results for efficient and accurate estimation. Happy estimating!