Summary
- Combined with Flow Metrics, a Kanban System is a highly effective method for agile software development.
- Kanban is a practical, evolutionary approach to optimize workflows, improve predictability, and reduce development cycle times.
- A Kanban System is framework-agnostic, and can be used either stand-alone or to supplement other agile frameworks like Scrum.
- This article covers how to setup, operate and continuously improve a Kanban System for software development.
The Kanban Method for Software Development
The Kanban Method is a visual workflow management approach that helps software development teams improve efficiency, optimize flow, and continuously deliver value. It is based on Lean principles and emphasizes limiting work in progress (WIP), eliminating waste, and continuous improvement. Lean provides the overarching principles on which the Kanban Method is based:- Customer Centricity: Define Value from the Customer’s Perspective.
- Identify and Map the Value Stream: Visualize the sequence of steps used to create value for the customer. Use the Value Stream Map to expose and resolve delays, gaps and other sources of waste in your delivery system.
- Create Flow: Make the value-creating steps flow. Work items should move through the workflow without delays or friction, such as handoffs, waiting for approvals or resolving dependencies. Cross-functional product teams better enable flow vs. organizational silos.
- Establish Pull: Only start new tasks when there is available capacity to do the work. Avoid multi-tasking: finish work on existing in-process items before starting new ones. Processes indicate capacity availability through WIP limits.
- Pursue Perfection: Continuous Improvement of flow and pull through Kaizen.

|
|
Lean vs. Kanban – What’s the Difference?
Think of it this way:
Lean: A set of guiding principles that can be adapted & applied in various ways: Scrum, Kanban, XP, SAFe, etc.
Kanban: A set of specific methods & tools from Lean: Visualization, WIP limits, explicit workflow policies.
Kanban aims to balance demand and capacity, enabling teams to deliver a continuous flow of value with greater predictability. The heart of Kanban lies in visualizing the delivery system workflow so teams can proactively manage and improve it to achieve optimal cycle times. When used as a stand-alone delivery system for software development, teams frequently supplement Kanban with additional practices borrowed from agile frameworks, such as stand-ups, intake refinement meetings, and retrospectives. Similarly, Scrum teams can adopt Kanban concepts, like improved visualization and applying WIP limits, to enhance transparency and boost throughput.
Kanban provides a system for flow-based software development. It seeks to achieve delivery of maximum business value in minimum cycle time. It pursues this goal by operating a visual, work-in-progress limited pull system with a focus on continuous improvement.
There is an interesting end-note in the Scrum Guide: The Scrum framework, as outlined herein, is immutable. While implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety and functions well as a container for other techniques, methodologies, and practices. Likewise, leaving out any of the 5 principles from Lean sabotages your agility.
Scrum: Scrum operates with small batches of work to control risk and to optimize predictability. Delivery is based on time-boxed sprints, where no changes are allowed within sprints, and customer review & feedback is given at the end of each sprint. Scrum is an empirical, adaptive framework and provides a solution for complex problems in environments of high uncertainty and risk.
Kanban: Kanban operates a continuous delivery model – no time-boxes – but with WIP limits to control the amount of work in progress at all times. This in turn helps limit risk in software projects. There are no prescribed roles or events in Kanban, and teams must evolve their own workflows and governance mechanisms to fit their environment.
Kanban Implementation Strategy
The process of implementing Kanban is divided into a number of steps: initial set up of the system, operating the system and continuously improving the system. Each step has different goals and activities. Setting up a Kanban system involves designing the workflow, setting WIP limits and workflow policies, and aligning on the data and events needed to operate and improve the system. This is the foundational step that lays the groundwork for ongoing operations. There are a number of basic principles used in setting up and operating a Kanban System.- Start with what you do now. Kanban does not prescribe major process changes upfront. Teams map their existing workflow and improve it gradually through Kaizen.
- Respect current roles, and responsibilities. Unlike Scrum, Kanban does not require new roles (e.g., Scrum Master, Product Owner). It works with existing roles and team structures.
- Agree to pursue incremental, evolutionary change. Change is based on continuous, small, data-driven improvements (Kaizen) without major disruptions to current processes.
Kanban System Setup
Goals of the Setup Phase:- Create a system that reflects the team’s current workflow.
- Establish a shared understanding of how the system works.
- Ensure team readiness to operate the system.
Step 1: Align Team and Stakeholders on the Meaning of “Customer Value”
In Lean methodology, “value” is defined as everything that a customer is willing to pay for; meaning, any characteristic or feature of a product or service that a customer considers essential to meet their needs. Anything that does not provide value to the customer is considered waste.Key points about “value” in Lean:
-
Customer-centric: The definition of value is entirely based on the customer’s perspective and what they are willing to pay for. The organization must have a good understanding of the unique characteristics, preferences, and pain points of its target customers.
-
Identifying value-adding activities: Lean practices focus on identifying and maximizing activities that truly add value to the product or service for the customer.
-
Eliminating waste: Anything that is not considered “value” by the customer is classified as waste and should be targeted for elimination or minimized. Less waste means more speed. Note: some categories of waste can be of no direct customer value but essential, for example regulatory record-keeping, or testing. These are sometimes referred to as “value-enabling” activities. The goal for these activities should be to automate as much as possible.
Step 2: Visualize Your Value Creation Workflow.
Every business has a set of processes that are used to bring a product or service to their customers. In lean this is referred to as a value stream. A value stream is the series of processing steps necessary to transform a customer request into a deliverable item of value. For software, a typical sequence includes steps like: Backlog Refinement, Analysis, Development, Testing, and Acceptance. The method used to implement this step is Value Stream Mapping, a tool from Lean to visualize the sequence of steps involved in the value creation process.The term Lean, or Lean Thinking, is used to summarize the basic operating principles that Toyota uses in their Toyota Production System (TPS). TPS operates based on five key principles: define value from the customer’s perspective, visualize the value stream, make value flow, pull work through the value stream based on demand and capacity, and pursue perfection continuously. The term Lean was popularized in the books The Machine that Changed the World, and Lean Thinking both by Womack and Jones, based on their studies of how Toyota operates.
Teams use a Kanban Board to render their work visible. The individual steps in the workflow are represented by columns on a board (either physical or electronic). The details of work items are captured on cards which are then placed in the column representing their current state. For software development, cards typically represent User Stories, though other artifacts such as Features or entire initiatives (Epics) may also be represented. Bringing clarity and transparency to how the work gets done is a prerequisite for problem-solving and meaningful change – you can’t fix problems that you can’t see. Transparency promotes a common understanding of the work between members of a delivery team, and establishes an objective basis for enacting change.


