Kanban: Toyota Corporation to Software Development

Episode 25 - 02 Mar 2016

The system that we know as "Kanban" can trace its roots back to the late 1940's.

Has modern-day Kanban stayed true to its roots?

Or have we thrown out the baby with the bathwater?

Key take-aways:

  • Kanban originated in the world of manufacturing.
  • WIP - Work in Progress - represents a cost to the busines: there's money tied up in each item; each item takes up floor space, etc.
  • Mr. Taiichi Ohno of Toyota set out to solve the problem of excess WIP
  • He changed the production system from "push" to "pull"
  • The emabler for the pull system was the Kanban Card
  • The Kanban Card signals to the previous process to "send more stuff"
  • Kanban is a Japanese word that roughly translates as signboard or billboard

This is a Kanban board. How many Kanban cards do you see?

Keep that number in mind.

Back to the factory floor

As you may know Kanban originated in the world of manufacturing.

Here's a machine for processing... err... Things!

Thinks arrive from the left, are processed through the machine

And then move off to the right.

So far so good.

But what if things arrive at a greater rate?

Slowly but surely things start to back up to the left of the machine.

Excess Work In Progress (WIP) is expensive

This build up is a problem. There's more work in progress that there needs to be.

And that represents a cost to the business in a couple of ways:

  • There's money tied up in each of these Things
  • The Things are taking up floor space... which also has to be paid for.

Mr. Taiichi Ohno

This is the problem that Mr. Taiichi Ohno of Toyota set out to solve.

He borrowed a trick that he spotted in an american supermarket.

Mr Ohno observed that store shelves were stocked with just enough product to meet consumer demand.

The inventory would only be restocked when there was a visual signal - in this case, an empty space on the shelf.

To transfer this to the factory, Mr. Ohno needed a way for one process to "ask" the previous process for more stock.

The Kanban Card

Enter, you guessed it, the Kanban card.

Our machine processes a thing...

and despatches a Kanban card to the previous process.

Kanban roughly translates as signboard or billboard.

The Kanban card is a signal to the previous process to send a Thing along.

Naturally, what's good for the goose is good for the gander.

Our original machine is subject to the same rule:

It should only be processing in response to demand.

Meaning... another Kanban card.

As thing stand, the work in progress is just about as low as it can be...

... but it's also slower than it might be.

We can speed things up by allowing a - strictly limited - bit of Work In Progress.

Notice that the additional things are held to the right of the process that's just processed it.

That's important, because it means that each process is in control of its own Work In Progress.

Kanban for Softwar Development

Can you see how this relates to the (software development) Kanban Board?

The processes... are columns.

The Things... are the tickets

The Kanban cards are... nowhere to be seen!

Have we thrown the baby out with the bathwater?

Not quite.

The Kanban cards are with us in spirit if not in body

The important part about the Kanban system is the signalling.

This column signals its need for a ticket by virtue of its... err... emptiness.

Much like the empty space on the supermarket shelf.