Kanban was derived from the lean approach to manufacturing developed by Toyota. It is not time boxed, but rather offers some concepts that can be used to drive efficiency on any agile project. It allows for visualization of the workflow, and empowers the team to own and manage its workflow.
Kanban involves setting up visual bins – usually in a low-tech way, like on a whiteboard or even a wall with sticky notes. Those bins will typically include basic work categories like work to be done, work in progress, and work completed. Of course, there can be additional bins representing different aspects of work in progress. The key idea with Kanban is that it is a “pull" system, where once an item exits a bin, there is room for a new item to be pulled from the preceding bin. This allows for maximum worker efficiency, and provides a framework for doing basic process management.
Five (5) Principles of Kanban
There are five (5) core principles that guide the operation of Kanban software development:
- Visualize the workflow – By nature software development is knowledge intensive. Kanban boards enable teams to organize the work for tracking and optimizing of workflow visually.
- Limit Work In Progress (WIP) – While there needs to be work in progress in any given bin, productivity – or velocity, in more agile terms - actually declines when there is too much WIP.
- Manage Flow – The visual aspect of Kanban helps facilitate the management of the flow of work. Everyone on the team can see the overall flow, and process adjustments can be made to improve the flow. Feedback on adjustments can be rapid.
- Make process policies explicit – The idea here is to keep the emotions out by articulating clearly how things work, allowing for meaningful discussion and fruitful actions going forward.
- Improve collaboratively – The process is owned by the team, and they can and must work together to improve it. Kanban is a very empowering method.
Kanban is simple at its core, but that is the beauty of it. It allows a team to see its workflow clearly and to manage it using simple, low-tech methods that can be very effective. It can be used as part of any agile project, and not necessarily just on its own.
A Look at Agile Methods
A series on the most popular agile project management methods, including Scrum, Extreme Programming (XP), Lean Product Development and Kanban.
- Agile Method #1: Scrum
- Agile Method #2: Extreme Programming (XP)
- Agile Method #3: Lean Product Development
- Agile Method #4: Kanban