A buffer state is a dedicated column on a Kanban board that acts as a holding area, preventing work from being immediately pushed to the next stage mitigating potential bottlenecks; essentially, it’s a buffer zone to queue work before pulling it into the next active stage of the process.
Buffers are used throughout the theory of constraints. Buffers are placed before the governing constraint (processing step), thus ensuring that the constraint is never starved, and are used to protect the constraint from variations in the rest of the system.
Step 3: Apply WIP limits to each step of the workflow – Implement Pull
WIP-limited pull is the central flow-control mechanism in Kanban. Work-in-Process is the accumulation of work within or between processes. Limiting WIP means setting a cap on the number of work items that can be worked on simultaneously in any stage of the workflow. This practice prevents overloading the team and ensures a focus on completing tasks before starting new ones. This prevents queues of work from building up between steps, keeps the cycle time for each step to a minimum, and improves overall flow efficiency – that is, ensures more time is spent actively processing work items vs. waiting in the system. By limiting WIP and reducing batch size, software teams improve predictability, quality, responsiveness and have generally higher morale. Improving Predictability:- Large WIP creates bottlenecks in the development pipeline.
- High WIP leads to task-switching and inefficiencies, delaying completion.
- Large batches increase the probability of discovering issues late in the process.
- Smaller batches flow through the system faster, reducing lead time.
- Fewer active tasks mean teams can focus on completing work instead of context-switching.
- Work progresses more predictably, reducing the risk of missing deadlines.
Managing Risk
- Setting a limit on the amount of work that can be in process reduces risk.
- Large batches delay feedback, meaning defects are discovered later. Defects accumulate, making debugging complex and time-consuming.
- High WIP can lead to rushed testing and incomplete verification.
- Frequent feedback cycles enable early defect detection and risk reduction.
- Smaller changes make debugging easier and reduce rework.
- Combined with explicit workflow policies, small batches ensures a focus on quality rather than just throughput.
Improving Flexibility and Responsiveness to Change
- When too much work is in progress, there is higher risk of requirements change.
- Large batches make it harder to pivot when business needs evolve.
- Stakeholders wait longer to see results, increasing dissatisfaction.
- Smaller, incremental deliveries allow for frequent adjustments.
- Reducing WIP ensures the team can adapt to priority changes quickly.
- Stakeholders see progress regularly, reducing uncertainty.
Reducing the Risk of Team Burnout
- Overloaded teams face high stress and reduced focus.
- Multi-tasking results in poor decision-making and slower progress.
- Large WIP makes it hard to measure real productivity.
- WIP limits shift focus to finishing work instead of starting more.
- Teams experience less overload and burnout.
- Progress is more visible and measurable, improving morale.
Key points about setting up WIP limits to implement pull:
-
Visual representation:WIP limits are typically displayed on a Kanban board, where each column (representing a stage in the workflow) has a designated limit on the number of cards allowed to be in progress. The Kanban board with WIP limits provides a clear visual representation of the current work in progress, allowing the team to identify potential problems early on.
-
Capacity based:The ideal WIP limit is based on the team’s actual capacity, often calculated by adding one to the number of team members, allowing for some flexibility and buffer.
-
Pulling work:When a team member finishes a task, they “pull” a new item from the upstream process only if there is available capacity in the current workflow stage, maintaining the WIP limit. When a column reaches its WIP limit, it becomes readily apparent that there is a bottleneck in that stage, prompting the team to address the issue.
-
Focus on completion:Limiting WIP encourages the team to prioritize finishing existing work before starting new tasks, leading to improved focus and reduced multitasking. By focusing on completing a smaller set of tasks at a time, the overall time to complete work can be reduced. (Little’s Law).

