Kanban - A Japan-based Philosophy Revolutionizes Software Development

Kanban is japanese for "signal card" and originally refers to a production technique developed by employers of the automotive manufacturer Toyota. In an effort to optimize Toyota's production system, Taiichi Ohno created a concept that focuses on inventory reduction and continuous production flow. In the context of agile project management, Kanban is a product creation and development method that focuses on continuous delivery of incremental products. This method is popular in the IT sector and often used for managing software development projects. Like other agile project management methods, Kanban project management is designed to help teams work together more effectively.

David Anderson is considered the inventor of Kanban project management in the field of information technology and introduced his concept of agile project management in 2007. Even though he borrowed the name, Kanban in information technology does not copy the manufacturing techniques. The Kanban project management methodology is based on lean development principles and combines them with ideas from the Theory of Constraints and classic risk management.

The Kanban Principles

The underlying core system of Kanban project management is a pull system that limits the amount of work-in-progress. It aims at detecting problems in the work process and encourages continuous and collaborative improvement of the system. The four basic principles are:

On top of the four principles, Anderson identified six core practices that he observed in companies that sucessfully implemented Kanban project management method.

#1 Visualize the Workflow

In order to facilitate more effective team work, it is helpful to see what everyone is currently working on. All the project related tasks and work packages are listed on the so called Kanban board that also reflects a tasks current status. On the way to completion, a Kanban or work package moves from left to right on the board.

#2 Limit Work in Progress (WIP)

Capping the number of work packages that one team (member) can work on at the same time helps maintain a balanced workflow and avoids work overload. The team (member) pro-actively starts working on the next work package every time the previous task has been completed. This pull-system ensures that no one commits to too much work at once.

#3 Streamline the Flow

In order to improve the workflow it is necessary to measure key information like backlog, cycle time and output. Based on this work data, the team can provided stable information to the client and also optimize their work organization. 

#4 Communicate the Process Rules

Efficient teamwork demands that everyone involved has the same understanding of what the process requirements are. There should be a clear definition of what the status "complete" or "done" entails, when to start working on a new task and according to which prioritization rules.

#5 Facilitate Feedback

Most project related information that is crucial for successful project delivery as well as process improvement is with the project team. You can only improve a process if you listen to the feedback that those with hands on experience provide to you.

#6 Evolve Experimentally

Kanban project management focuses on small continuous and incremental evolution. The change process should be based on models because they make it easy to create a common understanding of current processes as well as determining experiments that can help achieve improvement. 

Web Demo