The traditional estimation method follows the bottom-up technique where the requirement is broken down into small tasks, and each job is given an estimated duration of time. Finally, all of these time figures are added to estimate the schedule. In contrast to this, Agile projects have a top-down approach. There are varied agile estimation techniques, and we will discuss some popular ones here.
There are three levels at which Agile estimating takes place – Project level, Release Level, and Sprint level. The agile scrum estimation techniques are used to perform a comparative analysis by team members to prioritize product backlog items depending on their perceived size. The key people involved in agile scrum estimation techniques are the Product Owner, Developers, Scrum Master, Testers, and other Stakeholders. The Product Owner introduces the items and initiates discussion or estimation. Discussions are a must in such estimating meetings, and the Product Owner must be available to clear all the queries related to the items.
Best Agile Estimation Techniques
1. Planning Poker or Fibonacci sequence
The Fibonacci sequence is a mathematical series that is generated with the addition of the last two numbers. For example, the arrangement goes like 0-1-1-2-3-5-8-13 and moving on. The sequence used for Agile estimation ranges from 1-2-3-5-8-13-20-40-100 and so on. These numbers come in the form of playing cards. The estimation takes place by playing a planning poker game. The way the game proceeds is as follows:
- There are as many numbers of a set of cards as team members. Each group is distributed to every team member.
- The business owner takes up every item one by one. Each of these items needs to be estimated.
- Each item is taken up for discussion.
- When the business owner presents an item, all team members select a card to deliver an estimate.
- When everyone has selected a card, they reveal the cards altogether.
- There are two situations here – if all the members have selected the card, then the item is given that point estimate.
- If the card point values differ, the business owner initiates a discussion to get the estimated value. The team member who has selected the lowest value is asked to explain. And the one given the highest importance is also asked to describe the same.
- After this, the process is repeated. It continues until an agreement on the estimate is reached, or conversion occurs.
- If the conversations become lengthy, a time-boxed timer of 2 minutes is selected to discuss the item. The timer is continued until an estimated conversion is reached.
In this process of agile scrum estimation techniques, most teams spend about two minutes on every item. That means that 30 items will take about an hour of discussion. Also, it is essential to note that there are nine value-point choices with team members – this helps ensure that the process takes place fast.
2. Affinity Grouping or Mapping
Affinity Mapping is another Agile estimation technique. Depending upon the efforts that would go into an item, it is sized up by team members. Firstly, the Product Owner needs to place two cards, small and big, on two opposite walls of the room. This method is used when the number of items being discussed is large. It enables faster decision-making, and the flow is as follows:
- The purpose of the team meeting is to place similar items under one sub-group.
- The business owner presents every item, and the Product Owner gives the things to each team member, and they are asked to size each item. The Product Owner clears team members' queries, if any. Based on the perceived effort that would be required for each item, the team members place the items into Small or Big.
- It is then pasted on the wall or a board.
- After the first item, the second item is ready for the team. Now, the group decides whether the discussed item is small or big. If it is significant, it is placed on the right side of the thing, and if the item is smaller than the first item, it is placed on the left.
- Then, the third item is presented. The team is asked to estimate the value of this item vis-à-vis the first and the second items. Then, the item is placed accordingly.
- Similarly, all the items on the list are pasted first. No discussions are allowed here.
- Once the activity stops, discussions are initiated by the PO. The items can go from one wall to another before the Product Owner takes the final call.
- It enables multiple items to be discussed quickly. Things that team members feel have been placed wrongly are taken up for discussions for appropriate placement.
Affinity Mapping is an excellent technique to follow if the items to be discussed are less in number. This method should be used when the team size is small. In the case of larger teams, or when the number of items to be discussed is less, it is advisable to use a different method.
3. T-shirt sizes
We all know that there are five sizes to choose from – extra-large or XL, large or L, medium or M, small or S, and extra-small or XS. In one of these agile scrum estimation techniques, the project size is estimated based on these five t-shirt sizes. This method offers an approximate estimate. It gives the team an estimate of the amount of work required to be done in the project. The estimates are given numbers. In this method, discussions happen to give approximate estimates. This method is an informal method, which is why things can get confusing and challenging. The technique also believes in open discussions.
4. Dot voting
This Scrum estimation technique helps rank items in the Product Backlog as per priority. The business owner needs to start the method by posting the user stories on a board or a wall. The stories must be accompanied by a suitable description and distinguishable from the other levels. All team members are provided with markers and dots. They need to mark the user stories with the dots in order of preference or ranking.
Once this marking exercise is complete, the leader takes up the stories individually. The sequence followed is from highest priority to lowest priority. The highest priority is the one that has received a maximum number of dots. The discussion is followed by voting and repeated until a consensus on the importance is reached.
The Dot marking method is not considered one of the conventional agile scrum estimation techniques but proves to be handy when fewer user stories or items to be discussed.
5. Bucket System
This Agile estimation system uses cards with 0 to 8 and then 13, 20, 30, 50, 100, and 200. More cards with higher values can also be used for the method. These cards denote buckets in the order of priority. Every user story is taken up, discussed, and placed in a bucket. The cards can be rearranged; discussions can occur without consensus amongst team members until an agreement is reached.
Many estimators believe this method is way more effective than the Planning Poker technique, with effective utilization of time and resources. Out of all the agile scrum estimation techniques, the bucket system is where the number of items to be discussed is large enough.
6. Ordering Methodology
In this Scrum estimation technique, there is a scale that ranges from low to high. The items to be discussed are randomly arranged on the scale. Team members are asked to place the items on the scale per the items' perceived value. However, there is a synchronized way to do so. Every participant is given a chance to move an object one step ahead or back. The opportunity is passed on to the next person if a participant does not want to move the item. This process goes on for each item until every team member wishes to carry it from its place. The exercise helps get a close-to-true picture of the size of the items.
The method is hugely successful in smaller groups. It should be avoided with smaller groups as it could be time-consuming. Also, ensure that the items to be discussed are significant for the method to be effective.
Read more: |
Conclusion
Agile scrum estimation techniques are events in which the entire Agile team needs to participate. The best results are achieved when the team collaborates and is open-minded. These estimation techniques are such that they do not give any team member a chance to blame another person for wrong estimates. Most methods still need a tracking system; hence, it is impossible to track who estimated what.
Agile scrum estimation techniques are faster than methods used in traditional systems, and they use relative units for sizing up items. These techniques depend wholly on the estimation powers of human beings. Many questions about designing, coding, unit testing, integration testing, and acceptance testing are asked during the estimation meeting. One key feature of agile estimation is consensus among all team members. Finally, it is vital to size items of similar points and size to all team members to ensure that the effort is consistent and equal.
Join the Discussion