All of these definitions are highlighting important aspects of Kanban. It's a method that originated in manufacturing but has been adapted for various types of work, particularly knowledge work. It emphasizes visualization of work, limiting work in progress, and continuously improving the flow of work.
Kanban Manages the System, Not the People:
It doesn't track personal productivity or allocate tasks to specific people. Instead, Kanban visualizes the flow of work as it moves through different stages of the process, regardless of who is performing the work. This system-level focus promotes collaboration and shared responsibility. It takes the emphasis away from individual performance and puts it on improving the overall system. By identifying bottlenecks or delays in the system, teams can make adjustments to improve the flow of work, rather than focusing on individual productivity.
Optimizes Flow by Improving Efficiency, Effectiveness, and Predictability:
Kanban optimizes the flow of work by limiting the amount of work in progress. This reduces multitasking and context-switching, which can significantly improve efficiency. Additionally, by visualizing work and making it transparent, Kanban enables teams to better identify issues and opportunities for improvement, which can increase the effectiveness of the process. The use of a pull system (where new work is only started when there is capacity to handle it) and limiting work in progress also leads to more predictable delivery times, as work flows through the system at a more steady and manageable pace.
In the context of Kanban, "flow" refers to the movement of work items through the process. The goal is to achieve a smooth, continuous flow, with work items moving from "to do" to "done" with as few interruptions or delays as possible. Maintaining this flow is critical to delivering value quickly and reliably. Kanban teams monitor their flow by tracking metrics like lead time (the time it takes for a work item to move through the whole process) and cycle time (the time it takes for a work item to move from start to finish once work has actually begun). By monitoring these metrics, teams can identify issues that are disrupting the flow and take steps to address them.
All of these principles and practices work together to create a system where work flows smoothly and efficiently, where teams have a clear understanding of their process and can continuously improve it, and where the focus is on delivering value as effectively and predictably as possible. This makes Kanban a powerful tool for managing complex work processes, particularly in fields like software development and other areas of knowledge work.
Flow & Empiricism
Empiricism, in the context of process management and improvement, is the principle of making decisions based on what is actually observed rather than theoretical assumptions. It involves three key steps: transparency, inspection, and adaptation.
Transparency involves making the process and the work visible, so it can be clearly understood by everyone involved. In Kanban, this is achieved through the use of the Kanban board, where each card represents a work item and the columns represent different stages in the process. Inspection involves regularly reviewing the process and the work to identify any issues or opportunities for improvement. This could involve daily stand-up meetings, where the team reviews the board and discusses the status of the work, or it could involve more formal review meetings. Adaptation involves making changes to the process based on the insights gained from the inspection. This could involve changing the layout of the board, adjusting the WIP limits, or changing the way work is prioritized or managed.
In a well-functioning Kanban system, these three steps form a continuous feedback loop. The work and the process are made transparent through the board, the team regularly inspects the board and the workflow to identify issues or bottlenecks, and then adapts the process based on these insights to improve the flow of work. This feedback loop is the key to empirical process control.
Defining & Visualizing the Workflow:
Definition of Work Item: A work item in Kanban represents an individual piece of work that needs to be done. It could be a user story, a feature, a task, a bug, or any other unit of work. The work items are represented by cards on the Kanban board. Each card includes information such as a description of the work, its priority, its due date, and any other relevant information. Defining what constitutes a work item helps ensure that all team members have a shared understanding of the work being done. Definition of Workflow: The workflow is the process that a work item goes through from start to finish. This could be as simple as "To Do," "In Progress," and "Done," or it could include more detailed stages depending on the nature of the work. The workflow is visualized on the Kanban board, with each stage represented by a column or section. Defining the workflow ensures that everyone understands the process and can see how work is progressing. Pull Policies: A pull system is one of the key principles of Kanban. In a pull system, new work is only started when there is capacity to handle it, rather than being pushed onto the team based on external demands. This is usually implemented through the use of a "Ready" or "To Do" column on the Kanban board. Team members pull work from this column when they have the capacity to start new work. Defining pull policies might involve specifying how work is prioritized, how and when team members should pull new work, and how to handle situations where the "To Do" column is empty or the "In Progress" column is full. WIP Limit: Work in Progress (WIP) limits are another key principle of Kanban. By limiting the amount of work that can be in progress at any one time, Kanban helps to maintain a steady, manageable flow of work. WIP limits are usually set for each stage of the workflow and are visualized on the Kanban board. Defining WIP limits might involve deciding what the initial limits should be, setting rules for how and when they can be changed, and determining how to handle situations where a WIP limit is reached.
Managing Work in Progress (WIP):
Stop Starting, Start Finishing, Avoid Unnecessary Aging: A key tenet of Kanban is to limit the amount of work in progress. This means that instead of continuously starting new tasks, the focus is on finishing existing tasks. Limiting WIP has multiple benefits such as improved flow of work, faster feedback cycles, reduced context switching, and better focus and collaboration. It also helps prevent tasks from aging unnecessarily. Aging in this context refers to the time a task spends in the system from start to finish. When tasks are started but not finished, they age without adding value, tying up resources that could be better used elsewhere. Highlight Work Item with Highest Value and/or Risk, Breaking Service Level Expectation (SLE): In a Kanban system, not all work items are equal. Some may deliver more value or carry more risk than others, and these should be prioritized. It's crucial to have a way to identify these high-value or high-risk tasks and ensure they're handled expediently. This is where Service Level Expectations come in. SLEs are forecasts about how long it will take a work item to move through the Kanban system. If a high-value or high-risk item is in danger of breaking its SLE, it should be flagged and addressed immediately to prevent delay in delivering value or potential damage from risk. Identify Bottleneck and Starvation, Balancing Entry Rate with Exit Rate: Bottlenecks occur when work piles up at one stage of the process faster than it can be handled, causing delays and blocking the flow of work. Starvation happens when a stage of the process runs out of work. Both bottlenecks and starvation can disrupt the flow and reduce the efficiency of the process. Therefore, it's essential to monitor the board regularly to identify bottlenecks and starvation and take corrective action. This could involve reallocating resources, adjusting WIP limits, or changing the way work is prioritized. The ultimate goal is to balance the rate at which work enters the system with the rate at which it exits, to maintain a smooth, continuous flow.
To manage work in progress effectively, a team needs to be diligent about not starting too much new work, be alert to high-value or high-risk items, and be proactive about identifying and addressing bottlenecks and starvation. Doing so will improve the flow of work, increase efficiency, and help ensure that the team is always working on the most valuable tasks.