Agile is a project management framework that many companies use to make their workflow procedures more efficient. Accurate estimation can be an important component in an Agile workplace. Learning how to estimate expected time and resource costs for projects can enable you to make more accurate project plans.
In this article, we discuss what Agile estimation is, provide a list of 10 Agile estimation techniques you may use and share tips for applying them.
What is Agile estimation?
Agile estimation is the process of measuring how much time and effort a project requires. Some teams complete this process manually by calculating the resources they need, while other teams use software programs. The purpose of Agile estimation is to improve decision-making, better coordinate teams and learn how to manage risks more effectively. Agile estimation can also help team members better understand the importance of each task a project requires so that they can predict a project's timeline.
Related: What Is Agile Project Management?
10 Agile estimation techniques
Agile estimation techniques are processes that teams can use to estimate the time and resources needed for upcoming projects. Here's a list of 10 Agile estimation techniques that you and your team can use:
1. Planning poker
Planning poker is a card-based system of collaborative Agile estimation. During a planning poker session, each member of the team uses a set of cards with different values for the time, resources or other considerations when estimating an Agile project. A leader then names a project or component of a project for the group to discuss for estimation.Each member of the discussion chooses one of their cards that they feel best represents the estimated cost of the project. Everyone then shares their selected cards and discusses why they chose them. Through this process, the team comes to a consensus on the final estimation for the project or component.
2. T-shirt sizing
T-shirt sizing is a simple sorting process a team may use for Agile estimation. In a T-shirt sizing plan, a team assesses each component for estimation, assigning a designation according to common T-shirt sizes ranging from extra small to extra large.Using this system, a team performing an estimation assesses each project or component under consideration. The group discusses each item when presented, then decides on a consensus placement for the item. This allows the team to sort components or projects by size and provides an overview of the expected work ahead.
3. The bucket system
In this technique, the facilitator creates numerous buckets, or categories, represented by pieces of paper. Each bucket has a number corresponding to the level of difficulty or the time required for project tasks. Longer and more challenging tasks go in higher-numbered buckets, while shorter and easier tasks go in lower-numbered buckets.The facilitator begins by placing one task, typically written on a sticky note, in a bucket based on the task's projected time or difficulty. Participants assign tasks to different buckets, with the goal of each bucket holding similar tasks. Teams may discuss each task during the process or wait until all the tasks are in a bucket. The assignment concludes when participants place all tasks in the buckets and the team has had enough time to discuss each one.
4. Affinity mapping
Affinity mapping is a form of collaborative Agile estimation. In the affinity system, each member of the team takes one component or project and estimates its expected size or cost. When using infinity mapping, a company may choose from a variety of scaling options, such as the T-shirt scale or a Fibonacci scale. Each member of the team takes a turn to place their component on the scale where they feel it belongs.This process continues until all items are on the scale. After placing the final item, the team begins discussing placements. Anyone who identifies a story element they feel should be more than one space over may discuss it and share their opinion with the group. Working together, the team adjusts the position if they feel it's necessary, repeating this process for each element until a consensus opinion forms.
5. Random distribution
The random distribution sorting process allows the team to progress quickly to the discussion and alteration phase of estimation. Rather than manually assigning initial positions for items, the team creates a simple scale, such as shortest to longest or fewest to most resources. The team then places components along the timeline at random until each component has a place.Taking turns, each member of the team has the option to move an item on the timeline over one spot, lead discussions on an item or pass if they're content with the state of the timeline. During discussions, team members offer their opinions on why they feel an element should move or why they feel it's in the correct place. The team continues taking turns until each member is comfortable passing, providing a final sorting.
6. Dot voting
Dot voting is ideal for estimating a small set of numbers. This technique involves participants using dot stickers to vote on the size of project tasks, with each sticker representing one vote. Each dot indicates the time and resources necessary to complete a specific project task. For example, a task that receives fewer dots represents a simpler project task.In this process, facilitators give each participant a set of dot stickers and allow them to vote on the importance of different project tasks. A team may use several rounds of voting, eliminating one or more options, to further refine estimations. This gives the team a visual representation of the most simple and most challenging tasks for a project. It also helps ensure everyone agrees on the time and effort necessary for each task.
7. Big, uncertain, small
This method is a simple process for quickly assessing the requirements for multiple projects or story elements. In this system, the team assigns one of three classifications to each component they assess — big, uncertain or small. The team assigns any element on which they agree to a big or small classification. If the team is unsure about an element or has a disagreement, they assign it to the uncertain category.Although less detailed than other sorting methods, this method provides a solution for assessing projects or project components. It can also help a team identify elements on which they need more information to estimate accurately.8. Top-down estimate
To begin a top-down estimate, facilitators inform participants of the due date for a project. Then, participants work in groups to divide that project time into different phases. After participants determine how much time they should allocate to each task, team members can compare their estimates.If there are any discrepancies between tasks and their time length, the facilitator can begin a discussion among members. They may encourage team members to discuss the reasons they believe each task needs more or less time. After the discussions, teams can repeat the process until they discuss each task.
9. Bottom-up estimate
When doing a bottom-up estimate, facilitators start by estimating the time requirements for each individual project task. Teams then combine each task to determine the total amount of time it takes to complete all phases of the project. This can help team members identify which tasks take longer to complete, which can allow them to find ways to increase productivity.During this process, the facilitator may want to have discussions so team members from different departments can share why they agree or disagree with the individual estimations. This can give teams insight into the tasks that other teams must complete to finish a project.
Related: Characteristics for Project Management Success
10. Three-point method
The three-point method is an average-based Agile estimation framework. When assessing a project or story point, a team creates three estimations for its completion. An optimistic estimation provides the best-case scenario, a pessimistic estimation accounts for the most challenging potential result and the most likely estimation represents the team's best guess at the actual time or resources required.To reach a final destination for a component, the team has two options. They can find the basic average, which involves adding all three estimations together and dividing the result by three to find their average. Alternatively, a team may decide to do a weighted average. This usually involves counting the most likely outcome multiple times, such as adding the optimistic and pessimistic estimations to four times the most likely estimation and dividing the total by six.