Affinity Estimation #
Affinity Estimation is an Agile estimation technique used to quickly and collaboratively estimate a large number of user stories or tasks. It focuses on grouping items based on their relative size or complexity, allowing teams to estimate effort without assigning specific numerical values initially. This technique is especially useful when a project has a large backlog of items to estimate and the team wants to avoid lengthy discussions for each individual item.
Key Characteristics: #
– Quick and Efficient: Facilitates fast estimation of many items.
– Collaborative: Involves the entire team in the process.
– Relative Sizing: Groups items based on their relative size or complexity.
Steps of Affinity Estimation: #
1. Preparation:
– Gather the list of user stories or tasks to be estimated.
– Prepare a wall or large surface where items can be placed.
2. Initial Grouping:
– Place one or two user stories on the wall as anchor points representing different sizes (e.g., small, medium, large).
– Team members place other user stories relative to these anchor points based on their perceived size or effort.
3. Review and Adjustment:
– Once all items are placed, the team reviews the distribution.
– Adjust the placement of items to ensure consistency and correct grouping.
4. Assigning Estimates:
– After grouping, assign numerical estimates (e.g., story points) to each group based on their relative size.
– Use a consistent scale such as Fibonacci (1, 2, 3, 5, 8, 13, 21) to represent the effort.
Example of Affinity Estimation for an E-Commerce Website #
Scenario: The team is estimating the effort required for multiple features of an e-commerce website project.
Participants:
– Product Owner: Eva
-Development Team: Alice (Frontend Developer), Bob (Backend Developer), Carol (QA Engineer)
– Scrum Master: Dave
User Stories: #
1. User Story 1: Registration and Login
2. User Story 2: Product Search and Filters
3. User Story 3: Product Reviews
4. User Story 4: Order Tracking
5. User Story 5: Checkout Process
6. User Story 6: Wishlist Feature
Affinity Estimation Session: #
1. Preparation:
– The user stories are written on index cards or sticky notes.
– A large surface (wall or table) is prepared for placing the stories.
2. Initial Grouping:
Alice places “Registration and Login” as a medium-sized effort.
Bob places “Product Reviews” as a small effort.
Team members then place the remaining stories:
– Eva places “Product Search and Filters” near “Registration and Login” but slightly higher in effort.
– Carol places “Order Tracking” near “Registration and Login”.
– Dave places “Checkout Process” higher in effort than “Product Search and Filters”.
– Bob places “Wishlist Feature” between “Product Reviews” and “Registration and Login”.
3. Review and Adjustment:
The team reviews the placement:
– Alice suggests moving “Order Tracking” slightly higher.
– Eva agrees to move “Wishlist Feature” closer to “Registration and Login”.
4. Assigning Estimates:
The team assigns story points to each group:
– Small: Product Reviews (2 points)
– Medium: Registration and Login, Wishlist Feature, Order Tracking (5 points each)
– Large: Product Search and Filters (8 points)
– Very Large: Checkout Process (13 points)
Summary of Affinity Estimation: #
User Story ID | Description | Effort (Story Points) |
PBI-001 | Registration and Login | 5 |
PBI-002 | Product Search and Filters | 8 |
PBI-003 | Product Reviews | 2 |
PBI-004 | Order Tracking | 5 |
PBI-005 | Checkout Process | 13 |
PBI-006 | Wishlist Feature | 5 |
Benefits of Affinity Estimation: #
– Efficiency: Quickly estimates a large number of items.
– Collaboration: Involves the whole team, fostering a shared understanding.
– Visual Representation: Helps in visualizing the relative size of tasks.
– Consensus Building: Encourages team discussions and consensus on task complexity.
Conclusion #
Affinity Estimation is a practical and efficient technique for estimating effort in Agile projects. By focusing on relative sizing and collaborative placement of user stories, teams can quickly achieve a shared understanding of task complexity and effort. The example of estimating various features for an e-commerce website illustrates how Affinity Estimation can streamline the estimation process and facilitate better planning and prioritization.