The most important thing to remember about planning poker is that it's the discussion, not the agreement that's important.
Planning poker is a consensus-based way to estimate the scope of work presented for each sprint. The goal of planning poker is to create an active discussion that allows teams to better understand the scope of each story. It is not important for every member of the team to agree immediately about each story’s estimation. What is important is for the team to discuss any differences until they reach a convergence.
The Fibonnaci sequence (first recorded in the Western world by Leonardo de Pisa, otherwise known as Fibonnaci) is a sequence of numbers in which each number is the sum of the two preceding numbers.
We use a modified version of the Fibonacci sequence in order to estimate points: 1, 2, 3, 5, 8, 13, 21, 40 and 100.
Weber's law tells us that it's easier for us to understand relative difference as opposed to absolute difference.
Pretend you're carrying a 1 gallon bucket of paint in one hand and a 2 gallon bucket in the other. You'll most likely be able to distinguish between the two based on how different they feel compared to each other.
But let’s pretend you have a 10 gallon bucket and an 11 gallon bucket in each hand. It will be harder to distinguish between the two. This is because the percentage of difference between each bucket is smaller.
So why is this a good thing for sprint planning? The goal of story pointing is to determine how much effort each story will require. When estimating effort it is more productive to measure the relative difference in effort than it is to focus on how much effort the story will actually take to complete. We’re better at estimating how much effort stories will take compared to each other than we are at understanding how much to point them specifically.
How accurate should my estimations be?
What if a story could be either an 8 or a 13? Let’s say you’ve painted your house, yay! But you have 10 gallons of paint leftover and you need a bucket to hold your paint. Are you going to choose an 8 gallon bucket or a 13 gallon bucket? 13, right? Otherwise your paint will spill over!
Another way of saying this is: sometimes rounding up is okay. We don’t want our work to spill over. In planning poker we’re trying to find the right bucket to hold our work.
According to Mike Cohn, “For accurate planning and estimating, teams need to understand that their job is not to put an estimate on a product backlog item. Their job is to put the story in the right bucket.”
Yes, our team uses a modified Fibonacci sequence– 1, 2, 3, 5, 8, 13, 20, 40 and 100–but, because our squads are so small and we don't work in large projects like a lot of developers, we shouldn't ever really use 40 or 100.
Also, it's worth noting that If you're tempted to estimate a ticket as a 20 that might be an indication that your ticket could benefit from being broken up into more snack-sized tickets.
A healthy range of story points runs from 1-13.
In order to ensure we're not filling up our sprint with more "ideal days" of time than we realistically have available, we calculate the points budget based on the actual output of the team. Over time, we've found writers average 4 points per day.
This value is totally unique to each team! A high number doesn't indicate a more productive team, and a low number isn't a problem. Story points are only meaningful within a team.
If you're starting a new team or new process, you'll need to zero in on the ideal number of points per writer. An easy way to figure out the right budget is to have the team vote in retro on whether to increase, decrease, or keep the same budget next sprint. You'll overshoot or undershoot a few times, but after a couple sprints you'll get a good sense of what constistutes a sustainable pace.
Once you know your baseline, calculating the budget is straightforward:
- Take the number of writers, and multiply by the number of days in the sprint.
- To make the math easy, let's say 5 writers and a 10 business day (2 calendar week) sprint. Or, 50 person-days total.
- Subtract out time off days, plus 1 day for each day of hero duty.
- Let's say we have 1 writer on vacation in Maui, and 1 day of hero time per day. 50 person days, minus 10 days of vacation and 10 days of hero time, gives us 30 person-days.
- Multiply the number of days times the average velocity per writer, per day.
- Our average velocity is 4 points/writer/day. 30 person days multiplied by 4 would give us an 120 point budget for the sprint.
Because we work in two squads, we calculate a separate points budget for each squad ahead of sprint planning.
We welcome thoughts or questions on our handbook! The easiest way to get in touch is to file a GitHub issue.