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 here.
  • 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 unexpectedly.
  • 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 detail.

1. Mapping the value stream

The essence of starting with Kanban is to change as little as possible.
-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 Project

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 stable.
-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 step
  • 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 accordingly.

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 improvements.
-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