Summary -
In this topic, we described about the below sections -
What is an Estimation Technique?
Estimation is the process of approximation of a value that can be used for some purpose even if input data may be incomplete, uncertain, or unstable.
Different Estimation Techniques in Agile
Below are the popular among all estimation techniques used in Agile methodology -
Planning Poker
In this technique, participants use specially numbered playing cards in order to vote for an estimate of an item. Voting would repeat with discussion until all the votes are consistent. Each estimator would have a set of planning poker cards of values: 0,1,2,3,5,8,13,20,40,100 representing points or measure in which the team estimates. Once the session gets started, the product owner or the customer reads out the user story describing all its features and requirements. After the story is read out, the discussions would happen between the estimators and product owners. The Estimators would question to the product owner and get their doubts clarified. After the discussions are over, all the estimators would be asked to select one card to estimate a user story. If all the estimators give same value, then that would become the final estimate.
If the values are different, then the estimators who are giving a highest and a lowest value explain their opinions and why they chose that value until a concurrence is achieved.
T-shirt Sizes
As in the case of T-shirts we see sizes such as XS, S, M, L, XL. The same approach would be followed here. Estimation of items are done in T-shirt sizes. This technique is a perfect technique which provides a rough estimation of the large backlog items. This technique would be useful when quick and rough estimation must be done. Later, these sizes would be converted into numbers as per the requirement. A relative size would be decided after a mutual discussion and agreement of the team members or estimators. Then, the numbers would be assigned to the items based on the relative size that is assigned to Medium size.
Dot Voting
This is a Ranking method in which the order of the product backlog would be decided from highest priority stories to lowest priority stories. This would be done in order to select the most important stories which should be taken forward. This can be started by posting all the user stories along with their description on the wall or board using yellow stickies or in a way which distinguishes them for receiving the votes. All stakeholders are given 4 to 5 dots and are asked to give their votes on the user stories that they prefer. Product Owner orders the product backlog items from the most preferred to the least preferred. It might be the case where few stakeholders are unhappy with the order decided. In this case, the user stories are divided in 3 groups after the discussions: high priority, low priority, and medium priority. High priority user stories are posted on the wall to receive the votes. This is done until the final order is achieved with the agreement of all stakeholders.
The Bucket System
This technique is best suited when there is a large no.of items to be estimated by more number of participants. It is faster and more reasonable than planning poker. Different Buckets would be created with values: 0,1,2,3,4,5,8,13,20,30,50,100, 200. This can be extended if required. These buckets are nothing but cards representing values arranged sequentially on a table. The stories need to be placed within these where the estimator would find them suitable. Items that are to be estimated would be written on the cards. Randomly any item can be picked up and placed in some "Nth "number bucket. Later another story would be picked up and its features and requirements would be discussed with the group and that would be placed in appropriate bucket. The bucket sequence can also be changed, in case the group feels the first item chosen, should belong to the bucket 1 instead of bucket 8.
Divide and Conquer approach would be followed. All the remaining items are divided among all the participants. All participants can place the item without the approval of other participants.
The items should be placed properly. No item can be placed between the buckets. If a participant does not understand the product backlog item or if the other participants have finished up placing their user stories, then the user stories would be transferred to the other participants.
At last Sanity check is performed by all the participants. If any participant finds a wrong bucket assigned to an item, then they can bring it to the notice of other participants and discuss with them. This is done until a concurrence for the whole product backlog is achieved. The facilitator should make a check that nobody moves the items unless sanity check is done. This is also done to achieve the priority order of the product backlog items.
Ordering Protocol
Items would be placed in a random order on a scale labeled simply "low" to "high". Every person participating would take turns making a move. A move would involve the following actions: change the position of an item by one spot lower or one spot higher, talking about an item, or passing. If everyone passes, the ordering is done. The Challenge, Estimate,Override and the Relative Mass Valuation methods are variations on the ordering protocol.
Large/Uncertain/small
This is a rough version and is the simplification of bucket system where in there would be only three sizes: Large, Small, uncertain. The participants or estimators would be asked to place the items in one of the categories. Initially, simple user stories are chosen and placed in the large and small categories. Later, the complex ones are taken up. This technique is good when there are comparable items in the product backlog.
Affinity Mapping
This technique would be best suited for small and no. of backlog items are less.
- First step is Silent Relative Sizing -On a wall, a card with 'Smaller' written on it, would be placed on the leftmost side and the card with 'Larger' written on it would be placed on the rightmost side. Then, the Product Owner would provide a subset of the items to all participants. All participants are asked to size each item relative to the sizes on the cards on the wall, considering the effort required to implement them. It is the solo decision of the participant without any discussion with the other team members. Product Owner or stakeholder is present to clarify the doubts of the participant. Product Backlog items which are too ambiguous to be understood by the team members for estimation are placed separately. It takes 5-20 minutes.
- Editing of wall -The team members can change the location of the items on the wall. They can discuss design and implementation requirements with the other team members. This activity can be closed when little change is happening on the wall. It takes around 20-60 minutes.
- Placing items in correct locations -After the discussions, the team would place the product backlog items in their relative and appropriate positions. We can use T-shirt sizing, Fibonacci series etc. here to relatively estimate the size of the items.
- Product Owner Challenge -The Product Owner may find some discrepancy in the estimations which are done by the team and need to discuss more features or the requirements for an item with the team. After discussions, final estimations would be made.
- Export to Project Backlog Management Tool -To make s ure the information about the final estimations is not lost, it must be exported to a product backlog management tool.