How Forecasting Forces Reality Check

3 minutes

In this article, I would like to explain how forecasting can be used in the field of software development and how it supports to avoid wrong expectations to stakeholders and leadership. Specifically, I am focusing on agile methodologies like scrum or kanban which is common practice in software development nowadays.

Forecasting is used in various fields. Everyone knows daily weather forecast and everyone likes to complain when forecast is different from reality. Another well-known forecast is the “economic forecast” in Germany which is usually subject of many press articles every year.

When it comes to agile project management, we are usually in a field of high uncertainty. My observation is that this uncertainty leads to huge over- or underestimates. Forecasting helps to get a more realistic overview what can be achieved at which point in time.

What is Forecasting?

Forecasting is defined as making a prediction about the future based on past or present data. In this article, formal statistical methods are used.

Any forecast starts with a predefined model. It is a simplified version of the software development process. A model has input parameters which are vague before a project starts. They become more accurate over time when we learn more about the project, the product and its features.

A very common method is the Monte Carlo method. Based on historical samples, it does a so-called “random walk” until a milestone is done. This step is repeated multiple times.

The Role of Cognitive Biases

We are highly influenced by many biases which exist evolutionary. This leads to overestimating or underestimating efforts in software development projects. We do have an illusion of control; we believe to know when depending on teams have capacity. Likewise, we overestimate less competent people while we underestimate knowledgeable people. Another typical bias is to overestimate the accuracy of our own judgment, especially when we mix up correlation and causality.

When we talk about such biases, forecasting can be helpful to reduce cognitive biases. In fact, this is what I mean by “reality check”.

Of course, there is also the trap that we deeply believe into “data” without questioning anything, and this is subject of the next section.

Further Challenges and Risks

Predictions are always difficult, especially when they concern the future.

Nowadays, people tend to have a strong belief in data. People simply trust any output without questioning if the result makes sense. Some weeks later, disappointment and mistrust becomes high when reality is diverging from the previously predicted result.

From this point of view, it is very important to understand that any forecasting is a suggestion or another tool of many other tools to establish clarification. The output of all forecasting models needs verification on a regular basis. If an output does not make sense, that is a call for an explanation, otherwise such result is useless and misleading.

It is also important to understand that forecasting cannot make any decisions about how to set milestones or due dates. Such a decision always needs transparency and clarification with the entire team so that every team member understands risks, buffer and boundaries. A team that must contribute to a milestone and is confronted with a forecast, does not need to understand details about the model. However, it must know which input parameters were taken to calculate the forecast. Without such transparency and clarification, it cannot commit, and without commitment any milestone is useless. I have experienced multiple times if there is an understanding of forecasting and if commitment is achieved, it is very relieving to the team members.

Conclusion

In this blog post, I provide a definition of forecasting and I scratch on the surface about Monte Carlo simulation which is used in many forecasting models. There are risks in case forecasting results are taken for granted without questioning anything. Risks can be mitigated by providing transparency and clarification to everyone involved when forecasting is used.