Creating a schedule is essential for any project. Even within Agile, where things evolve rapidly, teams still need to estimate the time and financial resources required for each task in order to plan and deliver results.
When employed correctly, Agile project estimation techniques enable teams to better allocate their skills and resources, and prioritize certain tasks and features more effectively. Inaccurate estimations can lead to late delivery, potentially jeopardizing stakeholder relationships and even the project’s overall success. Estimation also helps make teams more accountable for their deliverables, building discipline by creating benchmarks for assigned work.
There are several popular estimation techniques that experienced Product Owners or Scrum Masters may be familiar with. Selecting the right one is critical for achieving the best outcomes, and each method is unique and has its own advantages. Which technique you select depends on a variety of factors, including the complexity of the project, the size of the team, and whether or not you work remotely. Here is a rundown of the most useful estimating techniques for Agile projects and guidelines for determining the best one for your team.
(Note: In each of these options, the Product Owner or Scrum Master will act as a facilitator and will not take part in the exercise.)
Planning Poker: For Precise Estimations
In this consensus-building technique, the facilitator gives every team member nine cards, each containing a number representing a level of complexity. The numbers are usually the Fibonacci series, where the sum of the last two numbers equals the following one (e.g., 1, 2, 3, 5, 8, 13, 21, 34, 55, 89), or a variation of it, in which numbers are rounded for ease. Using this exponential sequence, rather than a linear scale, allows teams to more easily recognize the differences between, and therefore the complexity of, tasks. For each feature or story point, team members play the card, face down, that they believe represents the amount of effort—usually measured in terms of duration or cost—required to execute a task (1 typically represents the least amount of effort). Cards are revealed in tandem and, if any of the cards played for a feature or user story differ drastically from one another, outliers present the reasoning behind their votes. Team members keep voting until they reach a consensus.
The most commonly used Agile estimation method, Planning Poker helps minimize the likelihood that participants will influence one another, which increases the accuracy of the final estimation. It also utilizes time effectively by limiting options, and teams usually reach unanimity fairly quickly. This technique is perfect for distributed teams, as it can be easily replicated remotely. Several web applications exist for this purpose.
T-shirt Sizes: For Early-stage Estimation
Similar to Planning Poker but with fewer options, this method allows for the rough estimation of a large number of items. Participants use cards with T-shirt sizes—XS, S, M, L, XL—to represent what they believe is the effort required for each item. Team members play their cards and then discuss and re-estimate until they agree.
The ease and simplicity of this technique, along with its collaborative nature, makes it ideal for teams that are new to estimation and also those working remotely. The fact that it offers only five categories makes it somewhat of a blunt instrument, but it provides a solid starting point and is usually used at the start of a project when there are a large number of items in the backlog and only a high-level estimation is required.
Dot Voting: For Remote Teams
Relatively simple and fast, this technique is best employed digitally using a whiteboard tool such as Miro. The facilitator creates a list of the backlog items and each team member is given dot stickers with a unique color that they can then place beside the items in the list—one sticker for the simplest items, five for the most complex. The more dots an item receives, the greater its perceived size and complexity.
One caveat here is that participants may be influenced by the number of stickers they see others placing next to a particular story point. However, this can be overcome with certain software by hiding individual votes until the end. Dot Voting offers an easily digestible visual format and the level of accuracy can be increased, if needed, by using a bigger scale, such as 1-10.
Affinity Mapping: For Teams in the Same Location
Affinity Mapping, sometimes known as Affinity Grouping or Affinity Estimation, is about comparison, grouping items that require similar levels of effort into sets. The results are akin to those of T-shirt Sizes, but the process of getting there is different. The team starts by placing the label “Smaller” on the left side of a wall and “Larger” on the right, to indicate effort level. Items are divided among the team and, in tandem, team members place their items on the wall in between the two labels, grouping together similarly sized items. Then they discuss any items team members believe were organized incorrectly and rearrange items accordingly.
This technique is best suited to a team working in the same space. As it offers a rough estimation of item complexity, it should be used only when a less detailed idea of project duration and cost is needed.
Bucket System: For a Large Backlog
For this technique, the moderator creates nine “buckets,” usually in the form of large cards arranged on a table. The cards are numbered in order using the Fibonacci series or a variation of it. The backlog items are written on smaller cards or sticky notes and divided among the group members. To kick things off, one person selects an item at random and places it in the median bucket: the 8. Each team member then places their items in the bucket they feel corresponds to the effort required, relative to the first item. At the end of the exercise, group members review all the buckets; if someone believes an item has been placed incorrectly, the team discusses it until consensus is reached.
As items are placed in quick succession, this method is appropriate for teams estimating a large number of items. Individuals are asked to be accountable for estimating items on their own, with input from the team only coming at the end, so the Bucket System better serves team members who are familiar with estimating.
Ordering Method: For Experienced Teams
This technique provides a simple way to see items in relation to one another and gives a good overview of what has to be prioritized. The facilitator places the items in line at random—on a wall or table if co-located, and using a digital whiteboard if working remotely. The aim is to reorder them from low to high. Team members take turns, each moving an item of their choice up or down the line by one place. The movement is based on the effort required for that item compared with the items on either side of it.
Due to the emphasis on individual decision-making, Ordering Method works best with a team that is familiar with estimating.
Choosing the Best Fit
Guiding your team through an effective estimation process is an essential skill for any Agile expert or team lead. By assigning values to features or stories, team members can translate their subjective opinions into quantifiable measurements that will help map out the next project and allow leaders to track performance effectively. It’s wise to trust the estimates for individual tasks offered by your team members as these will be based on their experience, unless data from previous projects indicates a different conclusion.
Remind the team that being optimistic about estimates is counterproductive and that if the assumptions or dependencies change during the project’s life cycle, at least one more estimation session will be necessary.
The nature of the project and the size of a team, as well as team members’ familiarity with estimation, will dictate which technique is the best fit.