Alright, buckle up, because we're diving into Probabilistic Forecasting. Not the most glamorous term, right? I can already sense the collective sigh. But stick with me—this math wizardry could save you, as a Delivery Lead, from the perils of estimation. It might even improve your deadline conversations! If you’re intrigued, read on. If not, I’ll catch you in another blog post.
When it comes to Agile estimation, the usual go-tos are story points and t-shirt sizing. Combine that with the tech lead’s experience and the team's collective “gut feel” from past projects, and voilà—you’ve got yourself a deadline. Or at least, you have something that looks like one.
But what happens next? Often, the team commits to a deadline that’s a little too ambitious. As the deadline approaches, the following scenarios tend to play out:
None of these outcomes are great. Either stakeholders are upset because deadlines are missed or features are cut, or your team is stressed, cranking out code at the cost of quality, racking up tech debt along the way. Not fun.
Here’s where probabilistic forecasting steps in, like a superhero wearing a very unassuming cape. I first stumbled upon this gem during an online conference in the middle of the COVID pandemic (sorry for the flashbacks). Mattia Battison was the speaker, and he completely blew my mind. Let me try to explain it in a way that won’t make you glaze over.
We’re all familiar with stories in Agile, right? You write them, you complete them, and they live in your sprints. Probabilistic forecasting uses a simple metric from your team: throughput. Throughput is just the number of stories you complete each sprint.
Now, take that number and plug it into a handy Google Sheet along with a few other inputs—like how often you run into bugs or discover new stories mid-sprint. You also need to estimate the size of your project, say 30 stories. Then, the magic happens: the Monte-Carlo Simulation.
Don’t worry, you don’t need to be a math genius. Essentially, the simulation runs thousands of scenarios to predict when you’ll deliver those 30 stories, based on your past throughput. It gives you a probability and a confidence score.
After all that mathematical magic, you get something like this:
“We are 82% confident we can complete 30-46 stories in 3 sprints or less.”
This little sentence can be a game-changer in conversations with stakeholders. Let’s say your team misses the 3-sprint mark. The stakeholder is likely to be more understanding, because hey, you only had an 82% confidence level! And they can relax knowing the work is likely to wrap up early in the fourth sprint.
Now, let’s say they want those features in 2 sprints. You can say, “Sure, but we’re only 71% confident.” This lets everyone approach deadlines with a more realistic mindset, and your team gets some breathing room with a range (e.g., 30-46 stories) that accounts for inevitable bugs or unexpected work.
For more on this, check out Mattia Battison’s GitHub page, where he and his co-authors have shared their book, templates, and a Trello board.
I often get questions about this approach, so let me address a couple of the common "what ifs":
In my experience, this method not only improves deadline accuracy but also makes for much smoother conversations. Now, who’s ready for a (virtual) trip to Monte-Carlo?
Header Photo by Reuben Rohard on Unsplash