Estimation Process
Estimation Process:
Agile Estimation is the process of predicting the amount of effort, time, and resources required to complete a piece of work in an agile project. It typically involves the entire team and relies on relative estimation techniques.
1. Who is responsible for estimation?
Ans : Development Team
2. How Long does it takes ?
Ans: Depends on Estimation style, methods, number of stories, understanding of the domain and expertise of the team.
Estimation Techniques:
Planning Poker
Planning Poker is a collaborative estimation technique that involves team members assigning story points to tasks based on their complexity.
- Each team member selects a card representing their estimate.
- All cards are revealed simultaneously.
- Discussions follow if there are discrepancies, and the process repeats until consensus is reached.
T-Shirt Sizes
Tasks are categorized into sizes (XS, S, M, L, XL) based on their complexity. This technique is quick and useful for initial estimations.
Bucket System
Tasks are placed into "buckets" representing different ranges of effort (e.g., 1-2 points, 3-5 points). This helps in quickly categorizing tasks based on effort.
Dot Voting
Team members vote on the complexity of tasks using dots or stickers. The task with the most dots is considered the most complex, and so on.
Steps in the Agile Estimation Process
Preparation:
- Gather the team and ensure everyone understands the estimation techniques.
- Prepare a list of tasks or user stories to be estimated.
Initial Estimation:
- Use a technique like Planning Poker to provide initial estimates for tasks.
- Discuss any discrepancies and refine estimates as needed.
Review and Adjust:
- Regularly review estimates during sprint planning and adjust based on new information or changes in scope.
Track and Learn:
- Track actual effort against estimates to identify discrepancies.
- Use these insights to improve future estimations.
Best Practices
- Collaborative Estimation: Involve the entire team in the estimation process to leverage diverse perspectives.
- Use Historical Data: Reference past project data to inform current estimates.
- Continuous Improvement: Regularly review and adjust estimation techniques based on team feedback and project outcomes.
- Focus on Value: Prioritize tasks that deliver the most value to the customer.
Example of the Estimation Process
Let’s go through an example using Planning Poker:
Prepare the Stories:
- User Story 1: "As a user, I want to log in so that I can access my account."
- User Story 2: "As a user, I want to reset my password so that I can regain access to my account."
Conduct Planning Poker:
- Team members discuss User Story 1.
- Each member selects a card (e.g., 3, 5, 8 story points).
- Cards are revealed: 3, 5, 5, 8.
- Discuss differences: The member who selected 8 explains their reasoning (e.g., complexity in handling errors).
- Reach consensus: After discussion, all agree on 5 story points.
Repeat for User Story 2:
- Similar process: Discuss, select cards, reveal, and reach consensus.
