How to Combine Kanban and Lean: Methodologies Overview
The issue of combining various software development methodologies has been extremely topical in recent years. Today many developers wonder how to combine various traditional and Agile methodologies. But before doing that we have to give the proper definitions of both methodologies and describe their main features.
Kanban originated in the 1940s in Japan. It was invented by the managers of Toyota Corporation. The company had strong problems with the delivery of its products, so it needed a new production system. Later the methodology was applied to many industries including software engineering. Now it is considered one of the Agile methodologies. Most developers agree that Kanban is based on three principles: iterative structure of projects, visualization of workflow, and limitation of work in progress. It is necessary to mention that the iterative cycles of Kanban are unlike iterative cycles of other Agile methodologies. They don’t have separate backlogs and strict time frames. The time required to perform a certain task is considered an iterative cycle in Kanban. Kanban boards are the main means of workflow visualization used by Kanban teams.
This simple device is nothing but a table with several columns that depict the stages of task performance. Kanban boards are also useful to limit the amount of work in progress. If the team performs too many tasks at the same time, it may impact the terms of product delivery negatively. That is why Kanban teams usually work not more than on two tasks at the same time. The structure of Kanban teams is unlike the structure of teams in other Agile methodologies. They include many traditional software development roles like testers, project managers, and analysts to improve the quality and speed of their work.
The history of Lean is somehow similar to the history of Kanban. This methodology also was invented by Toyota Company in the middle of the 20th century. Initially, it was called Toyota production system. The methodology changed its name after it became popular all over the world. Now it is famous under the name Lean manufacturing. The method was applied to software engineering in 2003 when Tom and Mary Poppendieck published their book “Lean Software Development”. Elimination of wastes is the main principle of Lean. The methodology has its own definition of wastes that is quite effective and allows the developers to eliminate them quickly. In Lean everything that does not impact the functionality of the final software product is considered a waste.
Kanban and Lean methodologies can be combined. The first thing you need to do to achieve this goal is to implement the famous Lean definition of wastes into your practice. Lean team practices can also be useful in Kanban projects.