Creating and adhering to a schedule is an essential component of any project. It is especially important in Agile environments, where tasks, resources, and goals may shift rapidly. Nonetheless, teams must strive to estimate the time and financial resources required for each task in order to effectively plan and deliver the desired results.
When appropriately employed, Agile project estimation strategies enable teams to optimally distribute their capabilities and resources, as well as prioritise specific tasks and elements. An inaccurate estimation can result in delayed delivery, potentially putting in danger stakeholder relationships and even the overall success of the project. Estimation also assists teams in becoming more answerable for their deliverables by generating standards for assigned tasks.
As an experienced Product Owner or Scrum Master, you may be familiar with several popular estimation techniques. Selecting the most appropriate technique is essential to getting the best outcome, and each approach is distinct and has its own advantages. The method you choose is determined by various considerations, such as the complexity of the project, the size of the team, and whether or not the team is working remotely. To help you identify the most useful estimation techniques for Agile projects and decide which one is most suitable for your team, here is a list of guidelines.
It is important to note that in any given scenario, the Product Owner or Scrum Master will act as a facilitator and will not take part in the exercise. They will be responsible for ensuring the exercise is conducted in a productive manner, but will not be actively involved in the activity itself.
Planning Poker: For Accurate Estimates
In order to promote consensus-building amongst team members, a facilitator may distribute nine cards to each individual, each featuring a number from the Fibonacci sequence (or a variation of it). This sequence follows a pattern in which the sum of the last two numbers equals the next one, for example: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89. The exponential scale of the Fibonacci sequence allows teams to accurately identify the complexity of tasks and differentiate between them more easily than with a linear scale. Team members will then play the card, face down, that they believe best represents the effort required to complete a task or feature (1 generally being the least amount of effort). The cards are then revealed in tandem and any outliers should be addressed. This process is repeated until team members have reached an agreement.
Planning Poker is a widely-adopted Agile estimation method that can help teams reach a consensus quickly and accurately. It is designed to reduce the chances of participants influencing each other and also makes efficient use of time as it limits the available options. This technique is especially beneficial for distributed teams as it can be easily replicated online, with several web applications being available for this purpose.
T-shirt Sizes: For Preliminary Estimation
This technique, similar to Planning Poker but with fewer options, provides a means of quickly assessing the effort associated with a large number of items. Participants are provided with cards carrying T-shirt sizes – XS, S, M, L, XL – to represent the amount of effort they believe is necessary for each item. Once the cards have been presented, team members can discuss and re-evaluate until they reach a collective consensus.
Due to its user-friendly nature, collaborative capabilities, and straightforward five-category format, this estimation technique is perfect for teams who are new to the concept of estimation, as well as those who are working from remote locations. Although this technique is relatively rudimentary, it offers an excellent jumping-off point and is typically used at the start of a project when there is an abundance of items in the backlog and only a rough estimate is required.
Use Dot Voting: For Remote Teams
This technique is most effective when employed digitally via a whiteboard tool such as Miro, due to its straightforward nature and convenience. The facilitator should begin by creating a list of backlog items, and then provide every team member with a unique coloured dot sticker. Each individual should then use the dot sticker to vote on the items on the list, with one sticker indicating the simplest items and five stickers representing the most complex. The higher the number of dots that an item receives, the more significant the item will appear.
It is important to consider that participants may be influenced by the number of stickers placed next to a particular story point by other participants. However, this issue can be addressed by concealing individual votes until the end of the voting process. Dot Voting is an attractive way to conduct this type of voting and the accuracy can be improved if desired by using a larger scale, such as 1-10.
Affinity Mapping: For Teams Working in the Same Place
Affinity Mapping, also referred to as Affinity Grouping or Affinity Estimation, is a comparison method that involves forming sets of elements that require similar levels of effort. The outcome of the process is similar to that of T-shirt Sizing techniques; however, the approach used to achieve it is different. In order to demonstrate the effort level, the team initially places the label “Smaller” on the left side of a wall and “Larger” on the right side. The participants then assign their individual items and place them between the two labels, arranging them in accordance with their respective sizes. Lastly, the team engages in a discussion and rearranges any items they deem to have been incorrectly organised.
This method is most suited for teams that are physically located in the same area. It is important to note that this method only provides a basic approximation of the complexity of an item, and should only be utilised when a more general understanding of the duration and cost of a project is needed.
Use a Bucket System: For a Large Backlog
The Moderator utilises a technique which involves arranging nine “buckets” on a table, typically in accordance with the Fibonacci sequence or a variation thereof. Smaller cards or sticky notes with the items from the backlog are then distributed among the group members. To commence, a single member randomly selects an item and places it in the middle bucket (the 8th). The other members then place each of their items in the bucket they believe corresponds to the level of effort required in comparison to the initial item. At the conclusion of the exercise, the team members review all of the buckets; if any member disputes the placement of an item, the team discusses it until all are in agreement.
The Bucket System is an effective approach for teams that need to estimate a significant amount of items. This method is advantageous as it allows members to evaluate each item in rapid succession and take personal responsibility for their estimations. Team discussion is only necessary following the individual estimations, therefore those with prior experience in estimation will benefit from this method.
Method of Ordering: For Experienced Teams
This technique is a useful way to visualise the relationship between items and to assess the relative priorities. The facilitator can arrange the items in a random order on a wall or table if the team is present in the same location, or use a digital whiteboard if the team is working remotely. The objective is to rearrange the items from low to high effort levels. Team members can then take turns to move an item of their choice up or down the line by one place. The movement is based on the amount of effort required for that item in comparison to the items on either side of it.
Because of the emphasis on individual decision-making, the Ordering Method works best with an estimating-experienced team.
Selecting the Best Fit
As an Agile expert or team leader, it is essential that you are able to facilitate a successful estimation process for your team. By assigning numerical values to features or stories, team members can communicate their individual perspectives in an objective manner, enabling you to plan the next project with greater accuracy and track performance accordingly. To ensure the accuracy of these estimates, it is important to trust the opinions of team members based on their experience, unless data from prior projects shows otherwise.
It is important to remind the team that having excessively optimistic estimates is not beneficial and can be detrimental to the project. If any assumptions or dependencies are altered during the project’s duration, it is essential to have at least one additional estimation session to ensure accuracy.
The nature of the project, team size, and team members’ familiarity with estimation will all influence which technique is best suited.