Affinity Estimation - What, How, and Why
Affinity Estimation is a relative estimation technique that empowers agile teams to quickly, easily, and efficiently estimate a large number of backlog items. Find out more on Affinity Estimation in this article.Estimation of product backlog items is an important stage in agile-based development. Estimation helps the team and key stakeholders to get a better view of the upcoming work and the required efforts. There are multiple techniques available today to estimate product backlog items. Organizations usually pick the estimation technique depending on their backlog size and their experience with estimating backlog items. However, for a large number of user stories (backlog items) or when the team is a beginner in relative estimation, then many organizations are seen using the Affinity Estimation technique. In fact, many agile teams find the Affinity Estimation technique a quick and easy way to estimate backlog items. So, what is Affinity Estimation, how it works, and its benefits are the focus points in this article.
What is the Affinity Estimation Technique?
Affinity Estimation is a method of relative estimation of a large number of user stories in story points. In this estimation technique, user stories are grouped based on their relative size, i.e., size in relation to one another.
To understand it better, consider that you have three items, namely E, F, and G. The item G is the largest, item E is the smallest, and item F is between E and G. So if you have to estimate them, you can first take item F and place is on the scale. Next, you will take item G and see if it is larger than F or not. Since G is larger than F, so you will place it on the right side. Similarly, you can compare item E with F and then place E on the left side. This is exactly what you do in the Affinity Estimation technique.
In Affinity Estimation technique, the team quickly performs relative sizing of user stories by first taking a few cards and then moving them until every card is arranged on their relative size, i.e., smallest to largest.
Steps Involved in the Affinity Estimation Technique
The Affinity Estimation technique is best-suited when the team is small and wants to quickly do estimates of a large number of user stories. The steps involved in the Affinity Estimation technique can be divided into three main steps, as follows:
Step 1. Individual Relative Sizing of User Stories
- Take a horizontal scale and mark its left end with "Smallest" and its right end with "Largest".
- The product owner distributes the user stories among the team members usually in the form of cards.
- Team members quietly read, understand, and estimate their stories without any discussion and then place the items in the correct position on the scale, which could be any position between the two ends of the scale.
Step 2. Collaborative Editing of the Scale
- When all members have estimated their stories and the scale now contains all the stories, the members can do collaborative editing of the scale. So, the team members start discussing the stories with one another, including the development steps and challenges associated with the stories. Members can even clarify concerns directly with the product owner.
- Once the members are done with the discussion, they will re-arrange the scale for those stories they believe are placed wrongly.
Step 3. Placing User Stories in Buckets
- The team now has to assign story points to each user story. To do that, the scale from smallest to largest is now divided and marked with XS, S, M, L, and XL (if the team is using the T-Shirt Sizing approach) or mark with other values depending on the team's decision.
- The members now place the estimated user stories beneath the right mark (bucket). Once done, the team can assign story points to the user stories by following the below point scale:
- XS - 1 point
- S - 2 point
- M - 3 point
- L - 5 point
- XL - 8 point
That's it. This way, the team can quickly and easily estimate a large number of user stories without going into deep discussions and consuming a lot of time.
Tips for Effective Affinity Estimation
Although Affinity Estimation is a simple and quick way of doing estimates, some tips can further help the team to do more accurate estimates. Below are some of the tips for effective Affinity Estimation:
- It is best suited when the backlog items are more than 20, ideally around 40 or more.
- During the individual silent part of estimating user stories, members should avoid discussing with others or speaking loudly, as it can disturb the focus of others.
- Team members should estimate user stories relative to other stories on the scale.
- The product owner and other key stakeholders should be supportive in clarifying the doubts of members.
- The team can also have a "Clarity" table in the scale where the team puts those stories on whom there is a major difference of opinion among the development team members, product owner, or key stakeholders. Moreover, any story that is difficult to understand can also be placed on that table.
- If the product owner or key stakeholders suggest the team to re-locate the story from M to S, then it's better to avoid wasting time on it because a one-size difference is not worth it to waste time in discussion.
- Avoid doing deep discussions, as it can lead to more combined time spent on estimation.
Key Benefits of the Affinity Estimation Technique
Some of the key benefits of the Affinity Estimation technique are as follows:
- It is a simple and easy technique that does not require any technical knowledge.
- It makes estimation of a large number of backlog items quick.
- It encourages collaborative estimation, thereby resulting in a better understanding of the backlog items.
- It assists new agile teams in seamlessly estimating product backlog items.
Overall, the Affinity Estimation technique is best if teams want to quickly get over with estimation of a large number of backlog items without stressing on in-depth details of each item.
Alternative to the Affinity Estimation Technique
Affinity Estimation is one of the many estimation techniques available to organizations. Planning Poker, Bucket System, Dot Voting, T-Shirt Size, and similar others are also used by many agile teams to estimate product backlog items. Therefore, it is important that an organization picks the right estimation technique for accurate estimates.
Affinity Estimation works for quick and easy estimation of a large number of user stories, but if the user stories are few in number and the team wants to do a more detailed estimation, then Planning Poker is the best alternative. In the Planning Poker estimation session, the product owner narrates the user story to members. The members understand the user stories, do discussions, and then provide individual estimates all at once using poker cards with values 0, 1, 2, 3, 5, 8, and so on. If all members have given the same point, then that is declared the team's estimate. Otherwise, the team quickly discusses again to reach a consensus. In short, Planning Poker is another relative estimation technique that offers more accurate estimates due to its deep discussions and consensus-based estimation model. Moreover, there are many agile teams that also use the Asynchronous Planning Poker or Async Poker approach, which is a remote execution of Planning Poker by distributed or remote agile teams.
Wrapping Up
Affinity Estimation is attributed as the easy, fast, transparent, and collaborative estimation technique that best suits when the team is small and the product backlog items are large in number. Moreover, it also assists new teams to become familiar with relative estimation without much hassle. Overall, the Affinity Estimation technique is one reliable way of quickly estimating the efforts required with the product backlog items.