Kanban is an agile project and workflow management methodology that originated in manufacturing and was later adapted to software development and other fields. Kanban is based on the principles of the just-in-time (JIT) production system and was initially developed at Toyota as a way to improve efficiency and value delivery in its production processes.
The Kanban approach focuses on visualizing the workflow, limiting work in progress (WIP), and continuously optimizing the process to improve efficiency and quality. Some of the key concepts in the Kanban methodology include:
- Visualization of the workflow: Kanban uses a work board (Kanban Board) that divides the workflow into columns, each representing a different stage of the process (e.g., "To Do," "In Progress," and "Done"). Cards (Kanban Cards) represent individual tasks and move from left to right across the columns as they progress through the process.
- Limiting work in progress (WIP): Kanban imposes limits on the number of tasks that can be in a stage of the process at the same time. These limits help balance the workload and prevent bottlenecks, thereby improving efficiency and quality.
- Flow management: The primary goal of Kanban is to continuously improve workflow and reduce cycle times. This is achieved by monitoring the workflow, identifying and resolving bottlenecks, and adjusting WIP limits as necessary.
- Key performance indicators (KPIs): Kanban uses metrics and key performance indicators, such as cycle time and lead time, to assess process efficiency and quality and to identify areas for improvement.
- Continuous improvement: Teams using Kanban commit to learning from their experience and making continuous improvements to their processes and working practices.
Kanban is a flexible and adaptable methodology that can be applied in a wide variety of contexts and project types. It is particularly useful in environments where priorities change frequently and where demand and capacity need to be balanced. Kanban can also be combined with other agile methodologies, such as Scrum, to create hybrid approaches that leverage the strengths of both systems.
History and context
As we've mentioned, Kanban is a project and process management methodology that originated in the Toyota production system in Japan during the 1940s. Taiichi Ohno, an industrial engineer and executive vice president at Toyota, is considered the creator of the Kanban system. The methodology was developed to improve efficiency in production and reduce waste in the supply chain by managing the flow of work.
The term "Kanban" comes from Japanese and means "visual card" or "board." In the context of the Toyota production system, Kanban cards were used to signal the need for replenishment of materials or parts, ensuring that only necessary amounts were produced at each stage of the process, reducing waste and improving efficiency.
The Kanban system was later adopted in the software industry and other areas as a project and process management methodology, especially after the publication of David J. Anderson's book "Kanban: Successful Evolutionary Change for Your Technology Business" in 2010. Anderson adapted the principles of the Toyota Kanban system to software development and project management, laying the groundwork for the modern Kanban we know today.
Although the historical context of Kanban is in the automotive industry, its adaptation to project and process management in software and other areas has made it a widely adopted agile methodology today. Key references in Kanban literature include the aforementioned book by David J. Anderson and "Kanban from the Inside" by Mike Burrows.
The Kanban board
A Kanban board is the visualization tool used in the Kanban methodology to manage the workflow of a project or process. The Kanban board helps teams to understand the current state of tasks and to identify possible bottlenecks or imbalances in workload. Visualizing the workflow enables more effective communication, better collaboration, and continuous improvement in efficiency and quality.
The board is organized into columns, which represent the different stages of the process or workflow. The stages may vary depending on the type of project and the specific needs of the organization, but often include columns such as "to do" (pending), "in progress" (working on it), and "done" (completed).
Kanban cards, also known as "cards" or "items," represent individual tasks or units of work within the project. Each card includes relevant information about the task, such as a description, priority, responsible assignments, and deadlines. The cards are placed in the column corresponding to their current state in the workflow and are moved from left to right as they progress through the process
Teams using a Kanban board also establish work in progress (WIP) limits for each column or stage of the process. These limits help to avoid work overload and ensure that the team focuses on completing current tasks before starting new ones. When the WIP limit is reached in a column, no new cards can be added until some task is completed and moved to the next column.
The operation of a Kanban board involves the following steps:
- Define the columns that represent the stages of the workflow on the board.
- Create Kanban cards for each task or unit of work in the project.
- Establish work in progress (WIP) limits for each column or stage of the process.
- Move the cards through the columns as they progress through the process, respecting the established WIP limits.
- Monitor the workflow, identify and resolve bottlenecks or imbalances in workload.
- Perform periodic reviews and adjustments to the process and Kanban board to improve efficiency and quality.
A Kanban board can be physical, using a cork board and paper cards, or digital, using software tools such as Trello, Asana, or Jira. The choice between a physical or digital board depends on the team's preferences and the specific needs of the project.
Work In Progress limitation
Work in Progress (WIP) limitation is a key concept in the Kanban methodology that refers to setting limits on the amount of tasks that can be in a specific stage of the process at the same time. The idea behind WIP limitation is to avoid overload and improve the efficiency and quality of the workflow.
Setting WIP limits in the columns of the Kanban board has several benefits:
- Prevents overload: Limiting the number of tasks in a process stage helps ensure that team members are not overloaded with too many tasks at the same time. This can improve the quality of work and reduce the risk of burnout.
- Improves efficiency: By limiting WIP, teams are forced to focus on completing current tasks before starting new ones. This avoids multitasking and dispersion, and can improve efficiency and reduce cycle times.
- Identifies bottlenecks: By observing the workflow on the Kanban board and applying WIP limits, teams can easily identify bottlenecks or imbalances in the workload. If a column consistently reaches its WIP limit, it could indicate a problem in that stage of the process that requires attention and adjustment.
- Fosters collaboration: When the WIP limit is reached in a column, team members can collaborate to help complete current tasks and advance the workflow. This fosters communication and collaboration within the team and contributes to a more integrated approach to addressing challenges.
- Improves value delivery: By focusing on completing tasks before starting new ones, teams can deliver value more quickly and consistently to end users and stakeholders. This allows for greater adaptability to changes and better alignment with business needs and priorities.
Limiting WIP is a simple but powerful approach to improving efficiency, quality, and collaboration in projects and processes that use the Kanban methodology. While there is no single formula for calculating the WIP limit, there are several techniques and approaches that can help you determine the right limit for your team:
- Team and workflow observation: Study how your team works and assess their capacity. Start with a WIP limit based on the number of team members and adjust as needed as you observe team performance and workflow effectiveness.
- Experimentation: Start with tentative WIP limits and adjust over time based on results and observations. Experimentation will allow you to find the optimal balance between workload and team capacity.
- Cycle time and capacity: Analyze cycle times (the time it takes to complete a task from start to finish) and team capacity. If cycle times are long, consider reducing the WIP limit to focus on completing current tasks before taking on new ones.
- Arrival and departure rate: Study the arrival rate of new tasks (how many tasks enter the system in a period of time) and the departure rate (how many tasks are completed in a period of time). Adjust the WIP limit so that the departure rate is equal to or greater than the arrival rate.
- Little's Law: Little's Law is a formula that states that the average number of items in a system (L) is equal to the average time an item spends in the system (W) multiplied by the average arrival rate of items (λ): L = λW. While it does not provide a specific formula for calculating the WIP limit, it can be used to evaluate and optimize process efficiency.
- Load factor: The load factor is a measure of the amount of work assigned to each team member. It is calculated by dividing the total number of tasks in progress by the number of team members. You can set WIP limits based on the desired load factor, making sure team members are not overloaded.
Remember that the WIP limit is a tool for improving workflow and team efficiency, so it's important to monitor performance and adjust WIP limits as needed. WIP limits should be flexible and adapt to changing project conditions and team needs.
Amount of work measurement
In Kanban, measuring the amount of work is fundamental to efficient workflow management and continuous process improvement. There are several metrics and approaches you can use to measure the amount of work in Kanban:
- Number of cards: You can count the number of cards on the Kanban board to get a general idea of the amount of work. This metric is simple but may not be sufficient for understanding the complexity or effort required in each task.
- Story points: Story points are a measure of the complexity and effort of a task, compared to other tasks in the project. Although story points are commonly used in Scrum, they can also be applied in Kanban to measure the amount of work in terms of effort and complexity. By summing up the story points of the cards on the Kanban board, you can obtain a measure of the amount of work.
- Cycle time: Cycle time is the time it takes to complete a task from start to finish. By measuring and analyzing cycle times on the Kanban board, you can gain insights into process efficiency and the amount of work at each stage of the workflow.
- Lead time: Lead time is the time it takes from when a task enters the system (e.g. when it is added to the product backlog) to when it is completed. By measuring lead time, you can assess how quickly the team can deliver value to customers and how the amount of work evolves over time.
- Arrival rate and departure rate: Arrival rate is the number of new tasks that enter the system in a given period of time, while departure rate is the number of tasks completed in that same period. By comparing these two rates, you can evaluate how the amount of work changes over time and whether the team is able to keep up with demand.
- Control charts: Control charts are visual tools that show process performance over time, including metrics such as cycle time, lead time, and arrival and departure rates. These charts can help you identify trends, variability, and areas for improvement in the amount of work and process efficiency.
By measuring the amount of work in Kanban using these metrics and approaches, you can gain a deeper understanding of team and process performance, identify areas for improvement, and make informed decisions to optimize efficiency and value delivery.
Amount of work assignment
Assigning the appropriate amount of work to each card in Kanban is essential to ensure an efficient workflow and avoid overloading the team. To determine the amount of work to assign to each card and limit the amount of work in progress (WIP), you can follow these steps:
- Task breakdown: Break down the work into small, manageable tasks that can be completed in a short period of time. Make sure the tasks are well-defined and have a clear objective.
- Effort estimation: Estimate the effort required to complete each task. You can use story points, man-hours, man-days, or another measure of effort that is appropriate for your team and project. The estimation should be realistic and based on the team's previous experience and the complexity of the task.
- Resource allocation: Assign tasks to team members based on their capacity, skills, and availability. Make sure not to overload team members with too many simultaneous tasks and distribute the work evenly.
- Setting WIP limits: Set work in progress (WIP) limits based on the team's capacity and the estimated effort for each task. WIP limits should be realistic and allow the team to maintain an efficient workflow without causing bottlenecks or overload.
- Monitoring and adjustment: Monitor the progress of the work and the team's performance over time. If you see that the team is overloaded or there are bottlenecks in the workflow, adjust the WIP limits and task allocation as necessary.
- Feedback and continuous improvement: Encourage communication and feedback among team members to identify areas for improvement and adjust task allocation and WIP limits as necessary.
By following these steps and adapting them to the needs and specifics of your team and project, you can effectively assign the appropriate amount of work to each card in Kanban and limit the amount of work in progress.
In Kanban, monitoring the workflow is essential to identify and resolve bottlenecks. There are several tools and techniques that you can use to monitor the workflow and improve process efficiency:
- Kanban board: The Kanban board is a visual tool that shows the workflow and the status of tasks in real time. By observing the board, you can quickly identify areas where cards accumulate and bottlenecks form.
- WIP limits: Setting work in progress (WIP) limits in each column of the Kanban board helps you identify bottlenecks and avoid work overload. If the WIP limit in a column is reached or exceeded, it is a signal that there is a bottleneck in that stage of the workflow.
- Control charts: Control charts are visual tools that show process performance over time, including metrics such as cycle time and lead time. By analyzing control charts, you can identify trends and variations in the workflow and detect problem areas that may be causing bottlenecks.
- Cumulative flow diagrams (CFDs): CFDs are charts that show the accumulated amount of work over time in each stage of the workflow. By analyzing CFDs, you can identify bottlenecks and imbalances in the workflow, as they will appear as areas where work accumulates or stagnates.
- Team meetings and communication: Encourage open communication and collaboration among team members to share information about the status of work and discuss possible bottlenecks. Regular meetings, such as daily stand-up meetings, can help keep everyone informed and quickly identify any problems in the workflow.
- Root cause analysis: If a bottleneck is identified, perform a root cause analysis to determine the underlying reason for the problem. This may include capacity issues, lack of specific skills, external dependencies, or communication problems. Once you have identified the cause, work on solutions to resolve the bottleneck and improve the workflow.
By monitoring the workflow in Kanban using these tools and techniques, you can effectively identify and resolve bottlenecks and improve process efficiency and productivity.
Control charts in Kanban
Control charts are visual tools that help monitor process performance and workflow efficiency. Some of the most commonly used control charts in Kanban include:
Cumulative Flow Diagram (CFD): A CFD shows the accumulated amount of work in each stage of the workflow over time. This chart helps identify bottlenecks and imbalances in the workflow, as well as monitor progress and value delivery.
Cycle Time Chart: The cycle time chart shows the time it takes to complete a task from start to finish. By visualizing cycle times over time, you can identify trends, variability, and areas for improvement in process efficiency.
Lead Time Chart: The lead time chart shows the time it takes for a task to enter the system (e.g. when added to the product backlog) to when it is completed. By analyzing lead times, you can evaluate how quickly the team can deliver value to customers and how the amount of work evolves over time.
Burn-down Chart: Although more commonly used in Scrum, the burn-down chart can also be used in Kanban to monitor work progress. This chart shows the amount of remaining work compared to the available time, allowing teams to identify if they are on track to complete the work within the expected timeframe.
Burn-up Chart: The burn-up chart is similar to the burn-down chart, but shows the amount of completed work instead of the remaining work. This can provide a different perspective on team progress and value delivery.
Throughput Chart: This chart shows the number of tasks completed (throughput) and those entering the system (arrival rate) during a specific time period. By analyzing these rates, you can evaluate the team's ability to keep up with demand and adjust task allocation as needed.
By using these control charts in Kanban, you can monitor process performance, identify areas for improvement, and make informed decisions to optimize efficiency and value delivery.