Kanban is a popular framework in lean methodology used in managing and improving one’s own work process. The first Kanban system was developed by Taiichi Ohno(Industrial Engineer and Businessman) for Toyota automotive in Japan. It was created as a simple planning system, the aim of which was to control and manage work and inventory at every stage of production optimally.

A key reason for the development of Kanban was the inadequate productivity and efficiency of Toyota compared to its American automotive rivals. With Kanban, Toyota achieved a flexible and efficient just-in-time production control system that increased productivity while reducing cost-intensive inventory of raw materials, semi-finished materials, and finished products.

While kanban was introduced by Taiichi Ohno in the manufacturing industry, it is David J. Anderson who was the first to apply the concept to IT, Software development and knowledge work in general in the year 2004. One important thing about Kanban is that it can be applied to any system or methodology. Whether you're already the using of Agile techniques together with Scrum, XP and others, or extra conventional methods – waterfall, iterative, and many others. – you can always still apply Kanban on top of that to regularly start improving your strategies, reduce cycle time and improve your waft. In the method, you will find yourself on the route to non-stop delivery of functions, services or products.


  1. Visualize the flow of work: This is the fundamental first step to adopting and implementing the Kanban Method. You need to visualize – either on a physical board or an electronic Kanban Board, the process steps that you currently use to deliver your work or your services. Depending on the complexity of your process and your work-mix (the different types of work items that you work on and deliver), your Kanban board can be very simple to very elaborate. Once you visualize your process, then you can visualize the current work that you and your team are doing. This can be in the form of stickies or cards with different colors to signify either different classes of service or could be simply the different type of work items. (In Kanban, the colors signify the different work item types) If you think it may be useful, your Kanban board can have different Swim Lanes, one for each class of service or for each work item type.
  2. Limit WIP (Work in Progress): Limiting work-in-progress (WIP) is fundamental to implementing Kanban – a ‘Pull-system’. By limiting WIP, you encourage your team to complete work at hand first before taking up new work. Thus, work currently in progress must be completed and marked done. This creates capacity in the system, so new work can be pulled in by the team. Initially, it may not be easy to decide what your WIP limits should be. In fact, you may start with no WIP limits. Typically, many teams start with a WIP Limit of 1 to 1.5 times the number of people working in a specific stage. Limiting WIP and putting the WIP limits on each column of the board not only helps the team members first finish what they are doing before taking up new stuff – but also communicates to the customer and other stakeholders that there is limited capacity to do work for any team – and they need to plan carefully what work they ask the team to do.
  3. Manage Flow: Managing and improving flow is the crux of your Kanban system after you have implemented the first 2 practices. A Kanban system helps you manage flow by highlighting the various stages of the workflow and the status of work in each stage. Depending on how well the workflow is defined and WIP Limits are set, you will observe either a smooth flow within WIP limits or work piling up as something gets held up and starts to hold up capacity. All of this affects how quickly work traverses from start to the end of the workflow (some people call it value stream). Kanban helps your team analyze the system and make adjustments to improve flow so as to reduce the time it takes to complete each piece of work.
  4. Make Process Policies Explicit: As noted above, you can’t improve something you don’t understand. The process needs to be defined, published and socialized — explicitly and succinctly. Without an explicit understanding of how things work and how work is actually done, any discussion of problems tends to be emotional, anecdotal and subjective (AKA a knee-jerk reaction). When everyone really understands what you are doing now and what your goals are, then you can begin to make decisions regarding change that will move you in a positive direction. The choices will be more rational, empirical, objective discussion of issues. This is more likely to facilitate consensus around improvement suggestions. An example of a policy that you can make explicit is a definition of done. In fact, you can have a definition of done for each step in your workflow, meaning that before an item can be ready to pull forward, it has to meet certain criteria.
  5. Improve collaboratively (using models & the scientific method): As discussed, the Kanban method encourages small continuous, incremental and evolutionary changes that stick. You may hear the word Kaizen when you read about Kanban. Kaizen is a word generally meaning continuous improvement. Kaizen is a key part of using Kanban effectively. If you are not continually improving, but you are doing all of the other parts of the Kanban method, you are missing the point. Its a little like the concept of “doing” Agile but not being agile. When teams have a shared understanding of theories about work, workflow, process, and risk, they are more likely to be able to build a shared comprehension of a problem and suggest improvement actions which can be agreed by consensus.


  1. Start with what you do now: The Kanban method does not prescribe a certain setup or procedure. You can overlay Kanban properties on top of your existing workflow or process to bring your issues to light so that you can introduce positive change over time. This makes it very easy to begin a Kanban implementation as you do not have to make sweeping changes.
  2. Agree to pursue incremental, evolutionary change: Kanban encourages you to make small incremental changes rather than making radical changes that might lead to resistance within the team and organization.
  3. Respect the current process, roles, responsibilities & titles: Kanban recognizes that there may be value in the existing process, roles, responsibilities, & titles. You have existing pieces in the way you do what you do that are working properly and worth preserving. Kanban doesn’t prohibit change, but it doesn’t prescribe it either. If you do make changes, Kanban encourages incremental change. Incremental change doesn’t create the level of fear that impedes progress, which allows you to generate broader support for your Kanban implementation. It also makes it easier to implement Kanban. Small course corrections are also just inherently easier than altering the complete process.
  4. Encourage acts of leadership at all levels: You don’t need to be a team lead or an executive to be a leader. Some of the best leadership comes from everyday acts from people on the front line of their respective teams. Everyone needs to foster a mindset of continual improvement (kaizen) to reach your optimal performance as a team/department/company. This can’t be a management level activity.


The work of all Kanban teams revolves around a Kanban board, a tool used to visualize work and optimize the flow of the work among the team. While physical boards are popular among some teams, virtual boards are a crucial feature in any agile software development tool for their traceability, easier collaboration, and accessibility from multiple locations.

Regardless of whether a team's board is physical or digital, their function is to ensure the team's work is visualized, their workflow is standardized, and all blockers and dependencies are immediately identified and resolved. A basic Kanban board has a three-step workflow: To Do, In Progress, and Done. However, depending on a team's size, structure, and objectives, the workflow can be mapped to meet the unique process of any particular team.

Kanban Board