When Will It Be Done: Project Forecasting in Kanban

Nikolay Tsonev

Nikolay Tsonev

Product Marketing | PMI Agile | SAFe Agilist certified

Table of Contents:

Traditionally, answering the question "When will it be done?" happens in a deterministic way where teams prepare strict deadlines for their projects.

And while this approach works for stable projects, operating in a volatile environment requires a way to reflect our plans' uncertainty. This calls for probabilistic planning, where project managers communicate possible outcomes (forecasts) instead of specific dates (estimates).

Project Forecasting vs. Estimating in Agile and Kanban

As you are probably familiar, the standard way of making predictions in Agile is by measuring the size of work items (in story points) and tracking velocity. However, this approach poses some problems with predictability.

A common phenomenon is when two or more work items, estimated with the same amount of story points, have different completion times. This creates discrepancies in our capabilities and leads to spending valuable time re-estimating.

Furthermore, story points don't account for components such as high amounts of WIP, time spent in queues, and blockers. But those are all factors that influence when a project will be done.

That's why to create predictability, we should focus on project forecasting by using historical data. In Kanban, for example, we measure metrics such as lead time, cycle time, and throughput. Combining them gives you all you need to simulate different probabilities of project completion.

To accomplish this in practice, you need a system that collects and processes the data. This is where Kanbanize by Businessmap can help.

How to Forecast Projects with Kanban and Kanbanize?

The main focus of Kanban is on flow management. The idea is to progressively evolve your work process by measuring workflow data and then using it to achieve more predictable service delivery.

With Kanbanize, you can collect that historical data and then apply Monte Carlo simulations to derive a given certainty of when a project will be done or how much scope you can complete by a specific date.

forecast probabilities of project delivery with monte carlo simulationsForecasting probabilities of project delivery with Monte Carlo simulations

For example, instead of giving promises that "X" will be completed by the 4th of June, you can use your past performance to forecast that there is 85% certainty for "X" to be done by then. Through the Monte Carlo simulation, you can also segment your data based on your work process structure. This will give you a more refined probability of when something could be completed.

filter workflow data based on your process structure to create refine project forecasts with monte carlo simulationsUsing filters of workflow data to refine project forecasts with Monte Carlo simulations

Before you can start doing all of that, however, there is a necessary prerequisite - your workflow's stability.

Laying the foundations of a stable workflow

In Kanban, project forecasting is tightly related to how stable and predictable your workflow is. In other words, you need to balance work arrivals with departures, monitor increasing WIP, and alleviate bottlenecks to maintain a smooth flow.

With Kanbanize, for example, you can place WIP limits on your Kanban boards and focus your team's attention on finishing rather than starting new work. Furthermore, with the help of Cumulative flow diagrams, you can track how work is flowing through your process.

cumulative flow diagram for workflow stabilityCumulative flow diagram

The important thing here is to spot if bands are expanding. If that's the case, more work arrives than departures your process, which is likely to accumulate lengthy queues (bottlenecks). This will increase your cycle time and negatively impact your system's predictability.

spot queue columns and bottlenecks on a cumulative flow diagramVisualizing queue columns and bottlenecks on a cumulative flow diagram

Ensure that you analyze your workflow regularly and limit WIP, so you can soon start to see a more stable and predictable workflow.

Forecasting projects with historical data

Once we have the above prerequisite, it's time to start making our forecasts using the software platform. For every project you create in the system, you will notice a special tab called "Forecast".

how to access the forecast features on every project card that you create in kanbanizeForecast feature

For the sake of the example, let's say that you are undertaking a project to improve your product's UX design. You've collaborated with your team to prepare the initial scope, and you've broken it down into some work items.

As we mentioned above, we use Monte Carlo simulations for project forecasting.

That's why the "Forecast" tab includes integration between them and the historical data of the broken-down work items. This is done to run simulations based on similar tasks (to the ones in your current project), which you've completed in the past.

As a result, the system will populate different outcomes for the completion of the project: "optimistic", "realistic", "pessimistic", and "very pessimistic".

see different possible outcomes for project deliveryVisualization of project delivery outcomes using the Forecast feature

There are a few important things to mention here.

First of all, you should decide what certainty you want to commit to. As you can see from above, I've chosen the 85th percentile, which means that (based on my historical data) there is an 85% chance of the forecasted duration being correct. If you want to increase the forecast's certainty, though, you can select a higher percentile (ex. 95%) which will result in longer durations.

Furthermore, another important parameter is the "Scale" function. This helps you assess the complexity of the project and the parallelism of its work items.

use the scale factor in kanbanize to reflect complexity of projects and parallelism of its work itemsVisualization of the project delivery outcomes, including work items' complexity factors

For example, let's say that for the engineering design project, you've identified that roughly 30% of your tasks will need more research than usual. To reflect this in your plan, you can lower the "Scale" indicator from 1 to 0.7. As a result, you will be able to integrate that uncertainty within your original forecast and increase its duration by approximately 30%.

Disclaimer: This is a premium feature in Kanbanize by Businessmap, which is in official beta. To learn more about it, visit our knowledge base.

It's important to remember that all of this will not happen right off the bat because you need to gather historical data on your throughput and cycle times. Still, even a few completed projects will enable you to start planning in a way that reflects the uncertainty that befalls most knowledge work projects nowadays.

As a result, you will create forecasts based on what really happened and not what you thought might happen (estimation).

Benefits & Use Cases of Project Forecasting

Let's take a look at some of the key benefits of project forecasting, including a common use case.

  • Answer the question "When will it be done" - This is a common question among PMs. The problem is that in a knowledge work environment, it's very difficult to give a clear answer because requirements frequently change.

    A common use case is when you get asked during a meeting with an important stakeholder. Instead of trying to predict the future, with project forecasting, you can communicate an "optimistic", "realistic," and "pessimistic" variant of project delivery with a given probability. This allows you to factor uncertainty in your plans, create buffers, and reflect your team's real capabilities.

  • Save time from estimating and re-estimating - While estimating might be your only choice to plan when you don't have sufficient data yet, it shouldn't be your "go-to" solution. Estimating practices takes the time that could be spent on delivering actual value.

    With project forecasting, you need to focus on increasing the predictability of your process. Then make sure that you discuss the complexity of the project and your team's available capacity. The forecasting algorithm will take care of the rest.

  • Quickly adjust your plans - A common scenario for knowledge work projects is for a new scope to be added midway through the project. When you have an automated system that runs thousands of simulations to predict future outcomes, you don't have to estimate the new work manually. Just add it to the project, determine how it affects your "scale" factor, and run the simulation.

Take Small Steps & Continuously Improve

Project forecasting is a vast topic that I am only scratching the surface of. There are a lot of factors that you need to consider before starting to make accurate forecasts.

Still, the concept is important. You can estimate in the beginning but ensure that every day you take another step to making your process more predictable. This will allow you to continuously improve your forecasts and eventually create truly agile plans for your projects.

Tags

Product Help Topics

Nikolay Tsonev

Nikolay Tsonev

Product Marketing | PMI Agile | SAFe Agilist certified

Nick is passionate about product marketing and business development and is a subject matter expert at Businessmap. With expertise in OKRs, strategy execution, Agile, and Kanban, he continues to drive his interest in continuous improvement. Nick is a PMI Agile and SAFe Agilist certified practitioner.