Overview
Direct Answer
Kanban is a lean workflow management approach that visualises tasks as cards moving through defined stages, with explicit limits on concurrent work in each stage to prevent bottlenecks. It originated in Japanese manufacturing but has been widely adopted in software development to regulate work-in-progress and improve delivery predictability.
How It Works
Work items are represented as cards on a board divided into columns representing workflow states (typically To Do, In Progress, Done). Each column has a work-in-progress limit that constrains the maximum number of items allowed simultaneously, forcing completion before new work enters that stage. Metrics such as cycle time and throughput are tracked to identify constraints and optimise flow.
Why It Matters
Organisations value this method because it reduces waste, shortens delivery cycles, and enables teams to respond rapidly to emerging priorities without disrupting established processes. By exposing bottlenecks through visual constraints, teams can allocate resources more effectively and maintain sustainable pace, reducing context-switching costs and burnout.
Common Applications
The approach is used across software development teams, IT operations, manufacturing support, and administrative workflows. Examples include continuous-deployment pipelines, help desk ticket management, and content publishing workflows where stable, predictable throughput is required.
Key Considerations
Kanban requires discipline in setting realistic work-in-progress limits; overly generous limits defeat the constraint mechanism. Teams must establish clear stage definitions and metrics collection, as poorly defined workflow states can obscure rather than reveal system problems.
More in Software Engineering
Behaviour-Driven Development
Development PracticesA development approach where application behaviour is described in a natural language format before implementation.
Package Manager
Paradigms & PatternsA tool that automates the process of installing, upgrading, configuring, and removing software packages.
Parallelism
ArchitectureThe simultaneous execution of multiple computations across multiple processors or cores.
Dependency Injection
Paradigms & PatternsA design pattern where dependencies are provided to a component rather than created within it.
End-to-End Testing
Quality & TestingTesting the complete application workflow from start to finish to ensure the system meets requirements.
Feature Flag
Development PracticesA software development technique allowing features to be enabled or disabled at runtime without deploying new code.
Rate Limiting
ArchitectureA technique for controlling the number of requests a client can make to an API within a specified time period.
NoSQL Database
Paradigms & PatternsA non-relational database designed for specific data models offering flexible schemas for modern applications.