Menu

Kanban: Toyota to Software Dev in 2 minutes

Episode 48 - 10 Aug 2016

Is it possible to summarise the basics of Kanban in just TWO MINUTES. Let's find out!

We'll start in a perfect factory, where everything runs like clockwork.

Then we'll look at an imperfect factory, where the machines run at different rates... and Work in Progress (WIP) builds up.

Work in Progress can hide a multitude of sins. These are issues that can be addressed - have to be addressed - if the WIP is to be reduced.

We need a mechanism for one machine to tell the previous machine that it's ready to receive more widgets.

Enter the now-famous Kanban Card.

The Kanban Card is the SIGNAL sent from one process to another to request more "widgets".

The Kanban Card is the mechanism - the enabler - for turning a PUSH system into a PULL system.

Although Kanban was born in the factories of Toyota, it has found favour in the world of Software Development.

In Software development, we don't have machines, but we do have processes.

We don't process widgets, but we do process tasks (stories)

And we can represent the processes and **tasks(( on a board.

In this case, the all-important PULL system is implemented without the need for a Kanban Card: an EMPTY (or nearly empty) column is the SIGNAL to the previous column to "send more tasks"

With low WIP comes the advantages of:

  • Shorter cycle times,
  • Faster throughput, and
  • Less waste

Today, I'm going to attempt to "do" Kanban in 2 minutes or less.

Back to the factory floor

Here's a super simple factory: just two machines.

In ideal world, the machines operate at the same pace, and work flows smoothly from "To do" to "Done".

But what if Machine 1 is faster? A pile of widgets builds up in front of Machine 2.

This "Work in Progress" pile is a problem.

There are obvious costs:

  • there's money tied up in each of these items.
  • and the physical space that this "queue" takes up also has to be paid for.

And there are less obvious costs. Like a high tide over a rocky shore, a generous helping of work in progress can hide a multitude of sins, including:

  • machine downtime
  • set-up time
  • and quality issues

Reduce the Work in Progress, and these hidden issues become issues that can be - need to be - addressed.

Kanban Card

But how?

By having Machine 1 process items ONLY when Machine 2 is ready to receive it.

Machine 2 needs to signal to Machine 1 that it's ready; the signal is in the form of the now-famous "Kanban card".

No longer are widgets PUSHED through the factory. The are now PULLED.

The Kanban system was born in the factories of Toyota but has found favour in software development:

  • We don't have machines, but we do have processes.
  • We don't process widgets, but we do process tasks.

And we can represent the processes and tasks on a board.

In this case, the PULL system is implemented without the need for a Kanban Card: an empty (or nearly empty) column is the SIGNAL to the previous column to "send more tasks".

With low Work in Progress come the advantages of:

  • Shorter cycle times
  • Faster throughout
  • And less wasted time