Lean vs Kanban: The Difference
Some software developers often ask: “What is the difference between Lean and Kanban?” In this article we will try to find out the answer to this question. It is necessary to know what Lean and Kanban methodologies are, to do that. Let’s begin our review with the description of Lean methodology.
Lean originated in Japan in the middle of the 20th century. At that time a famous Japanese motor corporation Toyota needed to improve its system of product delivery. The managers of the company have invented a new project management system for manufacturing and called it Toyota production system. Later, when it became popular all over the world, it was called Lean manufacturing. In 2003 the system was applied to software development and became a new project management methodology. Famous Lean researchers Mary and Tom Poppendieck released a book called “Lean Software Development”. It is still quite topical because it describes the main principles of Lean methodology and tells how to apply them to software development. Lean is an Agile methodology. The structure of its projects is iterative. That is because of the fact that Lean teams are focused on creating high quality product by avoiding defects in it or detecting them at first stages of project realization. The main idea of Lean is elimination of wastes. Anything that does not impact the functionality of the final software product positively is considered a waste in Lean.
Kanban project management methodology also was invented by the managers of Toyota Corporation. It originated in the 1940s. That is why some people confuse it with Lean. However, unlike Lean, Kanban is aimed not at eliminating wastes, but at optimizing the manufacturing process by regulating the supply of raw material. At the beginning of the 21st century Kanban methodology was applied to software development. Now it is one of the Agile methods. Visualization of workflow, limitation of work in progress, and iterative structure of projects are the main principles of Kanban. Kanban teams use special task boards to visualize their workflow. That helps them see when it is necessary to speed up their work, or to take a slower pace. Kanban boards also help the developers limit the amount of WIP. Usually Kanban teams don’t work on more than two tasks at the same time. The iterative cycle of Kanban is unlike Lean iterative cycle. It has only one task and does not have a separate plan.