Reading about Kanban, I often encounter things like buffers and queues being mentioned. But I don't understand the difference. For example:

enter image description here

A, B and C are queues or buffers? What's their role? What are the differences? For example, If I have A, do I need B, or do they serve the same purpose?

Can anyone clarify these concepts of queue and buffer in Kanban?


To effectively answer this, we have to remember that the purpose of a Kanban board is to visualize the flow of work. It is not quite as 1-to-1 as each column being a step of work, but that's a good place to start.

A and C are fine because they are not columns per se. A is part of the Development step and C is part of the Testing step. The soft line just indicates that the work is complete and ready for someone to pull the task to the next step. It is simply a visual indicator. You could replace the two sides by having a little green icon on cards that are ready to pull and be just as effective.

On the other hand, in your visualization, B should not be on your board. I'm assuming you are using the Ready For column the way most teams do - as a holding space. This does two things. First, it breaks your visualization. To illustrate, imagine that column is gone. A task is pulled by a developer into the left side of Dev so we know they started coding. When it moves to the right side, we know they've finished and it's ready to pull. Next, a tester grabs the card and pulls it into testing - we now know they started working on it. By watching the board, I can tell you how the work is flowing.

Now, let's add that column back in. Who pulls the card to "ready"? What work are they doing at this step? This is no longer representing work, it's just a pile where no one has responsibility for it.

The other practical problem comes in WIP. In Kanban, it is important that the whole system has some WIP constraint. This ensures an appropriate focus on flow and delivery of work. Queues don't typically have WIP, which creates a black hole in the middle of your process.

The typical reason these appear is because a bottleneck occurs. To work around the bottleneck, the team create's a pile to dump things so they don't have to slow down. There's a long list of reasons why this usually creates huge runaway problems for teams, but for this answer, let's just say that lean and Kanban direct the team to solve the bottleneck instead of allowing it to fester.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.