Kanban in 5 Easy Steps

Sam McAfee
Sep 9, 2015 · 5 min read

The Basics

There are five main steps to implementing a Kanban system:

  1. Apply Work-in-Process (WIP) limits.
  2. Make policies explicit.
  3. Manage and measure flow.
  4. Optimize iteratively with data.

1. Visualize your workflow.

  • You map the process you currently use to deliver work product to the customer on a visual control board, either physical or digital.
  • Each column represents a step for adding value to a unit work. Make sure you map every step from conception to delivery to the end consumer.
  • You may optionally have columns in between steps representing necessary “wait states” or buffers.

2. Apply WIP constraints.

  • You implement WIP constraints in Kanban by only allowing a limited number of work units to be in any given column at a time.
  • The exact limit on a column depends on your context, but I have found the best number to be the number of individuals (or pairs) who do work in that step.
  • Work does not move into the next step until a space opens up for it.
  • The effect is a system where the end consumer gradually pulls work items through like a vacuum.

3. Make Policies Explicit.

  • Assign different classes of service to different work items. Common classes are “Standard” (FIFO), “Expedite”, and “Fixed Date” classes.
  • Some classes are allowed to skip to the front of the queue. The idea is that if everything is FIFO, a high cost-of-delay item can get stuck waiting behind a low one just because it arrived later in line. Or an unanticipated item causes other planned work to stop, while you address it.
  • If you split demand into classes, while some items may end up with slightly longer lead time, overall the flow is more smooth and regular.
  • We want to increase throughput, no doubt, but in business predictability is often worth a slightly longer average lead time. High throughput is less valuable if it is bursty and unpredictable.

4. Measure and Manage Flow.

  • We are optimizing for speed and quality simultaneously. The metric we use is cycle time, or its mathematical equivalent, throughput.
  • Cycle time is calculated by the average time it takes a unit of work to move through the system.
  • Throughput is the number of units that move during a given time period.

5. Optimize Using The Scientific Method.

Just as you would state a hypothesis as part of running a feature experiment , it is a good practice to think carefully before you modify the board willy nilly.

  • Make the change, and allow the team to use the board in that configuration for a period of time.
  • Measure whether it actually improves performance, and change it back if it doesn’t work.

Final Thoughts

Stories should be sized as the smallest shippable units of value. You don’t need separate cards for pieces of implementation (don’t have “chores”). The story is not done until it’s shippable. Don’t start another story if you are at your WIP limit. If you’re having trouble tracking what everyone is doing, your stories are still too large.

How are your teams doing?

Take our free product organization self-assessment and find out! Take the assessment here.


Startup Patterns

We help develop better technology leaders and build high-performing product development teams. Learn more at startuppatterns.com

Sam McAfee

Written by

I train, coach, and develop technology leadership in startups, small business, and enterprise. More at StartupPatterns.com

Startup Patterns

We help develop better technology leaders and build high-performing product development teams. Learn more at startuppatterns.com