After i’ve wrote about User Stories there were some questions about the closely related topic of the Story Points. I will try to cover those in this blog post.
What they are
A Story Point is an artificial estimation measurement for a User Story. It is artificial on purpose. We don’t want to have it exact, because this would take us too much time to reach. The main value in estimating in Story Points is this: the ideal Story Point estimation makes every story, which is estimated with the same scale by the same persons comparable to every other story for which the same things apply. We need this two conditions, the same scale and at least nearly the same group, for important reasons. If we try to compare stories which are estimated with different scales, we are comparing the famous apples with oranges. This will not help in seing how long a team will need to finish the given set of stories. Same applies if completely different people estimate the stories. Even if they know the original scale, they will see the world through different eyes. Which makes the estimation different. This can be good, if the estimation gets more realistic, or bad, if it is tending more to the unrealistic direction.
The difference of Story Points to the famous man-day is, that we not only have a look on the effort it will take, but also on the risk and the complexity. So a nearly effortless story with a huge risk can be estimated higher than a easy, boring, time eater routine story. Same for a not much to do, but complex set of tasks: it can be estimated higher.
What they are not
We are trying to make the estimation in Story Points more adequate but not exact. Trying to reach exact estimations would mean to have a complete plan for every step. With User Stories we try to give the team the possibility to explore the solution and work strong together. With the need of having exact times and an exact plan, we kill creativity, team work and the feeling of responsibility. As already mentioned Story Points contain not only the time! This is important to have always in mind, there is never a precise mapping of Story Points to a time needed or even to a precise point of time in the calendar. The agile part in Story Points is, that we try to get things like team work and responsibility in exchange for the illusion of an exact plan. Things will always go wrong and no plan survives the project, so we let the planning phase be a bit short and gain other values out of it.
How to get a first baseline
My first teams to be introduced into Scrum and Story Point estimations had a situation, where not everybody was comfortable to estimate. The reasons were somewhere inbetween estimation by management and hard deadlines made by sales without asking. Here comes what helped everybody not worrying, but just going: we layed out a Fibonacci sequence of cards (1, 2, 3, 5, 8, 13, 20, 40, 100) on the middle of the desk. As you may note, from twenty on the Fibonacci sequence is broken. That’s for easiness, everybody can remember twenty, fourty and one hundred. But try to remember 21, 34 and 55. Yep, only a little bit harder, but think in two weeks again. Back to the main topic! We take the first story, discuss what has to be done. If it fits around the eight or thirteen, we put it on the desk in between those two numbers or on one of them. If it is somewhere else, take another story to start, till you have one which fits between eight and thirteen. Ask everybody, if there are open points to discuss with this decision. If so, talk and move the card till everybody is happy with its place. Now take the next story. Decide, if it is bigger or smaller than the first. Try to find a good place for it. Take always only one story and sort it into the already given stories. After every story reflect, if the card sits correct where it is and if you need to rescale all the stories for a better measurement. Reasons for rescaling can be that everything is on one side of the scale in a range of two or three points or if there are stories which seem to fit nowhere. When the team found enough stories fitting in the scale, let them choose for each point of the Fibonacci sequence an example story. These stories you bring with you whenever the team will have to estimate the next two or three times. They can be seen as reference points, if there are differences in the points of view. After a while everybody should have a common feeling what an amount of Story Points meens.
My experience with these steps:
As mentioned the first teams i guided through the learning how to estimate had distrust against estimations. For this situation it was way easier to just talk about one story at a time than have the discussion why to estimate and how to do it. The guys were open to follow it step by step and no big discussions came up. The guided tour through the process made it easy and painless for all of us. When we came to the end it was even the case, that the team members came up with suggestions how to rescale and were in vivid discussions about if a story is a five or an eight. My theory is, that whenever you go through easy steps with a group of people, they tend to come with you. But if you tell them “we’re going to xyz” they can come up with the complains and boycotts. To me seems to be like in the great book Facilitator’s Guide to Participatory Decision-Making. There is a theory of how to get people painless to get to a solution or decision by guiding everybody through phases. There you first open the solution space and than talk through the possible solutions to find the best solution (or the least worse one ;)) and choose one solution in the end. Really excited made me, that even new guys had an easy time to get into the estimation after a few months. Almost everyone new to the team made it after just one time with only watching to get really fitting results! One developer made it arlready in the first Backlog Refinement she participated, to come up with fitting estimations. That left me speechless! The last observations i want to share are the following: there developed a game thingy in our estimations which is like “if everyone has the same number, than we get a shot”. Nope we aren’t drinking at work. Even if it seems as a good idea :)! That made the Backlog Refinements and the Sprint Plannings real fun, thanks for that guys! But its important to mention, that everybody knows, that the differences in the later on blind estimations are more a big value. Because we afterwards talk why the values differ. Within that talks we discover risks and clear questions.
What are your experiences with estimations in general and especially with Story Points? Have you ever asked yourself “How to get these guys to estimate?”? What worked well for you and what absolutely not worked?
Leave me a comment and tell me what you liked or not liked about this article! Thanks for reading and have a great estimation :)!