Kanban Guide

What is Kanban?

After the end of the Second World War, the Toyota Motor Co. set a daring
objective: Catch up to America within three years. Back then, Japanese
automobile manufacturing lagged far behind American
powerhouses. Few outside of Japan took it seriously.

But then Toyota did it.

Toyota Motor Co. Koromo Plant in the 1940s
Toyota Motor Co. Koromo Plant in the 1940s | [Image Credit]:
Toyota

Production engineer
Taiichi Ohno set out to minimize as much inefficiency
within the manufacturing process as possible. He recognized the company's
habit of stockpiling excess inventory was hurting their productivity and that
“pushing” cars down the assembly line before stations were ready
to work on them caused blockages, resulting in wasted time and half-finished
products.

Ohno cut inventory down to the bare minimum and created a new system
relying on kanban—signboards—to ensure smooth flow of
products down the production line, allowing Toyota's factories to process
more orders, faster. The result was the
Toyota Production System (TPS), often referred to as
“lean” or “just-in-time” (JIT) manufacturing. The TPS
quickly became the gold standard for manufacturing and was soon being
emulated by factories worldwide.

In the early 2000s, software development was struggling. Engineering teams
had an inventory problem of their own—huge backlogs of work which
resulted in half-finished products, unpredictable delivery dates, and
burnt-out workers. Not unlike the postwar Japanese automobile industry.
Inspired by the Toyota Production System, David J. Anderson created the
Kanban Method.

What is Kanban?

In Japanese, kanban (看板) means “signboard” or
“signal card.” In a factory environment like Toyota, workers use
these signboards to signal upstream stations on the production line to
produce more. This ensures that each station only makes more products when
the next station is ready for new goods.

The Kanban Method devised by David J. Anderson—which we'll just call
Kanban (capital K) from now on—applies the manufacturing theories of
the Toyota Production System to knowledge work, particularly software
development. Simply put, “Kanban is an approach that drives change by
optimizing your existing processes,” explains Anderson.

Kanban is an approach that drives change by optimizing your
existing processes.
-David J. Anderson, creator of the
Kanban Method

Anderson's methodology is based on four main ideas:

  • Visualization: The most iconic feature of Kanban is
    the kanban board. The kanban board is a system of visual control
    which allows teams to map out their workflows from start to finish.
    Different columns mark different stages in the process, while cards
    (originally index cards or sticky notes) show tasks moving through the
    system. At its most basic, a kanban board could look like this:

    Kanban board

  • Constraints on work-in-progress: The more you take on
    at once, the slower your work goes—and the more likely something is
    to go wrong. The amount of work-in-progress in a system is directly
    proportional to risk. This also applies to “batch
    size” (size of one task). Larger batches comprising many steps take
    much more time to accomplish and are more prone to failure. Kanban uses
    small batch sizes to speed up cycle times, reduce risk, and gain frequent
    feedback, which results in an improved product. By trying to do fewer
    things at once, teams do better work, faster.
  • A pull system: The pace of production is not set by
    the fastest stage in the process, but the slowest. If you can build five
    cars a day, but only have the resources to paint two, you will only be able
    to produce two cars a day. It's more efficient to build cars at the rate
    you can paint them, so you can sustain a consistent pace of production.
    “New work is pulled into the system when there is capacity to handle
    it, rather than being pushed into the system based on demand,”
    says Anderson.
  • Continuous,
    incremental improvement:
    Continuous
    improvement, or
    kaizen, is built into the TPS. In fact, kanban
    is a key enabler of kaizen. As Taiichi Ohno
    explains, “The two pillars of the Toyota
    production system are just-in-time and automation with a human touch, or
    autonomation. The tool used to operate the system is kanban.” The
    goal of Kanban is for teams to continually improve their processes and
    become more efficient over time.

Anderson first tested Kanban at Microsoft in 2004, to great success. After
some further experiments at other companies, he began to share his findings.
Soon, the idea took off. It was quickly adopted by tech companies like Yahoo!
and spread around the world. The success of the method prompted Anderson to
codify it in his 2010 book,
Kanban.

How does Kanban work?

Kanban is a mirror.
It reveals your processes as they are, not what you think they are or want
them to be. While software development and other kinds of knowledge work may
not physically move along a factory production line, projects do move through
production stages from beginning to end—this is what Kanban
illustrates. In software, this is known as the development pipeline.

