Generated by DeepSeek V3.2| Kanban (development) | |
|---|---|
![]() | |
| Name | Kanban |
| Developer | David J. Anderson |
| Influenced by | Toyota Production System, Lean manufacturing, Theory of Constraints |
| Influenced | Scrum (software development), DevOps, SAFe (Scaled Agile Framework) |
| Year | 2007 |
Kanban (development). Kanban is a popular agile software development methodology and project management framework that emphasizes continuous delivery without overburdening the development team. Originating from concepts in the Toyota Production System and Lean manufacturing, it was adapted for knowledge work by David J. Anderson in the early 2000s. The method focuses on visualizing work, limiting work-in-progress, and enhancing flow to improve efficiency and adaptability.
The Kanban method emerged as a way to apply Lean thinking principles to the domain of information technology and software engineering. David J. Anderson is widely credited with formalizing and popularizing the approach after applying it successfully at companies like Microsoft and Corbis. Unlike prescriptive frameworks, Kanban advocates starting with the current process and evolving it incrementally through the use of a Kanban board, work in progress limits, and explicit policies. This evolutionary approach has made it a common complement or alternative to other agile methodologies like Scrum (software development), and it is frequently utilized within DevOps practices and large-scale frameworks such as SAFe (Scaled Agile Framework).
The Kanban method is defined by a set of core practices that guide its implementation. These practices are designed to create a pull system, where new work is only started when there is capacity, rather than being pushed into the system. The foundational practices include visualizing the workflow, limiting work in progress, managing and measuring flow, making process policies explicit, implementing feedback loops, and improving collaboratively. These practices are interdependent and are intended to foster a culture of continuous improvement, often informed by statistical process control and the Theory of Constraints.
Kanban is underpinned by a set of change management and service delivery principles that guide its adoption. The change management principles encourage starting with the existing process, agreeing to pursue incremental, evolutionary change, and respecting current roles, responsibilities, and job titles. The service delivery principles focus on understanding and managing customer demand, organizing work around a network of services, and encouraging acts of leadership at all levels within the organization, from individual contributors to executives like those at Toyota or Spotify.
A central element of Kanban is making the workflow visible, typically using a Kanban board. This board, which can be physical or digital using tools from vendors like Atlassian (Jira) or Microsoft (Azure DevOps), is divided into columns representing different stages of the process, such as "To Do," "In Progress," and "Done." Individual work items, often written on Kanban cards, move across the board. This visualization, inspired by the andon cord system in manufacturing, makes bottlenecks, queues, and the overall state of work transparent to the entire team, including stakeholders from product management and quality assurance.
Imposing explicit limits on the number of work items allowed in each stage of the workflow is a critical practice. These work in progress (WIP) limits prevent teams from starting new work before completing current tasks, thereby reducing multitasking and context switching. By constraining WIP, the method forces attention to finishing work, which helps identify impediments in the process. This concept is directly derived from the just-in-time inventory control of the Toyota Production System and aligns with principles from the Theory of Constraints to optimize throughput.
The practice of managing flow involves monitoring, measuring, and optimizing the movement of work items through the workflow. Teams use metrics such as lead time, cycle time, and throughput to assess performance. Analyzing these metrics, often with the help of cumulative flow diagrams, allows teams to predict future performance, identify trends, and make data-driven decisions to improve. The goal is to create a smooth, predictable, and efficient flow of value to the customer, a key objective in Lean software development and value stream management.
For a process to be managed effectively, its rules must be clearly defined, communicated, and understood. This involves making policies explicit regarding how work is defined, prioritized, pulled into the system, and moved between columns on the Kanban board. Explicit policies might cover the definition of "ready" for a work item, the definition of done, or classes of service for different types of work, such as expedite requests. This clarity, reminiscent of standardized work in Lean manufacturing, reduces ambiguity, facilitates better decision-making, and enables meaningful discussions about process improvement during events like daily stand-up meetings or operations reviews.
Category:Agile software development Category:Project management Category:Lean manufacturing