Each extra item of WIP carries a Cycle Time penalty. |

Push vs. Pull |
In a push-based system each workflow stage pushes work onwards to the next processing step as soon as it is done. This can result in work piling up at the next stage if there is insufficient capacity. In a pull-based system, each stage pulls in new work only when it has the capacity to process it. In a Kanban system, WIP Limits are used to control the amount of work that is admitted into each processing state. This prevents an unlimited amount of work from being pushed into the next state. A team member would only pull in new work if there was capacity to process it. WIP-limited pull is the central mechanism in Kanban to ensure that each processing step is not overwhelmed by consuming more work than it has the capacity to process. |
Flow | Pull | |
Focus | Smooth, uninterrupted progression of work items | Initiating work based on demand and capacity |
Goal | Minimize delays and bottlenecks | Avoid overproduction and maintain focus |
Process | Continuous workflow optimization | Regulate the start of tasks based on readiness and capacity |
Tools/Practices | Kanban Boards, Stand-ups, Continuous Integration, CD pipelines, Continuous Improvement/Kaizen | Kanban, WIP limits, Backlog prioritization |
Metrics | Cycle Time | WIP |
The more work we start, the less we finish. |
By way of comparison, Scrum limits work in progress by operating in time-boxed sprints, where the Sprint Backlog represents the batch-size for the upcoming sprint. In Kanban, the amount of work is limited by setting WIP limits for each step of the workflow. Both are effective methods of controlling risk in software development.
Finally, worth re-emphasizing:
Without WIP limits, you don’t have a Kanban system. Without WIP limits, it is impossible to have a stable, predictable delivery system. |
Step 4: Define ‘done’ for each step in the process.
Being clear and explicit about what ‘done’ means for each step of the workflow further enhances overall transparency about how the system operates, and provides a foundation for how to improve it. A transparent definition of done brings predictability and ensures quality. Making the exit criteria explicit means that the work for each step is done in a consistent and repeatable way, and that the work item is in a known state when done. One of the core concepts in Lean Manufacturing is Standard Work. The idea is that we get consistent results from a process that is applied consistently. This may seem anathema for knowledge workers who are motivated by autonomy. The idea isn’t to use the standards as a way to limit the team. Rather, the standard is to be used as a baseline for continuous improvement. It is only possible to evaluate improvements objectively when existing workflow procedures are ‘standardized’. As standards improve, the new standard becomes the basis for further improvements: improving standardized work is a never-ending process.
Operating the Kanban System
Goals for Operating the System:- Identify and address inefficiencies and congestion in the workflow.
- Foster a culture of collaboration and continuous improvement.
- Deliver value consistently and predictably.
Proactively Manage the Flow and Deal with Congestion
Meet daily to identify bottlenecks, emergent queues and other impediments or delays to the flow of work. In particular, check if any step is overloaded or if any step is starved of work, or if any items are stuck in a step well beyond their expected cycle times. For the latter issue some tools will display the age of the item in that state. Stand-ups should be focused on maintaining the flow of work (congestion control). What items are late (beyond their expected cycle time), or at risk of being late? Priority should always be given to finishing work versus starting work. If necessary make adjustments to improve the flow.
WIP limits are fundamentally capacity limits. The WIP limit for a specific column on a board is the maximum number of work items that can be processed without multi-tasking or having items sitting idle. Teams should experiment to find a good working WIP limit for each workflow state.
Managing the Flow: The Kanban Standup
A Daily Stand-Up for a Kanban team is the event where a team actively manages the flow of work items in their system. The event takes place around the Kanban Board and seeks to identify steps in the workflow that are overloaded, starved of work, delayed or blocked, and on what actions the team can take to recover the flow. Active management of items in a workflow can include:- Maintaining WIP limits: limiting the number of items that are being worked on simultaneously – don’t pull any new work into a processing step when WIP reaches its upper limit. (Send items back that breached a WIP limit, and focus on getting items done before starting new ones).
- Unblocking blocked work (taking action, including escalation beyond the team when necessary).
- Address work items that are aging beyond expected Cycle Times, and preventing work items piling up in any part of the workflow – each of these items should have a specific owner and action plan.

