I despise story points. Not dislike: despise. I’ve tried to like them, almost always driven an internal evangelist who’s convinced a team cannot truly adopt agile without story points. I’ve used story point poker, fibonacci sequences, and burndown charts in more teams than I care to admit. I also willingly concede to the need to estimate the amount, complexity and uncertainty in work, and that a metric driven closed loop process is essential to improving any activity. My issue is simple: story points almost always become a vanity metric.
A successful application of story points will result in teams both maximizing their aggregate story point velocity and their estimation accuracy. Unfortunately story points can only estimate the technical effort, not the business results. While effort may have a causality to results, causality does not equate to outcome. In other words: story points do not create successful products, delight customers, close deals, and / or drive revenue. They can influence outcomes - but agile leaves the actual results to the product owner, providing him / her no metric by which to measure business success. It's as though managers send their Major League Baseball players out on the field with a set of individual goals to maximize internal points reflective of team effort, but which do not directly impact the primary objective: winning the game.
So what should we do? I'm not advocating eliminating story points entirely. They are a fine metric for use within a team, where they can be used to approximate and improve internal effort and velocity. But let’s all start tracking a new metric for use outside a team: customer points (CPs). Customer points will reflect the relative value a story contributes to customers. This value can be functional (e.g. a new feature) or non-functional (e.g. increased security). But customer points can only be awarded to the stories that directly impact customers. For example, a story that results in a defect being fixed in production impacts customers; a story that delivers a design for a future feature does not impact customers. This metric should be considered only in aggregate for a team, and not used on an individual basis.
By tracking the CPs by team, we can begin to orient our organizations to what matters: driving real customer value. Unlike story points, CPs will be non-linear like the software development process they reflect. A team may go a sprint or two with low CPs, only to have them suddenly jump up as they launch a major new feature. But trended over time, CPs can accurate reflect the value a team brings to a business. A team with consistently low CPs will quickly reveal themselves, allowing the organization to identify and correct the cause (e.g. ineffective product owner, ineffective team lead, lack of focus). A team that is focused on consistently driving real value for customers will also reveal themselves, allowing an organization to celebrate and seek to replicate their success.
You want to impress me? Don't tell me how your team executed 120 story points this sprint, an increase of 30% over the last sprint. Instead tell me how many customer points your team executed, and how this is making a real impact for your customers. It's time to refocus our teams on what matters: driving real value for real customers.