Story points are a common practice in agile planning and in this article I wanted to talk about some of the theory and my personal experience with pointing. I’m going to assume that all readers are aware of what story points are. But, if you’re not, take a quick peek at the wikipedia article.
I wish I could write more about the history of story points but I’m strugging to find information on that. I heard a rumor that a famous consultant was sick of being asked for deadlines so they came up with idea of points instead. Because the points don’t directly relate to units of time, it drove the concept home that these estimates are just estimates.
Whether or not this is historically accurate, it still explains why you should avoid estimating with units of time. Here’s a case study where a team tried to estimate in hours instead of points:
With hours, we measure our progress and declare something like “we’re doing 22 hours per week”. This can annoy (why aren’t we going faster?), confuse (wait, is this in actual hours or ideal hours?) or even anger (this is a team of slackers!). But a statement like “we’re doing 22 points per week” doesn’t generate these same emotions. It may elicit initial confusion (what’s a point?), but that’s just an opportunity to explain what’s really going on.
Even though points don’t directly relate to time, they can still be used for projections by a Product Manager. If you know the average number of points the team completes per iteration you can leverage this to project when milestones will be reached.
But points aren’t just a compromise to giving specific deadlines. The act of pointing stories is a useful process to the development team. For example, if I think a story is really simple and easy and I say it’s a 1 but my peer says it’s a 5, that means there’s some disconnect that needs to be ironed out. Without story pointing, this disconnect is never discovered. This creates situations where a developer says, “I’ll have it by lunch” but it takes 2 weeks. Or, “This is so hard I think we should consider if the effort is worth it” and the story ends up taking a day.
Paradoxically, story pointing can be used to keep meetings short. If you calculate the average points you complete per iteration and in a pointing meeting you’ve already pointed 2x that average, you know you can end the meeting early: It’s highly unlikely that you’ll be able to get through the work you’ve already pointed so there’s no point in staying in the meeting.
Slight tangent: Sometimes Product Managers like to point as many stories as possible because they think it gives them better projections. In practice I see the opposite being true because once you get two weeks out the points stop being based on reality. Stories start to depend on other stories being completed first. The prerequisite stories can effect the level of effort on future stories in ways you can’t predict. In my opinion, I don’t see a lot of value in pointing more than 2 weeks in the future.
Lets assume that after that 1 vs 5 point discussion, we agree that the story is a 5 pointer and that 5 points is very high. How can that be interpreted and leveraged? Well when a story is pointed very high that usually means there’s a lot of uncertainty in it. Sometimes that means the requirements aren’t clear and the story needs to be rewritten. Sometimes that means the team has no idea how to implement the story and it will be a research task.
Be wary of working on high point stories. They often take much longer than anyone could have anticipated. It should send the message that even though this will be started this iteration, it may not be finished this iteration.
I wanted to end this article by mentioning that there is a “No Estimates” Movement. My interpretation of this is every story is 1 point. I have to admit the concept is appealing when I put my developer hat on. But when I put my Product Manager hat on, the idea doesn’t seem very appealing. I’ve yet to experiment with “No Estimates” so I don’t know how it would play out in practice.
I hope this article helped you think of story points in a way you hadn’t thought of before. If you have a different perspective, please let me know via a comment to this article.