The Kanban
Playbook
A practical, question-driven guide to implementing Kanban. Select a question from the sidebar or choose a chapter below to get started.
This playbook is a practical field guide for teams and coaches implementing Kanban. Each article answers a specific question you are likely to encounter when designing or improving a Kanban system, whether you are just getting started or working through a stubborn flow problem.
This playbook is not a replacement for an experienced Kanban practitioner. Every workflow is different. A skilled PKT brings the ability to read your specific system, ask the right questions, and help your team understand what the data is actually telling you. No guide can substitute for that judgment. What this playbook can do is help you understand the reasoning behind Kanban practices so you can have better conversations, make more informed decisions, and know when to ask for help.
This playbook is also not a replacement for The Kanban Guide. It is based directly on the Kanban Guide, the teachings and publications from ProKanban.org, and general Agile knowledge. If you want to go deeper on any topic, start there.
Should I use multiple SLEs if my work takes very different amounts of time?
Start with one SLE for all your work. Multiple SLEs are a last resort, not a sign of maturity.
Yes, it is technically possible to set a separate Service Level Expectation (SLE) for different types of work. But in most cases, teams that go there too early make their system harder to manage, not easier. Before you consider segmenting, the question to ask is whether you have done everything you can to improve how work flows through your system.
Think of an SLE as a two-part forecast: a range of time and a probability. For example, a team might forecast that 85% of their work items will finish within 10 days or less. That forecast is only useful if your system is behaving consistently. Consistency comes from controlling WIP, finishing work before starting new work, and collecting enough completed data to trust your numbers. This is what Little's Law describes: the relationship between how much work is in progress, how fast work finishes, and how long each item takes. When those three things are in balance, your system is stable and your SLE is reliable.
When teams say certain work just takes longer by nature, that is often a signal worth examining. Long Cycle Times on certain work types can reflect system problems: too much WIP, unresolved blockers, third-party dependencies that have not been challenged, or handoffs that have never been questioned. Adding a separate SLE for that work accepts those conditions rather than improving them. Most teams that create multiple SLEs end up collapsing back to one once they actually stabilize their system. The segmentation was solving the wrong problem.
When you create a separate SLE for each type of work, each type now has to behave like its own stable, balanced system. That means enough completed items of each type to produce reliable data, and consistent flow behavior within each group. Most teams do not have that. Creating different flow rules for different work types is also what leads to Classes of Service, which add policy complexity and tend to hurt overall predictability rather than help it.
Multiple SLEs should only be considered when you are genuinely certain you have done everything possible to improve flow, removed system impediments and dependencies, and the data clearly shows two distinct and stable distributions.
- You can tell a customer with confidence what percentage of work will finish within a given timeframe.
- SLE violations are occasional and expected, not a regular occurrence.
- Your Cycle Time Scatterplot shows a recognizable and stable pattern.
- Cycle Time variability is decreasing over time, not holding steady or growing.
- If you do have multiple SLEs, each one is backed by at least 10 to 20 completed items of that type, and each group shows stable, independent flow behavior.
A second SLE is not a milestone. It is a last resort. Improve your system first. The data will tell you if segmentation is ever actually needed.
A team handles production bugs and new features on the same board. Bugs finish quickly but features take weeks. Rather than examining why features take so long, the team creates two SLEs: 85% of bugs in 3 days or less, and 85% of features in 16 days or less. They have 6 completed bugs and 8 completed features in their data. The percentile lines shift every week. The team stops asking why features age so long because the SLE makes it feel acceptable. Flow problems are being managed around, not fixed. The segmentation locks in poor flow behavior rather than improving it.
The same team starts with one SLE: 85% of all work items will finish in 14 days or less. Features regularly age past the SLE. Instead of creating a separate SLE for features, the team uses those violations as signals. They find that features are too large and contain work that could be delivered independently, and that a third-party review step is adding unpredictable wait time. They break features into smaller deliverable pieces and establish a faster review path. Over the next two months, their Cycle Time drops and variability decreases. Most features now finish within the SLE. The team never needs a second SLE because they fixed the system instead.
The team has a single, reliable forecast they can share with customers. Work Item Age stays within expected ranges. Violations became conversation starters, not exceptions to design around. The SLE is a useful tool, not a workaround.
What flow metrics do I really need to track and when do I need to start tracking them?
Track all four flow metrics required by the Kanban Guide, and start as soon as your Workflow has a defined start point and a defined finish point.
The four metrics are Work in Progress (WIP), Work Item Age, Cycle Time, and Throughput. They are the minimum required to operate a Kanban system. Before you collect anything, define where work starts and where work finishes. Those two points determine what gets measured. If you have historical completion data in an existing tool, use it, but only if it reflects the same start and finish points you are using now. If not, start recording from today.
Each metric tells you something different about your system. WIP is how many items are currently active. Work Item Age is how long each of those active items has been in progress. Cycle Time is how long finished items took from start to finish. Throughput is how many items you are completing per unit of time.
WIP and Work Item Age work together to show you the current state of your system. WIP tells you how much is active and is the one metric you can directly control. Controlling WIP is the primary lever for improving Cycle Time and stabilizing Throughput. Work Item Age tells you how long each of those active items has been waiting or in progress. Because it only applies to work still in progress, it tells you which items are at risk before they become problems. It is the only metric that tells you what is happening right now.
Cycle Time and Throughput tell you how the system has been performing. Cycle Time shows you how long finished work actually took. Throughput shows you how consistently work is completing. Without Cycle Time data, you cannot set a meaningful Service Level Expectation (SLE). Without Throughput data, you cannot reliably tell your customer when items could be done or how many items we might get done.
- You can answer immediately: how many items are in progress right now? (WIP)
- You can identify the oldest active item and how long it has been in progress. (Work Item Age)
- You have a scatterplot of completed items with Cycle Times recorded in days.
- You are recording daily Throughput, including zero-completion days.
- When asked for a delivery forecast, you have data to work from instead of a guess.
You cannot manage what you cannot see. Tracking all four metrics from the start gives you the visibility to understand, forecast, and improve your system.
A team starts Kanban and decides to wait until they are more settled before tracking metrics. After two months, they have no Cycle Time history, no Throughput data, and no basis for an SLE. Two months of signal is gone. There is no baseline, and no way to know whether the system is improving or getting worse.
On day one, the team defines a start point and a finish point. They check their existing project tool for historical completion data and import what is available. For items with no history, they record start dates going forward. Within two weeks, they have enough Cycle Time data to draw percentile lines and set an initial SLE. The team has actual data to act on during their daily review of flow. When aging items surface, they can respond immediately. When patterns emerge across completed items, they have something concrete to bring to a retrospective.
Early data is imperfect. It is still far more useful than no data. Using historical data when it exists lets you skip the cold-start period and begin improving from week one.
What is Kanban, and why should we use it?
Kanban is a strategy for improving how value flows through a system.
It improves effectiveness, efficiency, and predictability by helping you understand how work moves, where it gets stuck, and how to improve it using data.
Kanban can be applied in any type of work without requiring a specific framework.
In most systems, demand is greater than available capacity.
Without a clear view of how work flows, it is difficult to see where delays and constraints occur or how to improve them. We often respond by starting more work or adding more processes, which makes the system slower.
Kanban helps you see your system as it actually operates. By visualizing work and using flow metrics, you create a model of how work gets done, where it gets stuck, and how to improve flow.
Every system is different. The type of work, the level of demand, and the available capacity will vary. Because of this, copying practices from another team rarely leads to better outcomes. Kanban provides a way to understand and improve your system based on its own conditions. There are no prescribed solutions, only a clear way to observe, learn, and improve.
- You can see all of the work that is planned, in-progress, and completed.
- Work in Progress (WIP) is limited, and work is moving through the workflow without unnecessary delays.
- You can see where work is slowing down. Aging work items are visible and discussed.
- Work is completing more consistently. Cycle times are becoming more stable.
- You can make data-informed probabilistic forecasts for when work will be done based on actual system performance.
When demand exceeds capacity, improving flow is the most effective way to achieve better outcomes.
A twelve-person team responsible for turning sales agreements into signed contracts eliminated daily status update interruptions by visualizing where each contract was in their workflow. They were able to self-manage without a centralized project manager.
An organization with around thirty software teams used flow metrics to assess delivery risk against deadlines, allowing leadership to make more informed decisions based on actual system performance.
Two directors and one senior director set up their strategic priorities as work items in a Kanban workflow. They were able to see what was in progress, where new requests were pulling attention away from priorities, and make deliberate decisions about what to start, delay, or stop.
What are leaders actually committing to when they support a Kanban implementation?
Supporting a Kanban implementation is not approving a tool. It is agreeing to change how your organization makes decisions about work.
Leaders who say yes to Kanban are committing to three things. They will use flow data to manage the system. They will replace fixed-date promises with probabilistic forecasts. They will take responsibility for improving the conditions that slow work down.
Many Kanban implementations stall not because teams did something wrong, but because leadership did not understand what they agreed to. When leaders treat Kanban as a visualization exercise, teams get better boards but face the same problems as before. Work still piles up. Priorities still shift without warning. People still get pulled in too many directions. Over time, teams stop believing the system can change and morale drops.
Kanban is a strategy for improving how value moves through your organization. It only works when leaders actively manage the demand coming into the system. Teams use their flow data to understand their capacity. Leaders use that same data to throttle how much new work enters. Without that partnership, teams are left managing a system they do not fully control.
Leaders also have to accept a different relationship with forecasting. Kanban uses historical flow data to answer the questions stakeholders actually care about. Instead of "we will deliver this by that date," the answer becomes "there is an 85% chance these 100 work items will be done on or before January 23rd." That shift feels uncertain to leaders used to committed dates. In practice, it builds more stakeholder trust than a promise that was never grounded in data.
- Leaders ask "What does the data tell us?" before making priority decisions.
- WIP limits are treated as system policies, not suggestions. When they are exceeded, it triggers a conversation about trade-offs, not pressure to work faster.
- Forecasts are based on Throughput data, not estimates or story points.
- Leaders use flow metrics to identify where the system needs attention, not to evaluate individual team members.
- When new work is requested, leaders ask what currently in-progress work should be paused or stopped before agreeing to start something new.
- Over time, Cycle Time becomes more stable, Throughput becomes more consistent, and fewer items are aging past their SLE. The system is improving because leadership is engaging with the data.
When leaders commit to Kanban, they are not delegating improvement to teams. They are accepting responsibility for the system those teams work inside.
A leadership team approved a Kanban implementation and reviewed the new boards at a quarterly business review. They continued to request committed delivery dates and escalated urgent work directly to teams, bypassing the workflow. WIP climbed steadily. Throughput never stabilized. Teams began quoting forecast dates without probability ranges to avoid difficult conversations. Because the underlying system never improved, those dates were regularly missed and stakeholder trust eroded further.
A leadership team agreed before the implementation that they would use Monte Carlo forecasting based on Throughput data for all planning conversations. They held a brief monthly review to assess flow metrics and discuss demand coming into the system. When a senior stakeholder pushed to add work to an already full system, the responsible leader used the board to show current WIP and asked which in-progress item should be paused to make room. The conversation shifted from pressure to trade-off.
Throughput became more consistent within two quarters because leadership actively managed demand coming into the system. Monte Carlo forecasts became more reliable as the data stabilized. Expedite requests dropped significantly. Leaders spent less time reacting to escalations and more time addressing system-level conditions.
What does a Kanban Team look like?
There is no one prescribed definition for a "team" in Kanban.
Kanban does not define teams by size, roles, or titles. Instead, we talk about members of a Kanban System. These are the people working together to deliver value and improve how that value flows from start to finish. Roles are flexible, ownership is shared, and improvement is continuous.
A Kanban System can include any number of members. What matters is that the right people and skills are present to reduce dependencies, minimize handoffs, and allow work to flow without unnecessary delay.
Because ownership of flow is shared, Kanban System members are expected to:
- Own the flow of work across the entire system, not just individual work items.
- Participate in the daily review of flow and discuss work where it lives.
- Raise blockers, risks, and delays early.
- Help move aging work forward, even outside a primary skill set.
- Respect WIP policies and manage aging work using SLEs.
- Review flow metrics and continuously improve the system.
- Focus on finishing work before starting new work.
Putting prescriptive rules around what teams should look like ignores the reality that many different types of groups successfully use Kanban.
Kanban Systems succeed or fail based on how people work together to manage flow. When ownership of flow is unclear, teams tend to optimize individual work, allow work items to age, and unintentionally introduce delays and risk into the system.
- The daily review of flow is a collaborative planning conversation involving all system members.
- Issues with flow are raised by any member of the system, not just a lead or manager.
- Improvements to flow are suggested and tested by all system members.
- People show interest in all the work, not just the items assigned to them.
- Team members regularly offer help, ask for help, and surface blockers.
What a team looks like matters less than how the people in it work together to manage flow.
During the daily review of flow, the team notices several items aging and approaching the Service Level Expectation (SLE). One item is blocked in testing. A developer who is not assigned to the work asks what is needed and pairs briefly with the tester to resolve the issue. Other team members pause starting new work and help move aging items forward. The team focuses on finishing work already in progress rather than pulling more work. Aging work is reduced and flow improves.
A high-priority request is added to the board. Only one person has the skills needed for a key workflow step, and they already have multiple items in progress. The rest of the team continues pulling new work to stay "productive." During the daily review of flow, the conversation focuses on individual status updates rather than the growing queue in front of the constraint. No one questions whether starting more work makes sense. Work begins to stack up. Items wait for the specialist. Cycle time increases and commitments are missed. Although everyone is busy, most of the work is idle. The system does not adapt.
Where do we even start when choosing our workflow states?
Before you decide on columns, map the journey your work takes to get done.
Mapping that journey gives you the information you need to design states that reflect how work actually moves. Without it, your column choices are guesses based on how you think work flows, not how it actually flows.
When you trace the real journey of your work, including the activities, the waiting, and the handoffs, you have something to design from. You can see what states make sense and where boundaries should be drawn.
This does not commit you to your current process. Some teams look at what they discover and decide to evolve gradually. Others see what is not working and redesign completely. Both are valid. The point is that the decision is informed, not accidental.
The Kanban Guide requires you to define a Definition of Workflow (DoW). That definition includes the states work moves through from started to finished. States are containers. Activities are what happen inside them. Work enters a state at a point in time and exits when it is ready to move forward. That is what makes flow visible and measurable.
Understanding the activities your work goes through helps you design states that make sense. It does not mean every activity becomes a column. If you skip this step, you will likely end up with too many states, states that overlap, or states that do not reflect how work actually moves.
A board without well-designed states cannot help you manage flow. Work will pile up in places that do not match what is actually happening. Work Item Age will be hard to interpret. WIP will be difficult to control because the boundaries between states will be unclear to the people doing the work.
- The team can describe the activities that happen at each stage of their work without debate or confusion.
- The exercise surfaces activities that were previously invisible, such as waiting, rework, or informal handoffs.
- You can identify which activities serve a similar purpose and could reasonably be grouped together.
- You have enough shared understanding to make conscious decisions about state design rather than guessing.
Understanding the activities in your work helps you recognize what deserves to be a state on your board and what does not.
A software team sets up a board in an afternoon. They create columns: To Do, In Analysis, In Development, In Testing, Done. It looks familiar. It looks logical. Within two weeks, work items are sitting in "In Development" for days with no movement. Nobody is sure if the item is being worked on, waiting for a dependency, or just forgotten. The board cannot answer the question because it was never designed to reflect how work actually moves.
Before building their board, the same team walks three recent work items through their actual journey. They trace a bug fix, a new feature request, and a compliance update. They list every activity that occurred: investigation, writing a spec, coding, peer review, QA, documentation, deployment. They notice that the bug fix skipped the spec step entirely. They notice that compliance updates always wait for a legal review that no column currently represents. They then look across all three journeys and group similar activities. From those clusters, they design their Workflow states.
The team finishes the exercise with a shared understanding of how work actually moves. They have named the activities, found the groupings, and identified work that was previously invisible. They are ready to design a Workflow grounded in what they observed rather than what seemed logical at first glance.
Why can't I just use To Do, Doing, Done as my Workflow states?
You can. But To Do, Doing, Done tells you almost nothing about where work is or what flow problems exist in your system.
Your board should answer one question: where is this work right now on its way to done? Without that visibility, you cannot identify and fix flow problems.
A Workflow state is a phase of that linear journey, not a task or a person's job. When your states reflect your real journey, your board becomes a tool for improving flow.
Your Workflow states are the backbone of your Kanban System. Flow metrics and forecasting all depend on how you define them. Get the states wrong and your board cannot help you identify and address flow issues.
There are two ways to get this wrong, and they hurt in opposite directions.
The first is too broad. When everything sits in one "Doing" bucket, you lose the ability to see where work is encountering issues with flow. Is it stuck early in the journey? Late? Waiting on something? You cannot tell. You might see a work item aging on your board, but you have no context for why. Every conversation has to start with reestablishing where it actually is and what is happening to it.
The second is too many. The most common mistake is listing every activity and turning each one into a column. Designing, coding, reviewing, testing, and deploying all become separate states. This feels thorough. What it actually does is create a waterfall relay race. Work moves from person to person, each waiting for the prior step to finish. Every column boundary is a handoff. Every handoff is a place where work queues invisibly. The board shows everyone busy while cycle time climbs.
Every column you add is an opportunity for more WIP to accumulate. More columns do not mean more visibility.
The goal is not fewer states or more states, and it is not a pretty board. It is the right states with the right visuals to give you a clear picture of your work flowing at a glance.
- Columns are not named after or owned by a role or individual.
- States describe where a work item is in its journey, not the exact activity being done to it.
- Collaboration happens within states. Conversations are about the work, not about which role takes it to the next column.
- Work is pulled into the next state when there is WIP availability, not pushed when someone finishes their activity.
The right Workflow states make flow problems visible at a glance. The wrong ones hide them.
A software team runs on three states: To Do → Doing → Done. "Doing" contains everything from early discovery to final deployment. When an item ages, no one can tell whether it is stuck in early design, waiting on a dependency, or nearly finished. The team knows something is wrong but cannot determine why without lengthy context conversations. Because the board offers no visibility into where the issue is occurring, a recurring problem near final deployment goes unnoticed and unaddressed. The system keeps producing the same issue.
When the team builds their board, they start by listing every activity in their process. They group those activities into states based on distinct points in the journey, asking which activities belong together rather than which need their own column. They start with "Building" and "Testing" but quickly see that those names feel like they belong to specific people. They also realize that when a bug surfaces during testing, the instinct will be to send it back to Building because that is "where developers work." They decide to rename those columns to "Developing" and "Validating" and the instinct to move items backward disappears. The right people now collaborate within the state rather than debating whose column it belongs in. They end up choosing four states: Scoping, Developing, Validating, and Deploying.
Once the team starts using the board, they notice a consistent pattern of items aging when moving from Developing to Validating. Because the board now shows them where the issue is occurring, they can address it as a system problem rather than chasing it item by item. Conversations about work items become more pointed. The team no longer spends time reestablishing context before they can even ask the right question.
Should all active work be on the board when we start using Kanban?
Yes, but how you get there is a decision you need to make deliberately.
All work that is happening must eventually be visible on the board. A board that doesn't reflect your system cannot help you manage flow. The question is not whether to visualize active work, but how to initialize that visibility without creating false data or false confidence.
There are two valid approaches:
Add all active work to the board immediately. Accept that you will likely be over your WIP limits at the start. Use what you see to triage, complete, or consciously remove work before pulling anything new.
Decide what work you are actively choosing to be in progress right now. Start the board within your intended WIP limits. Deliberately reintroduce other work as capacity opens.
Neither approach is wrong. The risk is choosing one without intention — or worse, leaving work off the board entirely because it feels too messy to deal with.
Your board is a model of your system. If active work is hidden, you cannot measure it, manage it, or make decisions based on it.
Invisible work still consumes capacity. When work is off the board, WIP is understated, Cycle Time data is incomplete, and your ability to spot workflow issues is compromised from day one.
The initialization decision also affects your flow metrics going forward. If start dates are unknown for pre-existing items, your Work Item Age data has gaps. If those items complete without accurate aging data, your Cycle Time distribution is unreliable — and so is any forecast you build from it.
Starting with a partial or inaccurate board doesn't just delay feedback. It makes your early data unreliable.
- All active work items appear on the board before any new work is pulled.
- WIP counts match what people are actually working on when you walk the board in a standup or review.
- Team members stop referencing work that "isn't on the board yet."
- Items added at initialization have a recorded start date, or are explicitly flagged as having an unknown start date.
- Aging items surface within the first week and trigger a conversation — not a surprise.
How you start matters. An intentional initialization gives you an accurate picture of your system from day one — and that's what makes everything else work. Good decisions, reliable metrics, and real improvements all depend on it.
A team starts Kanban but only adds new work to the board going forward. Fifteen active items stay off the board because "we'll finish those soon." WIP appears manageable, so the team keeps pulling new work. Three months later, Cycle Time data reflects only a fraction of real work. Several of the untracked items missed commitments that nobody saw coming. The team blames the board for not helping — but the board never had a chance.
Before the first standup, the team stops and lists every piece of work currently in progress — including work not in any tool. They make a deliberate choice: add everything to the board, flag unknown start dates, and pull nothing new until WIP is under control. WIP immediately reflects reality: 19 items across 6 workflow states. The team is clearly over capacity. They use Work Item Age to triage — oldest items get attention first. Items with no clear next step are flagged as blocked, not left floating.
The team surfaces a workflow issue in their review stage within the first week. They reduce WIP deliberately rather than by accident. Cycle Time data from day one is marked accurately — known start dates are recorded, unknown ones are flagged — so the team knows exactly how much to trust their early forecasts.
What work should I put on a Kanban board?
Visualize work that can be delivered independently and means something to your customer.
Your Kanban Board is not just a task list. It is a visualization of how work moves through your system from start to finish, and work items are a required part of that picture. Each item should be able to move through your Workflow within your Service Level Expectation (SLE) and deliver something independently useful to your customer. Meetings, training, and coordination support delivery but are not units of value moving through your Workflow and do not need their own work items.
If you put the wrong things on your board, you cannot measure or manage flow accurately. What you visualize determines what you can act on.
Work items need to balance two qualities. Value-focused: each item should deliver something your customer can use or respond to. Without that, you are tracking activity, not value delivery. Your board becomes a task list rather than a system for managing flow. Right-sized: each item should be able to move through your Workflow within your SLE. Size is not about effort or complexity. It is about whether the item can flow through your system without becoming an outlier.
When these qualities are missing, two problems emerge. Work items that are too large stay in progress too long. They accumulate dependencies, delay feedback, and block other work behind them. The longer an item stays active, the higher the probability it will miss its SLE.
Work items that are too small without independent value are just as problematic. A database layer, an API endpoint, or a completed design file may be necessary work, but your customer cannot use them or respond to them on their own. Tracking these as work items artificially deflates your Cycle Time data and makes your SLE an unreliable forecast. When a real work item flows through your system, it looks like an anomaly. You lose the ability to make predictable forecasts.
Both conditions make your system harder to manage and your forecasts harder to trust.
- Work items consistently complete within your SLE.
- Cycle Time variation decreases and fewer items fall outside your expected range.
- Work Item Age stays within expected ranges without frequent escalation.
- Completed items produce a deployable result or a concrete feedback signal.
- Your board reflects work that is actively flowing, not activities that support work.
Put work on your board that your customer can receive and respond to, sized by your SLE, not by estimation or debate.
A team creates one work item for an entire reporting system. Multiple people work on different components simultaneously. Testing happens at the end. The item stays in progress for weeks and exceeds the SLE. Work stacks up behind it and the team cannot respond to new priorities. WIP is higher than it appears because multiple sub-tasks are buried inside one item. The aging item triggers daily escalation conversations. The team is busy but nothing is finishing. Work stacks up behind the large item and the team loses the ability to respond to new priorities.
A team tracks individual technical tasks as work items. Database layer complete. API endpoint complete. Front end complete. Each item closes quickly and the board looks healthy. But nothing has been delivered that a customer can use or respond to. Cycle Time data is artificially low. When a real end-to-end feature enters the system it looks like an outlier. The SLE no longer reflects how the system actually performs and forecasts cannot be trusted.
The team breaks the reporting system into separately deliverable items: allow users to export a report to CSV, filter results by date range, view recent activity. Each item delivers something a customer can use and respond to on its own. Each is reviewed against the SLE before it is started. Items that look too large are split before work begins.
Work moves through the Workflow consistently. The team releases value after each item, gathers real feedback, and can respond to new priorities without disrupting everything in flight. Cycle Time data reflects actual value delivery and the SLE becomes a reliable forecasting tool.
Why should we control WIP (Work in Progress)?
Controlling WIP is the primary lever in a Kanban system for improving flow, reducing Cycle Time, and increasing predictability.
This relationship was mathematically proven by Dr. John Little in the 1960s and is known as Little's Law. In simple terms, the law tells us that the more items you have in progress at one time, the longer it takes to complete each item.
Of the three variables in Little's Law (Cycle Time, Throughput, and WIP), WIP is the only one we can directly control in real time.
Control does not mean "lower is always better." If you have too much work in progress, delivery slows and becomes unpredictable. If you have too little work in progress, capacity may sit idle and Throughput can decline. Controlling WIP allows you to operate at a stable, sustainable level where work flows more predictably.
When WIP is controlled appropriately, a pull system emerges. Work is started when capacity is available rather than pushed into the system. This reduces overload, improves focus, and helps ensure that work is finished before new work is started.
High WIP is one of the main causes of poor flow.
Teams can look busy all day and still finish very little. When too many items are in progress, attention is split. Work moves in short bursts and then waits while something else is done. That accumulated waiting time, combined with task switching, increases Cycle Time and reduces predictability.
High WIP can also hide problems with flow in the system. It appears that work is moving because lots of items are in progress, but in actuality very little is finishing.
Too little WIP can also create problems. When there isn't enough work in progress, available capacity goes unused and Throughput may decrease. The system becomes uneven, with gaps of inactivity followed by spikes of work. That variability makes flow less stable.
Controlling WIP is about operating at a level where work moves steadily without creating unnecessary delay.
- Cycle Time stabilizes and may begin to decrease.
- Variability in Cycle Time narrows over time.
- Throughput becomes steadier instead of spiking and dropping.
- Fewer items sit idle or blocked for extended periods.
- New work is started based on available capacity rather than urgency alone.
- As performance becomes less volatile, forecasting becomes more reliable because it is based on stable historical data.
- Controlling WIP does not guarantee these outcomes. But without controlling WIP, sustained stability and reliable forecasting are unlikely.
No single action improves flow more reliably than controlling WIP.
A team has 12 items in progress. Everyone is busy, but work frequently waits between workflow steps. Testing becomes a bottleneck. Cycle Time increases from 8 days to 18 days and delivery becomes unpredictable.
Instead of starting new work, the team reduces active WIP and agrees not to begin additional items unless capacity is available. They focus on finishing the oldest items first and let pull guide when new work begins.
Cycle Time stabilizes around 9 days. Throughput becomes steadier. Forecasting improves. The change was not more effort — it was controlling how much work entered the system.
- Traffic Simulator: Microsimulation of Traffic Flow — shows how excess WIP creates congestion.
- Henrik Kniberg — Multiple WIP vs. One-Piece Flow — demonstrates how limiting WIP reduces completion time and improves flow.
- I Love Lucy — "Job Switching" Clip — a simple illustration of how increasing workload leads to overload and breakdown.
What's the best way to manage the volume of Work in Progress? (WIP)
Set explicit policies that control how much work can be in progress at one time.
There is no single right way to do this. Kanban only requires that you control WIP and that your approach is written down as an explicit policy. How you implement that control depends entirely on your context.
Kanban aims to optimize the flow of value by balancing three factors: effectiveness, efficiency, and predictability. How you structure your WIP control affects all three.
Taking on more work might keep people busy in the short term. But without a deliberate policy, you have no way to see when your system is overloaded, no trigger for a conversation, and no foundation for improvement. These tradeoffs exist whether you manage them or not. A written policy makes them visible and gives your team something to act on.
Different approaches to WIP control create different tradeoffs. Understanding your options helps you choose the right structure for your context and adjust it over time.
- Work moves through your Workflow without long waits between workflow states.
- You can see where work items are stuck and how long they have been there.
- Stuck items get attention quickly rather than aging in place.
- Cycle Time stabilizes and variability narrows over time.
- Throughput becomes steadier rather than spiking and dropping.
- Conversations about flow problems are happening sooner, not after things are already late.
Kanban does not care how you control WIP. It only cares that you do.
There is no single correct structure for WIP control. Here are the most common approaches and what to watch for with each.
Per-column limits set a maximum number of items allowed in each active workflow state. This is the most visible approach and makes bottlenecks easy to spot. The risk is that teams start gaming the numbers by removing items from columns rather than finishing them, or by raising limits whenever the constraint feels uncomfortable.
Per-person limits cap how many items any one person can have active at a time. This can reduce multitasking. However, it can also reinforce a "my work" mindset where people only pay attention to the items assigned to them. When that happens, work sitting idle in other workflow states gets ignored because it does not feel like their responsibility. Flow across the whole system suffers.
Board-level limits set a ceiling on the total number of items in progress across the entire board. This is simpler to manage but carries its own risk. If items pile up in one workflow state and the board limit is still technically being met, flow can stall in that state while the rest of the board sits empty. The limit stops being a signal and starts being a ceiling that hides the real problem. One way to address this, especially when a team is first working to reduce their overall WIP, is to use both column limits and a board limit at the same time. The column limits keep work distributed across workflow states and promote flow. The board limit keeps the overall volume in check. Together they create more opportunities for the team to have conversations about where work is moving and where it is not.
Portfolio-level limits apply the same logic to higher-level work. You might set a policy that your system will only run one large initiative at a time alongside no more than five smaller ones. This is still WIP control. It operates at a different level of the organization. The same principles from the Kanban Guide apply at every level of work breakdown.
SLE-based pull policies use Work Item Age as the trigger instead of a count. If an item's age approaches the SLE threshold, the team does not start new work. They focus effort on the aging item instead. This connects WIP control directly to customer commitments and predictability.
None of these approaches are mutually exclusive. Many teams use a combination. What matters is that the policy is explicit, written down, and understood by everyone in the system.
How do I make sure work isn't taking too long?
You determine a Service Level Expectation that you compare your aging work items to every day.
An SLE is a forecast of how long it should take a single work item to flow from started to finished. It has two parts: a range of days and a probability. For example, "85% of the time, a single work item will finish in 10 days or less." Once you have an SLE, post it on your board and add percentile lines to your Aging WIP chart. If you have Cycle Time data, derive it from your Cycle Time Scatterplot. If you do not have data yet, make a best guess and adjust once data arrives.
Without an SLE, there is no shared definition of what on-time delivery looks like. Work can age indefinitely without triggering any response. You cannot give your customer a data-backed forecast of when something will be done. You cannot identify which active items are at risk.
The SLE gives you all three: a shared forecast, a monitoring threshold, and a daily decision-making tool.
Work Item Age is the metric that makes the SLE actionable. Once you have an SLE, the percentile lines on your Aging WIP chart become intervention triggers. Every time an item crosses a percentile line, its probability of violating the SLE increases. Each line is a signal to have a conversation. Waiting until an item breaches the SLE to act is too late.
Actively managing items against the SLE also reduces variability in your system. A wider spread between your percentile lines means more variability and a less reliable forecast. When you intervene early and prevent unnecessary aging, your Cycle Times become more consistent. That consistency makes your SLE a more accurate and trustworthy forecast over time.
- The SLE is posted on your Kanban board where everyone can see it.
- The team can answer "Is this item at risk?" by looking at the Aging WIP chart, not by asking around.
- Each percentile line crossed triggers a conversation about that item. The conversations get more urgent as the item ages further.
- The spread between your percentile lines narrows over time as you actively manage aging items and reduce unnecessary variability in the system.
- The SLE is revisited when a significant process change occurs, such as adjusting WIP limits, removing a column, or changing a flow policy.
An SLE turns a vague concern about work taking too long into a specific, visible signal the whole team can act on every day.
A team has been running Kanban for three months with no SLE. Their daily review is a round of status updates. Each person reports what they worked on yesterday. Nobody looks at the board to check item ages. The team set the SLE without involving customers and without looking at their Cycle Time data, so nobody trusts it. It sits forgotten on a wiki page. A stakeholder asks when a specific item will be done. The team estimates based on gut feel. The item takes twice as long as expected. The stakeholder loses confidence. The data was there. The team just never used it.
A team with 10 completed items plots their Cycle Time Scatterplot. The 85th percentile lands at 9 days. They set their SLE at "85% of the time, a single work item will finish in 9 days or less," post it on the board, and add percentile lines to their Aging WIP chart. In the next daily review, one item has crossed the 50th percentile line. The team asks what is happening with that item, surfaces a blocker, and swarms on it. The item finishes on day 7. The pattern repeats. Each percentile line crossed becomes a prompt for a conversation, not a surprise. Over the following weeks, the spread between the percentile lines begins to narrow.
The SLE transforms daily review from a status report into an active flow management conversation. The board tells the team where to focus. Customers receive honest, data-backed forecasts instead of guesses. Variability decreases because problems are surfaced and resolved before they become violations.
Why does it matter where I start and stop tracking work?
Because those boundaries define what your flow metrics are measuring and what you are promising your customer when you give them a forecast.
If you set those boundaries by default rather than by design, you will end up measuring something real but not something useful. Your data will look fine. Your forecasts will be wrong. And when customers push back on your SLE, you will not have a clear answer for why.
Think about your Kanban board. Your start and finish points are not columns. They are the lines between columns, like a start line and a finish line in a race. When an item crosses your start line, the clock starts. When it crosses your finish line, the clock stops. Everything between those two lines is Work in Progress, and the elapsed time is Cycle Time.
Your SLE is built from that Cycle Time data. It tells customers how long it should take for a single item to flow from started to finished. If your start line sits at ticket creation, your SLE includes all the time an item spends waiting before anyone starts working on it. If your start line sits where someone actually picks the item up, your SLE reflects active delivery time only. Both are valid. They answer different questions. The problem is choosing one without realizing what you are actually measuring, then communicating that SLE to a customer who assumed something different.
Customers think in elapsed calendar time. If you tell a customer their item will be done in 10 days, they expect it in 10 calendar days from today, not 10 days after the team picks it up two weeks from now. Your definitions determine what that clock is measuring. Be intentional about it.
- Every team member answers "when does work start?" the same way, every time.
- Your start and finish lines are visible on the board. Someone new can identify exactly where the clock starts and stops without asking.
- Your SLE language matches what you are measuring. If the start line is at ticket creation, your team knows the SLE includes wait time and communicates that to customers.
- Cycle Time data on your Scatterplot reflects a distribution that matches your team's actual experience of how long delivery takes.
Your start and finish definitions do not just describe your process. They determine what your data can tell you and what your forecast is actually promising your customers.
A team uses their project management tool's default setup. Work is considered started when a ticket is created. Tickets sit in a backlog for weeks before anyone starts working on them. Their Cycle Time data shows wide variation, with many items taking far longer than the team expects. They build an SLE from that data and share it with stakeholders. Leadership is frustrated by what looks like slow delivery. The team pushes back, insisting work does not actually take that long. Both sides are right. The measurement is capturing weeks of pre-work wait time alongside actual delivery time, and no one can tell where one ends and the other begins. The SLE is not a delivery forecast. It is a measurement of how long items sit in queue plus how long it takes to deliver them, treated as if they were the same thing.
The same team stops and asks what they actually want their SLE to tell customers. They decide it should answer: how long does it take from when we start working on something to when it is delivered? They draw a start line on the board between their "Ready" column and their "In Progress" column. They draw a finish line between their "Staging" column and their "Done" column. Both lines are visible on the board. Everyone knows exactly where they are. Their Cycle Time now reflects active delivery time. They build an SLE from that data. They also track time from ticket creation to delivery separately, outside the SLE, to give stakeholders visibility into total wait plus delivery time when that context is useful.
The team has an SLE that reflects what it claims to measure. Customers receive a forecast they can hold the team accountable to. Conversations about slow delivery become conversations about the right thing: where in the system work is actually slowing down.
Do my work items all need to be the same size?
No. Your work items do not need to be the same size. They need to be the right size for your system.
Right-sized means your work items are small enough to flow through your system reliably, but still deliver something a customer can use. Items that are too large get stuck. Items that are too small deliver nothing on their own. Both break your flow in different ways.
Large items hide more WIP than your board shows. One item that could have been five smaller ones is still five items worth of work in progress. You just cannot see it. That invisible WIP inflates your actual Cycle Time and shows up as outliers in your data. Customers feel it too. Delivery takes longer than expected, and your Cycle Time data looks unhealthy. You are left trying to explain why things are slow when the real answer is buried inside one oversized item.
Small items create the opposite illusion. Work closes quickly and your Cycle Time looks great. But if nothing on your board delivers something a customer can actually use, feedback never arrives. Customers are still waiting for something of value, even while your metrics suggest the system is healthy. Both situations produce the same outcome: unhappy customers. They just look completely different in your data.
Until your items are right-sized, your SLE is not reliable either. It is calculated from your Cycle Time history. If that history is full of oversized items that dragged on for weeks or tiny tasks that closed in hours, your SLE reflects that noise, not your system's real performance. Right-sizing is what makes your metrics trustworthy.
- Items complete within your SLE more often.
- Fewer items sit on the board for a long time without moving.
- Cycle Time becomes more consistent.
- Completed items deliver something a customer can use or respond to.
Right-sizing is not estimation. You are not predicting how long something will take. You are asking one question: "Is there a good chance this item will finish within our SLE?" If yes, start it. If no, adjust it before it enters active work.
A team pulls in a work item: "Build and launch the new customer onboarding experience." Before it starts, someone checks the SLE. Their data shows 85% of items finish in 10 days or less. There is no realistic chance this item finishes in 10 days. The team decides to split it. Here are four ways to find the splits:
The item has four acceptance criteria. Each one can be built, delivered, and tested on its own. Each becomes its own work item. This matters beyond just size. Every acceptance criteria you bundle into a single item adds compounding risk. If each AC has an 80% chance of moving through the system cleanly, a single item with three ACs has only a 51% chance of completing without getting stuck. Splitting by acceptance criteria reduces that risk directly.
Look at the item title. "Build and launch" is two things. Look inside the description too. Words like "and," "or," "when," and "if" are signals. Slashes, commas, and dashes often hide the same problem. "Users can create an account and set notification preferences" is two items.
The item says "build the onboarding experience." What experience? For which users? Getting specific reveals what is actually hiding inside. "New user onboarding" could become: first login screen, welcome checklist, email confirmation. Each is concrete. Each can flow on its own.
What is the simplest version that delivers something real? Start there. Can you get users through the front door before you build everything behind it? Deliver the smallest useful thing, learn from it, then build the next piece. You are not reducing scope. You are sequencing it so value flows sooner.
Each resulting item is reviewed against the SLE before it starts. Work flows. The team delivers something useful sooner instead of waiting weeks for one large item to finish.
Sources & Further Reading
The following works informed the content of this playbook.
- American Psychological Association. (2006). Multitasking: Switching costs. American Psychological Association.
- Little, J. D. C. (1961). A proof for the queuing formula L = λW. Operations Research, 9(3), 383–387.
- Vacanti, D. S. (2015). Actionable Agile Metrics for Predictability. ActionableAgile.
- Vacanti, D. S., Singh, P., & Johnson, C. (2022). The Kanban Pocket Guide. Leanpub.
- Vacanti, D. S. (2025). The Kanban Guide. Orderly Disruption Limited. Retrieved from https://www.prokanban.org/the-kanban-guide
Written by Liz Rettig, PKT.
With contributions from: Dan Puckett, PKT · Agnieszka Reginek, PKT · Akos Szilagyi, PKT · José Coignard, PKT · Colleen Johnson, PKT.
PKT = ProKanban.org Kanban Trainer. All contributors are certified practitioners with ProKanban.org.
The Kanban Playbook