How to Enable a Stable Delivery System in 2 Easy Steps (Even if You’re Just Getting Started!)
What is the main prerequisite to enabling sustainable predictability and making reliable delivery forecasts? Is it to slice your stories into even pieces? Or, you’ll probably need to have a ton of data to base your delivery prediction on. Not even close!
The main requirement to producing reliable probabilistic forecasts is to enable a stable delivery system. In fact, if you don’t maintain a stable system, nothing will work. You’d be better off buying a pair of dice and rolling them. You would have the same probability of achieving your goals.
I was talking to one of our customers the other day about how to get management on board with Monte Carlo so that they could leverage one of the most effective approaches to making accurate delivery commitments. This is what he said in a thread in our Slack community:David made my day with that statement! And he was absolutely right. When it comes to dealing with the uncertain and unknown in an effective manner, product management and gambling have a lot in common. As to establishing delivery commitments we should, once and for all, stop asking “When will this be done?” and start asking “How much risk are we willing to take?”.
The fact is that the tools will do the rest of the job for us. It is simply a matter of spending a couple of minutes on coming up with a range of delivery dates, alongside the probabilities that come with each of them, which can be done by using our past performance data.
The challenge does not come from the concept of Monte Carlo. The math behind the simulation is fairly simple. The main challenge comes from whether or not you’re in charge of your management practices.
The ultimate approach to figuring out whether you can trust your data to produce reliable delivery predictions is to evaluate the stability of your delivery system.
What Is a Stable System?
A stable system is a predictable delivery system – one that enables you to make reliable data-driven decisions and produces accurate probabilistic forecasts. The secret here is consistency. In its most simple form, your delivery workflow will operate as a stable system when you are maintaining a consistent work in progress and a consistent average age of work in progress at the same time.
From a predictability point of view, sustaining a stable delivery workflow is crucial.
There are a few conditions that need to be present. However, the two most important are, firstly, the average arrival rate of your process should be equal to the average departure rate and secondly, the average age of the items in your workflow should remain the same, neither increasing nor decreasing.
Let’s look into both of these prerequisites in more detail.
The Average Arrival Rate and Average Departure Rate of Your Process Should Be Roughly Equal
If the work comes into your workflow faster than it leaves it, this is a clear indication that your system is unstable. From a predictability perspective, this is disruptive, because a constant increase in your work in progress inevitably leads to a constant increase in your delivery times. How could you be predictable in a world when your delivery times are constantly increasing? You can’t.
When evaluating the arrival and departure rates of your workflow, the Cumulative Flow Diagram comes into play.The top line of the graph represents the arrival rate of tasks while the bottom line shows their departures. In order to maintain a stable delivery system, we need to monitor how these lines move over time.
The vertical distance between the top and the bottom lines represents all work in progress (WIP). If WIP is decreasing, the distance between the lines will start shrinking. This means that work is being completed faster than it arrives. It’s a signal that we have the capacity to handle more work.
If WIP is increasing then the distance between the lines will expand. This means that the arrival rate is higher than the departure rate, and it denotes that there is a bottleneck in the system, which means your team is struggling to deliver results. As WIP increases over time, our delivery times increase as well.
To maintain a stable process strive to keep your WIP as consistent as possible. If the WIP is consistent, arrival rate and departure rate lines will grow in sync and the distance between them will stay equal.
THE ULTIMATE GUIDE TO
READING THE CUMULATIVE FLOW DIAGRAM
How to Recognize the Most Common CFD Patterns and What They Mean for Your Workflow
The Average Age of the Items in Your Process Should Not Be Increasing or Decreasing over Time
Maintaining consistent average age of WIP is the second prerequisite to enabling stable delivery systems. The age of a work item is the time it has already spent in progress. It is measured as a subtraction of today’s date and the start date of that item.
So, your WIP average age is the amount of time that all of your work items have spent in progress on average. The WIP age and cycle time are essentially the same metric, only cycle time is measured against completed tasks, whereas the age of a task is a measure concerning tasks that are still in progress.
You can measure your WIP average age and see how the trends build over time with the Aging Chart from Nave.One more time, when it comes to enabling stable delivery systems, the secret is consistency. If the average age of your work stays roughly equal on a daily basis, then its trend line will be linear; neither increasing nor decreasing over time. This means that your WIP average age is consistent.
If you have items that are stuck in your process, waiting and aging artificially, that behavior will impact your predictability tremendously. Eventually, these items will be released at some point in the future. Once they are completed, they will have a radically different cycle time than the rest of the work items that have been finished before.
If you’d like to explore our proven roadmap to optimize your workflows for predictability and enable stable delivery systems, I’d be thrilled to welcome you to our Sustainable Predictability program.
Your 2 Easy Steps Towards Enabling a Stable Delivery System
It’s important to take into account both of these prerequisites in conjunction. If you only have arrival and departure lines that grow in sync, but your WIP average age is consistently growing, you don’t have a stable delivery system. The other way around applies as well. Both of these conditions need to be valid before you can consider your system to be a stable one.
Here are the steps that you can take (starting as early as tomorrow) to enable a stable delivery system.
Step #1: If you haven’t implemented WIP limits just yet, make sure that at least you have a policy in place, that will enable you to manage the amount of work available at any one time in your workflow. That policy could be something very simple like “Don’t start anything new until you finish something old”.
That way, you lead your team towards a mutual agreement of finishing outstanding work before they pull new work into the workflow. Essentially, the purpose of that policy is to limit the amount of work in progress available at any one time. This will quickly shift the focus and encourage everyone to stop starting and start finishing.
Step #2: Then, if you haven’t started measuring the age of the items in your process, the most simple thing you can do during your Standups is to look into the time your work items have spent in progress so far.
And your approach to addressing the situation has the potential to make or break your ability to achieve more predictable results. If there are work items that are taking significantly more time than others, instead of asking ‘What is taking so long?’, ask ‘Is there anything I (or anyone else in the team) can do to make sure we enable the work to move further’. Your ultimate goal is to manage the work, not the workers.
Using this approach, you will not only keep a finger on the pulse of the work and make sure you act quickly if any impediments arise along the way, but you will also enable a supportive environment, in which you can have the right conversation at the right time to get back on track and sustain the stability of your system.
The more stable your system is, the more predictable it becomes. And predictable systems produce accurate delivery forecasts.
Meet the Author
Sonya Siderova is a passionate product manager and a driving force behind Nave, a Kanban analytics suite that helps teams improve their delivery speed through data-driven decision making. When she's not catering to her two little ones, you might find Sonya absorbed in a good heavyweight boxing match or behind a screen crafting a new blog post.