Estimating: Story points and poker
A few weeks ago my project manager proposed to start using “story points” to estimate the cost of a story – in SCRUM – and the “poker method” to score a story. I had never heard about this before so I started reading the links he sent to the team: Hours vs Story points and Planning poker.
The manager invited everyone involved in the project to a meeting: developers, testers and stakeholders. The first thing our project manager explained to us was the definition of story points: “Forget hours, days or weeks; start thinking in terms of points. This story costs a number of points to be implemented. This methodology tries to estimate the productivity of the team and how much the team can produce in a certain period of time, 2 weeks in our case. We cannot repeat the same mistake of using weeks because developers always say double of time in case they are underestimating.” So we started to try to estimate the stories using points instead of hours.
The first thing he did was giving us the roadmap of our backlog of stories (just a list of features to be implemented) and poker cards. The poker cards are just a deck of cards with numbers: 0, 1, 2, 3, 5, 8…100 and two special cards: a question mark and a coffe break. The goal is going through the list of stories and try to score them. First, the story is explained, everybody thinks how many points the story should be scored, puts the card on the table upside-down and covers with his hand so nobody can see the card. When everybody has his card on the table the manager requests to be turned over and everybody is able to see everyone scores. Most of the people will match a similar score whereas others will diverge a lot. The people with the lowest and highest score must explain why they chose that score and the scoring must be repeated again taking into account the new explanations. At the end, everybody must agree in a common score. If someone chooses the “question mark” card, that means that the task is notwell understood whereas the coffee break means that the person is tired and needs a break to think.
Before the scoring started, we first needed to calibrate the scoring, this means, we needed to select a story scored 5 points. This is the average task which usually lasts one week to be implemented. It is just a reference so if another task seems to be twice more complex than the one scored 5, you can score the complex one as 10 points.
Then we went thought the whole list and scored as accurate as we could. The next thing was to select the number of stories to be implemented in the next iteration and get the total number of points, let’s say 65 points. If we get that amount of points done, that means that our production is exactly 65per iteration. If we implemented less points, let’s say 50, that means that our production is 50 and next week we should adjust our number of stories to this number. On the other hand, if we implement 100 points, that means that we are super-productive and we can do more work in the period of time.
We have not finished the iteration yet but I am looking forward to seeing how many points we are able to produce per iteration.