Introducing Fidra: Monte Carlo Forecasting for Software Teams

Most teams I’ve worked with are asked to commit to delivery dates. The difficulty is that software timelines are uncertain, and a single-date commitment doesn’t capture that. When a team says “March 15th”, it’s unclear whether that’s a best case or a conservative estimate, and stakeholders will often hear it as a promise. Fidra is a tool I built to make these conversations more effective.

Fidra uses Monte Carlo simulation to turn a team’s velocity history into probability distributions, so instead of committing to a single date, you can say “there’s an 80% chance we’ll be done by March 15th, and 95% by April 10th”.

Fidra Application Interface

Why Probabilities Help

Probability distributions make the uncertainty explicit. In my experience, stakeholders respond well to this, since it treats them as partners who can handle nuance. An 80% date might be fine for an internal milestone; a 85% date might be appropriate for an external commitment. That’s a decision the team and its stakeholders can make together, rather than something that’s left ambiguous.

How It Works

Fidra takes three inputs: a team’s historical velocity (how many story points or items you typically complete per sprint), how much work remains in the backlog, and the sprint length. It runs thousands of simulations, randomly sampling from the team’s velocity history, and produces a cumulative probability chart showing when they’re likely to finish. The tool is most useful when re-run regularly rather than treated as a one-shot prediction: as the team makes progress through the backlog, the forecast updates to reflect it.

What You Can Do With It

Once you have the distributions:

  • Choosing commitment levels that match the stakes: a higher confidence level for an external launch, a lower one for an internal target
  • Tracking how forecasts shift as work progresses and the backlog changes
  • Grounding scope conversations in data: “adding these stories pushes the 85% date back two weeks” is more useful than “it’ll take longer”

Limitations

This approach to forecasting works best when your team has a few sprints of velocity data to use. If the team has recently formed, the simulation doesn’t have much to go on. It also won’t account for everything that lives outside your velocity numbers: dependencies on other teams, interruptions, holidays, etc. Experienced teams learn to incorporate these risks into their inputs. Getting good at that is a big part of forecasting well.

Try It

Fidra is free to use and requires no sign-up. Everything runs client-side in the browser, so no data leaves your machine. I built it with Claude Code.

If your team already tracks velocity, you can have a forecast in a couple of minutes.

References

The idea of applying Monte Carlo simulation to software forecasting was popularised by Troy Magennis, whose spreadsheet-based forecaster showed that you could turn velocity data into probability distributions. I used it for a while and found the approach valuable, but wanted something simpler to share with teams.

comments powered by Disqus