Kanban Guide

Kanban in action

Before we delve into the nitty-gritty of the Kanban Method, let's review
some key definitions.

Kanban Concepts

Kanban concepts

  • Backlog: Holding column for all work—upcoming
    projects, requests, and ideas—for teams to complete.
  • Input queue: Holding column for work that's ready to
    be started. Teams select tasks to prioritize from the Backlog and move them
  • Work, work-in-progress (WIP): Any task that needs to
    be completed. These fall into two main categories: Planned work, such as
    business and internal projects, and unplanned work, sometimes called
    “firefighting,” which occurs when something breaks
  • Flow: The process of work moving through stages, from
    initiation to completion.
  • Handover: Any instance of work between moved from one
    person to another. This usually occurs between stages. For instance, a
    developer “hands” her code over to QA to be tested.
  • Lead time: The amount of time from beginning to end of
    a process, or how long it takes a task, once started, to move through all
    stages to completion.
  • Touch time: The amount of time spent working on a
    given task, not including time spent queuing or waiting.
  • Bottleneck: The slowest stage in a production process.
    This sets the pace of every other production step.
  • Cadence: The regular rhythm or “heartbeat”
    of production. Individual steps have their own cadence, as does the
    process as a whole.
  • Throughput: The amount of work that passes through the
    system, from start to finish, in a given time period.

The Kanban Method

David J. Anderson's Kanban Method takes concepts from just-in-time
manufacturing and applies them to the production of intangible goods. While
it was initially designed for software development, Anderson's approach uses
simple principles that can be adapted to a wide range of contexts—not
just software. In this section, we'll examine each of these principles in

1. Mapping the value stream

The essence of starting with Kanban is to change as little as
-David J. Anderson

In order to improve your processes, you need to first understand them.
That's why the first stage in the Kanban method is to map your processes, or
“value stream” as Anderson calls it. This is where the Kanban
board comes in.

Here's how it works: Teams use columns on a Kanban board to represent
different stages in a workflow. How they define these columns depends on the
nature of the work they're completing—a development team's columns will
be very different from a marketing team's—but all boards have at least
three: An input queue to collect work that hasn't yet been started (to do), a
column to show work in progress (doing), and a column to show completed work
(done). Most teams will also have a backlog of work to collect new
tasks—once these are scheduled and prioritized, they can be added into
the input queue. Teams will also typically add columns in the middle to
capture the phases that work goes through from initiation to completion.

While columns show the different steps in a workflow, cards track the
movement of different tasks through the process. Depending on the board's
purpose, cards may be color-coded to represent different projects, kinds of
tasks, or even the size of the work. If several projects are occurring
simultaneously some teams may use rows, known colloquially as “swim
lanes” to differentiate between projects.

2. Limit work-in-progress (WIP)

WIP is the silent killer.
-The Phoenix

The second stage of the Kanban method is about limiting WIP so that no one
has to multitask, but everyone has something to do—the optimal level
for production speed and quality. To reach this level, teams need to limit
the amount of work that enters the system in the first place and also the
amount of work-in-progress at each step. They do this by setting limits on
columns—teams limit the input queue as well as each column in the
process. For instance, if you only have the capacity to test two new
features at a time, your testing column should have a limit of two.

Reducing WIP also has the benefit of revealing where bottlenecks are,
allowing teams to optimize their workload to match the pace of the
bottleneck. The goal of Kanban is to ensure that bottlenecks are operating at
capacity—meaning they are busy, but not overwhelmed. Non-bottlenecks
should have slack time, which will allow them to complete their work
efficiently and still have time left over for learning and improving their
skills, which will benefit the team in the long run.

3. Measure and manage flow

If the Kanban system is flowing correctly, the bands on
the chart should be smooth and their height should be
-David J. Anderson

The simplest way to determine whether the Kanban system is working
correctly is to watch your flow. Are the number of tasks across columns
generally stable? It's okay if your columns aren't even to begin
with—everyone needs to start somewhere. What teams should watch for is
whether work balances out over time. If column heights don't smooth out over
time, it might be necessary to revise WIP limits or add other interventions
to improve flow.

4. Make process policies explicit

Thinking of process as a set of policies is a key element of the
Kanban method.
-David J. Anderson

In order to ensure a consistent flow of work, everyone needs to understand
and support the process. Anderson conceives of the process as “a set of
policies that govern behavior.” These policies, which are typically
under the control of the team's manager include things like:

  • How to
    prioritize items from the backlog
  • What needs to be accomplished before work can progress to the next
  • What WIP limits are
  • Rules around time-sensitive or expedited requests
  • Handling blockages and other issues
  • Etc.

It's up to the leadership of a team to make sure everyone knows what these
policies are and follows them. One way teams can make their policies explicit
is to write them into the Kanban board itself—for instance, teams can
include their WIP limits on each column, so it's obvious how many tasks
should be in progress at a given moment. As teams learn from Kanban and
refine their processes, they should continuously update their policies

5. Use models to recognize improvement opportunities

I would further encourage you to expand your thinking and look to
a wider variety of models that enable and empower teams to generate
-David J. Anderson

Kanban is a process of continuous learning. When teams first adopt Kanban,
they'll be able to refine and optimize their processes just by putting the
principles of Kanban into practice. Once teams have been performing Kanban
for a while, however, these opportunities for improvement may be less
obvious. In order to keep advancing, Anderson suggests teams look at other
models and methodologies to see what areas of improvement they reveal. While
we won't be discussing any of these models in detail, advanced Kanban
practitioners may benefit from learning about the following:

  • Theory of Constraints
  • Systems Thinking
  • Variability (as conceptualized by W. Edwards Deming)
  • Muda (waste) in the Toyota Production System