Borrowed Time: Kanban Flow Debt
Excessive debt slows progress and can become a huge burden. However, debt is not always bad and can be necessary to meet project goals. Nevertheless, debt must eventually be repaid.
Flow debt in Kanban project management works according to the same principle. In this article, you will learn how Kanban flow debt is defined, how to measure it, and how to prevent your flow debt levels from increasing in an uncontrollable manner.
What is flow debt?
Flow debt is when the cycle time of a task in progress is reduced by borrowing cycle time from other tasks in progress. Team members preferentially work on this task at the expense of others in the process. Any shift in priorities, deviation in the management focus, or other interruption in the middle of the process can generate flow debt.
As with financial debt, the short-term benefits of accumulating flow debt can be worth the long-term costs associated with it. Focusing all team efforts on resolving an emergency may be the best course of action. In these cases, it is essential to understand how build-ups of flow debt affect your whole process.
The delay of other work items is the less costly effect of the flow debt. What is more crucial is that the flow debt has a negative impact on the predictability of your whole Kanban workflow and makes your estimates less accurate.
Measuring flow debt: Approximate Average Cycle Time
The cumulative flow diagram is an extremely powerful tool to analyze the efficiency of your flow over time. The horizontal distance between any two lines on the CFD represents the approximate average cycle time for the chosen workflow stages.
The CFD can only show us an approximate average cycle time because there is no way to verify if the tasks that are entering the process are the same as the ones that are leaving. The CFD does not tell us how much time any task has spent in the process.
The process data used to generate a cycle time scatterplot gives the exact average cycle time for a chosen time period, calculated from the cycle time of each delivered task. The difference between the approximate average cycle time and the exact average cycle time represents the Kanban flow debt.
When the approximate average cycle time is close to the exact average cycle time value, all tasks are moving through the process at around the same rate. No tasks are being completed much faster or slower than this average. When the approximate average cycle time is greater than the exact average cycle time, work items are getting stuck in your process. You are accumulating flow debt – the greater the difference, the greater the debt.
Little’s Law Assumptions
Complying with the Little’s Law assumptions increases the predictability of your Kanban process. The fourth assumption is:
“The WIP average age should remain the same, neither increasing nor decreasing.”
Accumulation of flow debt means that the WIP average age will increase, violating the Little’s Law assumption. As the level of flow debt increases, your system becomes more unpredictable and your estimates become more inaccurate.
What process scenarios lead to Kanban flow debt?
Frequent expedited/emergency tasks
Kanban teams using Classes of Service generally have an emergency/expedite class. The policies of this class often allow WIP limits for each stage of the process to be violated for one emergency task at a time.
When an emergency task is pulled into the process and no team members are available to work on it immediately, someone must stop working on a standard task. This artificially ages the standard task in favor of the emergency task and creates a flow debt.
The flow debt repayment cost of longer cycle times for the standard tasks can be worth the benefit for severe emergencies. However, it is important to not fall into the trap of making all high priority tasks emergencies.
Lack of pull policies in place
Tasks should be processed in the order that they arrive. If this policy is not implemented, the team naturally focuses on high priority tasks in progress. Eventually, routine, low-priority, and maintenance tasks in progress get neglected and ignored. Low priority tasks have a way of becoming high priority problems when they are left alone for too long – make sure they are worked on at the same rate as the rest of the tasks.
Tasks that are blocked from moving from one process state to the next can also cause accumulation of Kanban flow debt. Adopt a process of early feedback about impediments and potential blockers – Kanban meetings are a great way to check in with your team and other stakeholders. Ensure that your team understands the importance of being proactive. Blockers that are identified early in the process can be taken care of before flow debt begins to accumulate.
It is normal for a team to have a natural ebb and flow as some tasks are completed faster than others. Small amounts of flow debt occurring on a short term basis are not causes for alarm. However, it’s important to keep track of how long tasks spend in the process. If the age of your oldest tasks are getting further and further away from your average cycle time, it’s time to take a closer look at your process and policies.
Have you experienced accumulating flow debt? What was the cause of that situation? How did you resolve it? Tell us about your experience in the comments!
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.