Identifying Bottlenecks Using Queue Lanes

LK_blogPhoto_bottlenecks

Inevitably, every process has a bottleneck: There is some step that has a lower capacity than the steps before or after it. This may be because there are fewer resources dedicated to performing this step, or because it requires more time to complete than the other steps in the process. Regardless, this bottleneck is the limiting factor for the capacity of your entire system.

Bottlenecks pose a serious threat to flow. They promote wasteful habits like context switching, which slows down the delivery of value. The first step in eliminating a bottleneck is to identify it, but that’s often easier said than done.

A well-designed Kanban board can provide valuable insights into your team’s flow — where you’re delivering fast, and where work is piling up. Introducing queue lanes can help you pinpoint the specific cause of your bottlenecks, so you can move closer towards continuous delivery.

Basic Board Layout

The board example below reflects a simple process for developing a software feature. It starts with a Backlog for all new work coming into the team’s work stream. Next are the four basic stages of that work: Analyze, Develop, Test, and Deploy. Each card on this board represents independent features that this team is delivering.

Identifying Bottlenecks: Kanban Board Layout - LeanKit

Kanban promotes a pull system, in which a team only pulls in new work when they have enough capacity. This ensures that the team and the individuals within it stay under their WIP limits (read our three-part series on WIP limits here).

In this example, there is twice as much work in the Develop lane than any other lane, which could suggest a bottleneck in development. It’s important to have a conversation about the work to understand the reality of the situation. Some of the work in the Develop lane may be currently in process, but some of it may also be waiting to be pulled into the next lane. This board design does not delineate between these two states.

Adding Queue Lanes

We can make this delineation by adding two sub-lanes for each of the work lanes: In Progress and Done. These new Done sub-lanes represent queued work that is waiting to be pulled into the next lanes when there is capacity. You may also hear queue lanes referred to as buffer or waiting lanes. By adding these queue lanes, we can see that development does not have an issue with too much work — rather, our testers are overwhelmed and do not have the capacity to pull new work.

By visualizing our queues, we can immediately recognize the true bottleneck — in the Test step, not the Develop step as we might have assumed.

Identifying Bottlenecks: Adding Kanban Queue Lanes - LeanKit

Avoiding Duplicate Queues

Once you see the benefit of these Done queue lanes, you may be tempted to add more queue lanes, such as an upstream lane (Ready) to identify work the team has pulled but has not yet started. Resist that temptation. It creates duplicate queues that represent the same state as the Done step before them. Adding those lanes can make it more difficult to see bottlenecks, since the work that is stacking up could be spread across two lanes and may not be as obvious.

Duplicate queues can also encourage teams to push work from their Done lane into the downstream Ready lane, getting away from the pull system we are trying to promote with Kanban.

Identifying Bottlenecks: Avoid Duplicate Queue Lanes - LeanKit

Final Thoughts

Queue lanes make it easy to see the difference between work that is truly in progress, versus work that is waiting to be pulled into the downstream lane. Once you have added queue lanes, you can implement WIP limits that accurately reflect the reality of your team’s capacity. This understanding of your team’s unique process will help you continue to maximize flow — and move closer towards continuous delivery.

Tommy Norman

Tommy is the Lean/Agile Coach at LeanKit, ensuring that we embody the values and principles behind our product. He's the director for the Agile Nashville user group and the Music City Agile conference, and frequently speaks at local and national events. Tommy is a 9-time Microsoft MVP. His Agile training series has been the top selling Agile videos on Safari Books Online for the last two years. Connect with him @tommynorman.

2 thoughts on “Identifying Bottlenecks Using Queue Lanes

  1. thank you for useful thoughts!
    i have a question: what is closer to Kanban – ‘done’ lane at Dev or ‘ready’ one at Test? i think ‘done’…

  2. Thanks for the feedback. I definitely think having a “Done” lane is the way to go. This better supports the idea of a pull-based system, rather than pushing work downstream.

    Some teams may want to use a “Ready” column in the downstream lane because they feel like they got their work done, and it should not sit idle in their lane. You can get the “I got my job done, not my problem!” attitude as a response. This can lead to the culture of maximizing the efficiency of one part of a system rather than the whole.


Leave a Reply