Why Story Pointing Needs to Die
It comes down to an understanding of the nature of complexity, and not trying to use linear approaches for non-linear challenges.
Agile is good at what it’s good at — handling complex problems (like software projects). Agile starts to suck the more you introduce mechanics that are from the complicated realm of problem-solving i.e. mechanistic, deterministic, and reductionist. Those concepts harken back to waterfall, Taylorism, and the era of mass production. (Helps to have an understanding of Cynefin here in reference to the domains of problem types.)
This blog is not going to go in-depth into what the other options are to story pointing and velocity, rather, the why behind why you don’t want to use story points — over and above that the original inventor of the idea, Ron Jeffries, is telling you not to use them. Read Ron Jeffries blog — Story Points Revisited for his perspective.
Addiction to prediction from waterfall demanded some prediction mechanism in agile. The reductionist route popular from waterfall is to break everything down to its constituent pieces. Once you have all of the small parts, you size them, sum them, and have an indicator of the larger piece or the entirety. Project manager dream come true.
Then comes determinism. The sum of the work divided by the velocity of the team will determine when the work is done. It’s all very linear thinking and might work if the work were not complex. But alas, software is typically a complex problem with many unknowns.
So there it is — that is the argument. In a complex domain, don’t try and use reductionism and determinism e.g. story points and velocity.
Four Alternatives to Story Pointing
What are the other options? I will mention some other options to story pointing, but not describe what they are in great depth here. That is for another blog. Below are four alternatives only briefly outlined of blink estimation, throughput, Monte Carlo simulation, and Bayesian probability.
Blink Estimation or Wisdom of Crowds
There is a great video where Dave Snowden (the father of the Cynefin model) says (something like) — when you are in the complex domain, Wisdom of Crowds estimation is the correct way to estimate. I’m pretty sure it was in this video on Applying Cynefin to Kanban. I think Snowden is on to something here, and Wisdom of Crowds (aka Blink Estimation) would be my first suggestion to begin running some experiments with. I did some experimentation in this area which you can read about on the Agile Alliance website in my blog — Putting Relative Estimation to the Test. I’d love to see more experimentation done in this area and would jump at the opportunity to do so.
Throughput or Story Counting
Another option is throughput (otherwise known as story counting). This gets away from determinism somewhat but still relies on reductionism. Similar idea to velocity but the key difference is that we no longer need to estimate the size of each work item. Once an item has been determined to be small enough to be workable, it enters the system of flow, and items are counted over a period of time to give a throughput. It’s an improvement for sure as the tedium of sizing is removed. This method gained particular popularity from the #NoEstimates movement.
Monte Carlo Simulation
Monte Carlo simulation is another mechanism. I recently went to a great meetup on the topic with speaker Adam Yuret, and wish I understood it more. From what I (think I) understood, you still need some reductionism. The simulation plays out the probabilities of stories completed over time based on previous data. So you need some historical data and the reductionism of story breakdown. I do believe you can also run the simulation at the higher epic level which to me would be more appealing. Wish I knew more but all I can advise is — it may be worthy of more investigation. My friend Joseph Pelrine feels that Monte Carlo may be flawed for agile estimation. He is smarter than me and here is some work he has done on Improving Estimation Quality with Psychology and Psychometrics. I’m on the fence still as I have not done a deep investigation, experimentation, or research into it.
The final one that I also know very little about but am very interested to find out more about, is Bayesian Probability. One of my side interests is in submarines and military naval craft in general. In the book Blind Man’s Bluff: The Untold Story of American Submarine Espionage by Sherry Sontag, Christopher Drew, Annette Lawrence Drew — they share at least two stories of using Bayesian Probability to locate sunken submarines. Blew my mind! I need to know more about this method and if/how it could be used for forecasting in the complex domain. Watch this space.
Summary: Story pointing is dated, and the creator of Story Points regrets introducing the concept. Story Pointing and velocity are linear approaches based on reductionism and determinism, and as such make for a poor fit for problems in the non-linear complex domain (like software).
The continuation of this blog is The Last Responsible Moment. The most common argument I hear to keep story pointing is because of the conversations the team has around work. My response to that argument is in the follow on blog.