Many organizations’ forecasting practices are arduous, requiring detailed, long-term schedules, low-level year-long budgets, and a long list of fine-grained backlog items. When we’re in a complex environment of ambiguity and unpredictability, this approach decreases agility and increases risk by constraining adaptability, learning, and creativity. It’s also a hidden waste, as leaders push for more detail on things that will need to be completely reevaluated when we learn more about our complexity.
“Setting oneself on a predetermined course in unknown waters is the perfect way to sail straight into an iceberg.” — Henry Mintzberg
Some people I’ve coached have reacted by suggesting we throw out forecasting entirely, with declarations like, “There are no dates in Agile!” Oof. That’s not going to work, either. Leaders and customers need to make investment decisions, and forecasting to enable this is a reasonable expectation.
The question is…how do we forecast in ways that enable effective investment decisions and enable agility and learning? Let’s explore 4 core practices of Agile Forecasting that will help you find a balance between these needs.
But before diving in, remember that all these practices hinge on two fundamental questions:
- What does success look like? Don't mistake meeting forecasts for true product success. Define clear indicators of success that go beyond just deadlines, budgets, and pre-defined scope. To forecast well, you will need to wrestle with the indicators of success for your product.
- What are we trying to learn? Often, there’s an unspoken assumption that we know everything, or nearly so. But if you are operating in complexity, there are too many unknowns and changes to be that certain. So, what are the most important things for you to learn to enable success?
Core Practice #1: Re-Forecasting, the Agile Rhythm
No matter which of the other practices you use, put them inside this container: re-forecasting.
This is a fundamental shift from traditional, long-term, locked-in forecasting that is built for more predictable environments. Within a locked-in forecast, your available agility is nearly non-existent. In agility, forecasts are revisited repeatedly with empirical data and new learnings.
Within a locked-in forecast, your available agility is nearly non-existent.
There are three keys to doing re-forecasting well.
1) Help others make the shift.
Some people may be used to and comfortable with traditional forecasting…and, therefore, skeptical and uncomfortable with re-forecasting. Often, this is embedded into the culture of your team, department, or organization. Employ effective change approaches to shift, including:
Make requests of those who can influence the culture
Find and express the cost of staying the same
Envision and communicate the future state
2) Make re-forecasting a habit.
Instead of an afterthought or being completely forgotten, you’ll want to make re-forecasting habitual - a regular part of your routine.
Walk out your agility by regularly reviewing and adapting your forecasts. Collaboratively reflect on your past performance at least monthly, adjusting forecasts and their underlying assumptions based on insights gained. Prioritize adjustments that are most likely to improve the success of your plans.
“If you have to forecast, forecast often.” — Edgar Fiedler
3) Make re-forecasting easier.
To enable regular re-forecasting, consider how you can make it easier to build the habit. [[Use the practices in the book Atomic Habits]]. What is hard about it that could be made simpler? How can you maximize the part of it you (or others) enjoy the most? How can you (or others) start repeating the first, small step toward regular re-forecasting?
The easier you make it to re-forecast, the more likely you’re going to keep doing it.
Core Practice #2: Decrease Precision to Increase Accuracy
The more precise and detailed our forecasts are, the less likely they are to be accurate.
For example, if I forecast that something will happen on June 17th at 3:25 US Eastern, I have 60 seconds to be correct, which will be hard in an unpredictable environment. If I predict it will happen on June 17th, I have 24 hours. If I predict it will happen in June, I have 30 days.
When you decrease the precision and detail of forecasts, you open up space for learning and adaptation. Agility.
"Make things as simple as possible, but not simpler." — Albert Einstein
Across the three typical elements of forecasts, it could look like this:
- Schedule - Forecast schedules in larger time blocks: months, quarters, or time ranges rather than days or weeks.
- Budget - Forecast budgets at a higher level: team(s) rather than individual projects.
- Scope - Forecast with less detail: focus on outcomes instead of outputs or activities. Also, use relative estimation, t-shirt sizing, and the Fibonacci sequence to reduce the detail in estimates.
All of these are dimmer switches you can adjust based on the situation. Perhaps there’s a reason you need a more precise schedule (like a 2 week Sprint); try pairing it with an outcome-oriented scope (like a Sprint Goal).
While decreasing precision can improve accuracy, over-simplification can lead to a lack of insight and learning. It's crucial to find the right balance or each situation so you can adapt AND learn.
Core Practice #3: Bracketing
I’m borrowing the term “bracketing” from photography, when we take multiple pictures of the same thing with different exposure settings. We end up with an over-exposed photo, an under-exposed photo, and a middle-of-the-road photo. Combining these photos gives us a clearer picture of things that might otherwise be hidden in the shadows or highlights.
Likewise, in forecasting, one way to increase agility and communicate more clearly is to bracket your forecasts. Give multiple forecasts that are based on probability or likelihood.
Here are a couple of examples:
- Our best case is to deliver in 30 days, our most likely forecast is to deliver in 45 days, and our worst case is to deliver in 80 days.
- We’re 40% likely to deliver in 30 days, 65% likely to deliver in 45 days, and 90% likely to deliver in 80 days.
While these examples are forecasting the schedule, you can use bracketing as you’re forecasting scope and budget as well.
No matter how you bracket, you need to use actual, historical data to make an empirical forecast. Most teams use velocity, throughput, or cycle time to accomplish this.
“You should never—and I mean never—communicate a forecast that does not include at least two things: a date range and a probability for that date range occurring.” — Daniel Vacanti
Monte Carlo Simulation
Another tremendous tool to help you bracket your forecasts is Monte Carlo simulation. After entering your parameters and historical data into a Monte Carlo tool, thousands of simulations are run with variations on your parameters. The resulting distribution of results can inform your likelihood of various outcomes.
Caution
Please remember: if you’re operating in complexity, no amount of empirical data or analysis can give you 100% confidence and accuracy. It’s like trying to catch smoke in a net - when you think you’ve succeeded, all you’ve done is fooled yourself.
“To be uncertain is to be uncomfortable, but to be certain is to be ridiculous.” — Chinese proverb
Changing the Conversation
One of the most powerful effects of bracketing your forecasts is how it changes the conversation with stakeholders. I have often seen resistance melt away when introducing stakeholders to bracketed forecasts. The conversation changes from tension to curiosity, and the situation becomes more collaborative.
Core Practice #4: Aligning with the Time Horizon
You don’t need to be Dr. Who or Marty McFly to do this - no unusual time travel is necessary. 🙂
Put simply, you’ll adjust your use of precision and bracketing based on how close the event you’re predicting is. If the event is far away, an agile forecast is less precise and the brackets are farther apart. As the event draws nearer, you can refine your forecasts by increasing the precision and narrowing the bracketed range of possible outcomes.
We’re talking about the cone of uncertainty, which acknowledges that the things that are closest to this moment have less variability and the things that are furthest from this moment have the most variability. When drawn in a diagram, it looks like a cone with the variability depicted as lines diverging from the current moment. You’ve seen it used in weather forecasting of storms as the forecasters address the inherent and increasing uncertainty.
![[Example of a cone of uncertainty in weather forecasting]](https://scrumorg-website-prod.s3.amazonaws.com/drupal/inline-images/Newsletter%20-%20Series%20-%20Forecasting%20-%20Cone%20of%20Uncertainty.gif)
Here are a couple of examples:
- For a forecast 12 months away, the precision would be low and the bracketing wide. So, the scope goal would be at a high level and outcome-oriented, the budget could be bracketed at 25 to 50% on each side of the median, and the schedule might be expressed in months or quarters.
- For a forecast of the next two weeks (like a Sprint-length in Scrum), the precision would be higher and the bracketing narrower. The scope goal would be more detailed, expressing the outputs that are likely to be created to achieve a specific outcome, the budget could be bracketed at 5 to 10% on each side of the median, and the schedule might be locked in at two weeks.
Adapting your forecasting approaches based on the time horizon will help you increase agility while communicating clearly.
And that's how you can get Unstuck in your forecasting!
-----
For more, subscribe to the Unstuck Agile newsletter!