Measure and Improve Relentlessly: Kaizen
When we setup our Kanban system an initial step was to map out and visualize the existing workflow. If done properly this should quickly expose any obvious gaps, redundancies and other major sources of waste in the system. Eliminating waste and improving flow are the primary focus of continuous improvement activities for Kanban teams. These improvements contribute directly to business and customer value by reducing delays, improving quality, and lowering costs. That’s a pretty good definition of value:Value = Faster Delivery + Predictability + Lower Costs + Higher Quality |

Flow Metrics
The relationship between these metrics is described by Little’s Law, and the Continuous Flow Diagram (CFD) is a good way to visualize these relationships. The CFD shows the distribution of work in each of the workflow states and how that distribution is trending over time. Each band in the diagram shows the number of work items in each state of the workflow. The CFD Diagram is one of the primary artifacts of the Kanban Method and can be used to visualize bottlenecks and uneven workloads in the value stream. The CFD can be used to measure flow performance – Cycle Time, Throughput and WIP – and help identify problems and opportunities for improvement.
- Cycle Time: Measures the time from when work actually begins on an item until it is completed (typically measured from the In Progress state to the Done state). Cycle Time can also be measured for any individual process step within the workflow.
- Throughput. The number of work items completed per unit of time.
- Work In Progress (WIP). The number of work items in progress between the To Do and Done states of a system. WIP is also measured at individual process steps in the workflow.

The relative priority of all improvements should be based on their impact on reducing Cycle Time. |

- deliver majority (>50%) of user stories in 2 days or less, and,
- deliver 95% of all stories in under 10 days.
Improvement Strategies
Some of the more obvious improvement actions for software teams include items from the list below. Teams are encouraged to experiment with these using the Plan-Do-Check-Act (PDCA) framework, and measure their impact on flow metrics:Opportunities For Improving Flow |
|
Conclusions
The Kanban Method brings strong focus on accelerating delivery cycle times. It can be used as a standalone method or complement other agile frameworks like Scrum:- Visualize your workflow in a way that enables diagnosis of flow-related problems.
- Limit the amount of work pulled into each processing step to minimize queues and delays.
- Continuously measure and improve.