Writing
Velocity Is a Vanity Metric
Story points measure output. Output is not outcomes.
Velocity is the number that feels like progress. A team estimates stories, commits to a sprint total, and celebrates hitting it. The chart goes up and to the right. Nobody was idle.
Now look at what the number is actually measuring. Story points are estimates, and estimates are subjective. A team that learns to pad its estimates shows improving velocity without shipping anything different. A team that gets bullied into smaller estimates shows declining velocity without shipping anything different. The number moves. The team does not.
Velocity also does not care whether anything you shipped matters. Ten pointed tickets that closed a release is ten pointed tickets, whether the feature moved a metric or not. A team can hit its sprint target every sprint for a year and end the year with the same customer base it started with.
Most of all, velocity is easy to chase in ways that hurt everything else. Break every story into smaller stories, or estimate generously for work you already know how to do. Each of those raises the number while the team’s actual throughput drops.
The fix is to track the things a team cannot fake. Deploy frequency and lead time are the two workhorses. Change failure rate is the honesty check on both. Those numbers can still mislead, but no spreadsheet will move them.
Drop velocity from the status report. The team will chase whatever replaces it.