- When the words "Scrum" and "Estimation" are mentioned, many people think of story points and planning poker.
- However, if you refer to the official Scrum Guide, you won't find specific mentions of Planning Poker or Story Points.
- The Scrum Guide emphasizes the importance of estimation but does not prescribe specific techniques or methods.
- Because of this, I decided to create this post and describe a list of estimation techniques that you can use:)
- First of all, why do we need Estimation in Scrum? The correct answer is prediction. This is the main reason we estimate tasks. How many stories we can take in a sprint? Or when we will be able to deliver the next release? Estimation can help us with the answers.
- Estimation can be either relative or time-based.
- Time-based estimation: This involves estimating how much time (hours, days) is needed to finish a specific story. You can use ideal hours or real hours for this.
- Relative estimation: In this approach, we compare the complexity or effort of a task to other tasks. This type of estimation can be much easier, faster, and less frustrating to use.
- One of the most popular approaches here is using Story Points.
- You can use the Modified Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, etc.), Powers of Two Sequence (1, 2, 4, 8, 16, 32), Linear Sequence (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), or a Custom sequence (1, 3, 10, etc.). Or other sequences... It's up to you.
- The Next one is Task = something. Here, we take a task and compare it with something else.
- T-Shirt Sizing is one of the most popular techniques here. It’s a high-level estimation technique where items are categorized into relative sizes, similar to clothing sizes: XS (extra small), S (small), M (medium), L (large), XL (extra large), etc.
- You can also use predators as categories, such as Jaguar, Wolf, Bear, Tiger, Lion, Shark, Crocodile. It can be quite fun to use this during estimation. For example: "Mark, why do you think this task is a Crocodile?". "Because I don't like Crocodiles, and I don't like this task."
- The main issue with this approach is that it can be difficult to predict a Sprint or Release using this type of estimation (since there aren’t any real numbers involved). However, this can be easily addressed. For example, the Scrum Master can assign numbers to each item, or historical data about real hours of effort can be used.
- We've talked about types of estimations. Now, let's dive deeper into the techniques of estimation.
- Here is a list of some of them.
- Planning Poker: A collaborative estimation technique where team members use cards to privately select their estimate, revealing them simultaneously to encourage discussion and consensus.
- Affinity Estimation: Team members group user stories by relative size into categories (small, medium, large) to quickly estimate a large number of backlog items.
- Bucket System: Tasks are sorted into predefined categories ("buckets") that represent different levels of effort or complexity for rapid and collaborative estimation.
- Ordering Method: The team arranges backlog items in sequence from smallest to largest based on effort or complexity without assigning specific numbers.
- Assignee + Supervisor: Tasks are distributed across team members. Afterward, the responsible person provides an estimate, and a supervisor (e.g., Tech Lead) reviews them.
- It’s not the final list :)
- I hope this short article has convinced you that Planning Poker and Story Points are not the only options. Good luck!