6 Kanban Practices
Is Kanban a board? Or is it an agile method? What is the difference between a Scrum board and a Kanban Board? How to implement Kanban method in your team? Read the followings to find the answer.
What is Kanban system
Kanban means "signal card" in Japanese. It was first created as a simple planning system to control and manage work and inventory at each stage of production to the utmost and applied in Toyota production. With Kanban, Toyota achieved a production control system that is flexible and efficient in real-time and it increases productivity while reducing the cost of raw materials, semi-finished materials, and finished products.
To fully comprehend the Kanban system and its popularity, we must first understand how it was created and introduced by Taiichi Ohno, the creator of the Toyota Production System and Lean production. The creation of Kanban system reveals the genius that distinguishes him as one of our time's most disciplined and innovative thinkers. Taiichi Ohno makes an insightful statement,
We need to get rid of the idea of “the more, the better” as soon as possible.
Furthermore, Taiichi Ohno said, "In today's slow growth period, however, we must downplay the advantages of mass manufacturing as soon as possible." A production system aimed at increasing lot sizes is not feasible. Aside from producing a variety of waste, such a production system is no longer suitable for our needs.
Kanban, as an agile methodology in software development, is to help teams work together more effectively. It is a pull scheduling system. A physical board is often used as a tool to visualize the work. A limit is set to manage the flow of work, so the team is not idle or overloaded. Then, how to implement the Kanban method in a team.
What is a Kanban board
Kanban is a visual monitoring, signalling, or scheduling system that facilitates just-in-time distribution (JIT). Just In Time (JIT) is a management mechanism that produces just what is needed, when it is needed, and gets it to the right place on time.
Kanban literary translation is "sign card", a card or other visual regulation that authorizes product creation or movement. A kanban is a visible symbol or signal that conveys a series of orders to either remove sections or create a particular output.
6 Practices of Kanban
Kanban does not have any predefined process for software development. The team can apply the elements of the Kanban to the existing workflow to expose the waste, uneven work, team overload, bottlenecks, defects and such in the system, as well as the risk of delay. Meanwhile, it gradually introduces the change of the process based on the problems found. Kanban is an empirical process. Below are six major practices,
- Visualize the workflow
In software development, work is quite abstract, for it does not have a physical form or it can be touched. A Kanban board is used to visualize the work using a physical board and post-it notes. It is an intuitive way to see how works flow from one stage to another. A typical Kanban board looks like this,
The progress of work, how it flows, and what the risks are can be identified from reading the board.
- Limit WiP(work in progress)
WiP stands for Work in Progress. It is a key term in the Kanban method. Usually, people would think the number of WiP is the bigger, the better. However, any work in progress means that it is not completed. Therefore, it is a waste of time and effort. The final output is much valued, so to limit the work in progress is to make sure the work actually flows from "upstream" to "downstream" in a team and no blockage to affect the team productivity. Balance, a value of Kanban, is closely related to this practice.
Stop starting, start finishing. This is what limit WiPs means in Kanban practices.
- Manage flow
Lead-time is everything for managing the flow of work. It is the time from when the work is started till the end of the work done. Flow is the measurement of work is done in a steady and predictable mode. The staff and work are allocated reasonably.
- Make policies explicit
Transparency is valued in the Kanban method, so making policies simple and clear is a good way to improve team collaboration. As Kanban is a pull system, the team has to set the pull-criteria. Only when the work downstream is done, the upstream work can be started. It is like a pull system, rather than a push system. Then, fix the WiP limit which is immutable afterward. Other process rules can be set accordingly.
- Improve feedback loops
On a Kanban board, feedback is not displayed. Feedback is done via meetings which are cadences of Kanban. A brief introduction of Kanban cadences can be found HERE.
Having feedback loops is to improve the information transparency within the team and doing kaizen in-time. Kaizen is also a word from Japanese and applied in production. It simply means change for the good and shares the same value of continuous improvement in software development.
- Improve collaboratively, evolve experimentally
The first part of this practice, improve collaboratively, is how to drive the change in your team, while the second part, evolve experimentally, is how you implement the change. PDCA is often used by the Kanban community. It is a four-step iterative way to improve continuously. PDCA stands for plan-do-check-act. The team needs to do implement change together and cooperate.
See More about Kanban
- If you want to know the basics of Kanban, refer to Kanban: Stop Starting, Start Finishing.
- If you want to know more about the Toyota Production System and Scrum, read Amoeba, TPS, Scrum and XP.
- If you want to know the difference between Scrum and Kanban, read Scrum vs Kanban.
1. David J. Anderson and Andy Carmichael PhD. FBCS. Essential Kanban Condensed. First edition, digital version, 17 April, 2016.
2. Henrik Kniberg and Mattias Skarin. Kanban and Scrum - Making the Most of Both.3. Patrick Steyaert. Essential Upstream Kanban. First digital version, 23 September, 2017.