The Top 3 Benefits of Introducing Queue States to Your Kanban System Design
Using queue states within our processes is the cornerstone of achieving high flow efficiency. Introducing queue states to our system designs not only enables us to manage our work effectively but also uncovers opportunities for improvement that wouldn’t otherwise be visible.
The component that contributes the most to your delivery times is the waiting time your work accumulates in the system. Waiting time can quickly pile up, and this can be due to a wide range of factors – internal or external dependencies, more important work items that take over, lack of capacity in a certain process step or defects that arise, just to name a few.
The most efficient way to improve your delivery times is to minimize the waiting time in your workflow. When attempting to improve your efficiency, focus on the impediments that hinder your delivery speed. This is the easiest and cheapest area to investigate first. Then, put queue states in place, as this will be of invaluable help in achieving that goal.
What Are Queue States in Kanban?
Let’s start with the basics. Queue states are one of the main components in a Kanban pull system.
The different states of a workflow represent activities. In a pull system, every column that visualizes activity is split into a ‘Queue’ column and an ‘In progress (IP)’ column. For example, if a task passes Development, it moves to the ‘Testing Queue’ column.
Queue states are passive since no one works on tasks in them. In our example, ‘Testing Queue’ is the queue from which testing teams pull tasks ready for testing once they have the capacity to handle new work. By pulling work, teams eliminate multitasking and stay focused. This leads to increased throughput and reduced cycle times.
Queue states don’t need dedicated WIP limits. Keeping that in mind, workers with free capacity should avoid falling into the trap of pulling more work. Otherwise, your process will get stuck. To prevent this from happening, make it explicit that the number of tasks in a queue state counts towards the WIP limit of the current step.
For example, if you have a Testing column with a WIP limit of 5 items, then the tasks in both Testing Queue and Testing columns have a limit of 5 items in total.
You should never have infinite queues in a pull system. Every column in a pull system should have a WIP limit. A pull system is a WIP-limited system, always.
Top 3 Benefits of Using Queue States
If you’re still not convinced of the power of queue states and their contribution to improving your efficiency, I’d like to present a few different perspectives that clearly expose the benefits of this technique.
#1 Queue States Facilitate Collaboration
As your work moves through the workflow, it goes through the steps of knowledge discovery. This requires effective collaboration within the team to make sure the work moves forward quickly.
How do your test specialists know that there is a work item ready for testing? Do the developers post on Slack (or its equivalent) every time they are ready? This approach has the potential to interrupt the work of the testing team. It will distract them.
Every time you switch the context, you hinder your productivity. Trying to process multiple tasks simultaneously results in switching costs, also called the Cognitive Switching Penalty. This is the friction that happens when your brain tries to shift focus from one subject to another. It is estimated that the “Cognitive Switching Penalty” per task could be at least 10%.
By simply introducing a Testing (Queue) state, your development team will move the work to that queue state. Then, once the testing team has the capacity to start new work, they will pull from that queue column.
Essentially, you’re introducing an in-built mechanism that clearly communicates the current state of each piece of work. Your board becomes the single source of truth.
#2 Passive States Enable Effective Work Management
Let’s assume that you don’t use Slack for that purpose and you just move your work from Development to Testing. The problem with this is that you are essentially pushing the work to the testing team. They haven’t started the work just yet but the board communicates that the work is already in progress.
This is inherently misleading and it prevents us from seeing the bottleneck in the system. Without queue states, it is hard to determine which work items are in progress and which are stuck waiting in the process.
Let me ask you a question. In terms of flow and effective work management, which of the following is better (choose #1 or #2).
#1 A developer has finished a work item and they moved it to Testing. All the work in testing is considered in progress, so they pull the next work item from the backlog.
#2 A developer has finished a work item and they moved it to the Testing (Queue) column. It turns out that this is the 10th work item in that queue state. Instead of pulling a new work item from the backlog, the developer decides to help the testing team and enable the work to move further in the process.
I hope we all agree that #1 doesn’t represent the optimal solution. #2 is what enables us to work more effectively and deliver faster.
#3 Queue States Expose Opportunities for Improvement
Without queue states in your system design, how do you know how much time the work is kept waiting in the process?
You can’t improve what you can’t measure. Once again, your queue states are passive. They are containers for waiting time. The focus of your team should be to pull the work from the queue states as soon as they can.
When it comes to measuring the waiting time in your system, the Flow Efficiency Chart is a fantastic tool. It enables you to track the flow efficiency of your work items as well as your average flow efficiency. You just select your Queue states in the Controls section and it will do the rest for you.
Once you’ve identified the tasks with the longest waiting times – those on the left side of the chart – think about the reasons behind their delays. The higher your flow efficiency is, the faster and smoother the tasks will flow through your process. You can also assess how your efficiency trends changed over time, then use this information to evaluate your improvement efforts. The line chart on the top has this exact purpose.
And I’d like to emphasize something important here. The numbers behind your metrics are not what matters the most. If you observe that your flow efficiency is very low, don’t worry too much about it. What is important is to measure it consistently and keep track of your trends.
If the trends are getting better over time, this means that your improvement efforts are paying off. If not, you should go back, acknowledge the changes you’ve made, and think about why these changes didn’t produce the outcomes you were hoping for. Then discard them and look for an alternative.
If you’re striving to build a stable delivery system and achieve consistent predictable business outcomes, I’d be thrilled to welcome you to our Sustainable Predictability program.
If you’ve never used queue states before, my best advice is to start with introducing just one – right before the state that takes the longest time in your workflow. You can identify that state by analyzing the breakdown of your cycle times.
Observe the results and adjust your course accordingly. That way, you enable an environment of continuous improvement, in which collaboration and engagement thrive.
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.