Story Points And The Fallacy of Best Practice
While story points are a common method for estimating in software development, the problem is that they are a seemingly difficult concept to grasp. Yet, ironically, because they have become somewhat of a best practice, teams can often be a bit reluctant to try anything else; as if story pointing is just what agile teams do; as if abandoning story points will somehow make them less agile. The line of thinking is usually something similar to: “If we’re an agile team, then shouldn’t we be estimating in story points (because it’s a best practice)?”
Best practices aren’t always the best
Best practices are contextual. They become ‘best’ practices because they generally work well in many circumstances, but many is not all. Instead its much better to think about best practices as tools in a toolbox. You pick the one you think will best fit your situation, but you should have alternatives (or you should be prepared to adapt the tool). Maybe the hammer that you initially chose to remove a nail isn’t actually the best tool for this particular nail. Maybe instead you need a cat’s paw. No one would think a carpenter is any less of a carpenter for switching tools as new information comes to light. In fact, it generally indicates the opposite; that the carpenter is knowledgeable in their trade, understands what needs to be done, and will use whichever tool(s) helps them best.
Development teams are not too dissimilar from the carpenter in my opinion. Yet for various reasons there sometimes is still apprehension in abandoning a tool, or rather selecting a different tool, even when it’s clearly not providing the expected value in their context.
Story points are a good example of this. They are a tool for estimating but, in my experience, the concept is not one that comes naturally. In many cases, teams too often debate about what a story point ‘really’ means or the difference between a 3 or a 5. Some struggle to disassociate points from time, and others become overly concerned with how the points ‘accurately’ reflect (or don’t) progress on the burndown. And this is only naming a handful of common issues. In other words, because they are not easily understood, they are easily misunderstood and this triggers a plethora of problems. Some say there are no bad students, only bad teachers, but some things really are just harder to learn and understand.
However, to be clear, this is beside the point. While some teams successfully use story points, it doesn’t mean that other teams are not as smart. The bagpipes are a tool for making music, but even the most talented musician shouldn’t be expected to find them easy to play. Nor does it mean that the bagpiper is a better musician just because the bagpipes are (so I have heard) difficult to learn.
A means to an end
While we can and do train teams (and management) on how story points work, we need to remember that this particular practice and every other practice/tool is just a means to an end, not the end itself. If your team is continually confused and you find yourself spending more time and energy discussing the mechanism of estimating itself rather than actually estimating and moving forward, then this is likely a red flag; the ‘smell’ of waste if you will. Perhaps your team really has missed something fundamental in understanding the concept which is why, as agile coaches or scrum masters, we are there to dig a little and get to the root cause. Maybe it really is something that can be rectified through a bit more training, but maybe it’s just time to cut your losses and reassess the situation. And this is OK. After all, this is what being rather than doing agile is all about.
Complex systems like software development projects are difficult enough to navigate without adding further complications. Practices your team is having a hard time understanding and implementing, even if it is a ‘best practice’, should be reevaluated. As long as your team gave it an honest shot (preferably multiple) and didn’t simply jump ship at the slightest inconvenience, then just move on, try new approaches and continue to make things simpler (and by simple, I mean whatever ‘simple’ is for your team). If something isn’t working for you, not through lack of trying, then change it.
Story points are just a tool for estimating. There are alternatives out there, t-shirt sizes typically being the next ‘big hitter’. However, the larger point being made here is whatever you choose, just don’t get caught up in another process or practice that isn’t helping your team. Instead, start focusing on what helps you make progress.