Development pipeline

Kanban begins by mapping these stages and figuring out how much
work-in-progress (WIP) is at each phase, using a kanban board. Here's an
example of what such a board could look like:

Kanban board (work-in-progress)

As teams begin to make incremental changes to their workflows, the kanban
board reflects these changes back to them. One key first step in Kanban is to
limit the amount of work-in-progress (WIP) in the entire system. This was one
of Taiichi Ohno's most important observations: Excess inventory slows work
down and results in a worse final product. Anderson recognized that this
principle applies just as much to virtual work as physical manufacturing. In
a knowledge work environment, more WIP incentivizes
multitasking—which is more inefficient and
ineffective than single-tasking—and draws out the time between feedback
cycles.

Less WIP allows team members to work on one thing at a time and complete
production cycles more quickly. These shorter iterations allow for faster
feedback, meaning that teams can correct problems quickly and design quality
into products from their earliest stages. In addition to improving
efficiency, reducing WIP helps reveal where bottlenecks are. For instance,
visualizing your team's work on a kanban board may reveal that you have the
capacity to design and build five new features simultaneously, but only test
two—meaning that testing is your bottleneck.

Once teams can identify their bottlenecks, they can begin to make small
changes to make the most of them. This is where the pull system comes in.
Teams can strategically implement queues so that a bottleneck pulls in new
work from earlier stages, when it's ready, not when earlier phases push new
work along. As a result of these improvements, the bottleneck may actually
move, and the process of identifying and optimizing it begins
again—that's the philosophy of kaizen in action.

Why Kanban?

Kanban is easy to start

“A strength of Kanban is that it does not start with an
anxiety-inducing upheaval,”
writes Kanban blogger
David Peterson. “It starts simply by mapping out the existing process
exactly as it stands.” This makes it easy for teams to start
implementing Kanban. Crucially, it also reduces fear around change.
“Asking people to change their behavior creates fear and lowers
self-esteem, as it communicates that existing skills are no longer
valued,” writes Anderson. By contrast, Kanban lays a foundation of
trust which enables ongoing, incremental improvement.

Kanban uses simple methods to promote sustainable improvement

We know from studies of human conduct that observation can be a powerful
driver of behavior change. In one
Dutch study, households with highly visible electric
meters used 30 percent less power than their neighbors whose meters were
located out of sight. They adjusted their habits in response to visual
feedback. Similarly, “Kanban will reveal opportunities for improvement
that do not involve complex changes to engineering methods,” says
Anderson.

Kanban is context-dependent

Kanban does not demand conformity. Rather, the method is adaptable to
diverse practices, team structures, and goals. Since Kanban relies on simple
changes to drive sustained improvement, these practices can be adopted in
almost any work environment with little disruption. Teams or individuals can
use Kanban in vastly different ways and still experience the same benefits of
shorter production cycles and better quality results.

Kanban creates a consistent, reliable production pace

By enabling teams to track, understand, and gradually improve their
workflows, Kanban helps practitioners establish a regular production cadence.
Regular, high-quality releases improve customer satisfaction and build trust
with other departments and stakeholders. A sustainable work pace is also
important for teams' overall well-being—it prevents people from
scrambling to meet last-minute deadlines, at the cost of their mental and
physical health.

Common Kanban misconceptions

Kanban is not a software development lifecycle methodology (SLDC)

Unlike other systems, “Kanban is not a
software development lifecycle methodology or an approach
to project management,” says Anderson. “It requires that some
process is already in place so that Kanban can be applied to incrementally
change the underlying process.” Teams use Kanban in tandem with their
existing SLDC and project management approaches to refine and optimize
them.

Kanban is not just a visual control system

“The way kanban boards make WIP visible is striking, but it is only
one small aspect of this approach,” writes Don Reinersten in the
foreword to Kanban. The board is a tool that enables teams
to reduce their batch size, implement a pull system, and strive for
continuous improvement. These techniques result in faster production cycles
and better quality output.

Kanban isn't just for enterprise software or IT

Kanban can be used for
all
kinds
of work. That's the beauty of Kanban: It's highly malleable to
different projects, workflows, and team structures. In fact, it's so simple
to learn that some families use the Kanban system to help kids manage
chores at home. Anyone, individual or team, who produces
some kind of output—be it software, blog posts, or even clean
laundry—can benefit from Kanban and customize their board to their
needs.