Queue Limiting: The Whole Point of Kanban

Kanban (看板) is a system for tracking the many-staged process of making something and delivering it to customers, and making sure problems in that production pipeline don’t get out of hand. Seemingly paradoxically, they do this by making problems in one part of the process become problems for everyone. That way, they actually get fixed – instead of being considered not-really-problems.

I included the Chinese characters (above) not because it’s exceedingly exotic, but because the characters only mean people should be looking at a board. Suffice it to say, the dominance of the Japanese manufacturers who adopted these systems wasn’t driven by silly Americans not looking at boards enough.

Kanban requires that each stage in the production process has limited inventory. If any stage has reached their inventory (or backlog) limit, it stops the preceding step from claiming their work is done (essentially, by refusing delivery). As Wikipedia says, “An English-language term that captures the meaning of the Japanese word, kanban, is queue limiter; and the beneficial result is queue limitation.” This helps identify (and have the whole business work towards fixing) the bottlenecks that arise – the places where, if they are improved, the whole business works faster.

I hope that was clear, but to make sure it sinks in: if people can just pile more and more crap on your desk instead of helping you and fixing the process, that’s just describing the system, not improving it. And it certainly isn’t kanban.

It turns out that many, many businesses are improved by developing systems to minimize inventory, so faking this effect whiffs hard, and ultimately serves to grab money from the business owner’s pockets. Software people in particular have adopted many different “Agile” systems to try and capture these benefits, Kanban tools being notably among them, but very few seem to even understand why they’d want to use these systems.

For instance, look at this picture of a popular “Kanban” tool in use. It’s a massive mess of tasks, and only one column (which is “helpfully” labeled “Buffer”) has any limit – and it’s been massively exceeded!

Or look at this example usage of another popular “Kanban” service. Again, only one stage in the process appears to have any limit at all, and this time it’s the bizarre “In Progress” column. Of course it’s in process. Everything is in some stage of the process. And since we exist in linear time, there is already a limit to how much we can do at once. It seems apparent that their nominal queue limiting won’t help.

More bizarrely, the example seems confused about what Kanban is for. It’s for seeing how different parts of the process of building things interact – pitching an idea, deciding on the product details, development, design, testing and delivering to customers are all good column ideas. “Do Today” is a subsection for a To-Do list.

It might be helpful to remind readers: businesses pay for the above services. They are on the first page of Google results on the topic. As far as I can tell, very few software products do this right (although I imagine the systems used by Toyota are great).

The core idea is simple enough. Add the relevant stages to your production pipeline, and then start introducing deliverable projects you’re working on. Here’s how you really get those sweet sweet supply chain benefits (this is just a proof of concept – if I wanted to base a business on forcing people to learn things I’d obviously charge quite a lot more than nothing for the product).

Queue Limiter: Kanban Made Simple