In this article we will discuss how you can organize the work of your team using Kanban, prioritizing and delivering value in the most agile and efficient way. After reading this article, you will understand the concepts, principles and effective use of Kanban.
The word Kanban comes from the Japanese word for “record” or “visible plate”. This tool was originally created by Toyota’s Taiichi Ohno with the intention of developing a system that delivered a high level of productivity.
It is a system, usually represented by a frame, but also organized through software or even a sheet of paper; where cards representing the work follow a pre-established flow of stages. As the work progresses, the cards change stage, and whenever a new job is identified, a new card is created. In Figure 1 we have an example of kanban.
Figure 1: Example of Kanban
Nowadays, in addition to it’s use in production and manufacturing, Kanban is a very common tool in teams that follow Lean-based product development. Likewise, teams that use agile development methodologies, such as SCRUM, have also seen a lot of value in how this tool can be used to increase productivity.
Kanban implements concepts of the Theory of Constraints (TOC) through a system model “pulled”, seeking to identify and manage constraints that limit system performance. In a nutshell, the Kanban “pull” system model relates capacity to the number of cards or tickets that can be put into circulation through a signaling mechanism where each new job can only be started when a card is available. Thus, demand “pulls” production into a Just-in-Time (JIT) system of equalized production.
Just-in-Time is a production management system that determines that nothing is to be produced, transported or purchased prior to the exact time. It can be applied to any organization to reduce inventories and costs. This system is also one of the pillars of toyotism.
Finally, kanban is a simple form of cash management, where the use of cards in a frame or wall makes it possible for people to quickly check progress on a given a project or task. One of the main advantages of the use of cash management, is that it allows for greater ease of assimilation of information by the workforce, through the use of graphs, symbols and diagrams. Another advantage is transparency, because all the necessary information is exposed to all, allowing better communication and greater integration.
Principles of Kanban
Kanban seeks to identify opportunities for improvement by creating a Kaizen culture in the team, in which continuous improvement is everyone’s responsibility.
The basic principles around this tool are:
Value Chain Visualization: viewing the phases of the product (for example, a software, something material or even a service);
Evolutionary (Adaptive) Development: through simple change management, adapting with agility, delivering what has the most value. Note that the word “agility”, often confused with speed, here means the ability to adapt to changes with relative ease and efficienfcy.
Restriction of work and its progress around stages: allowing measurement, control and continuous improvement.
How to Implement Kanban in Four Easy Steps
Kanban can be used in all most any field: from software development and IT management through to business development, design, finance, marketing, operations, etc.
Proper use of this tool results in effieciency, increased productivity and agility when responding to changes that arise during the execution of tasks and projects within your organization. Kanban will help your team that work more efficiently, whilst keeping communication noise to a minimum.
A simple way to deploy Kanban in your team is described in the four steps below:
1 - Team
It is important that the team be prepared to assimilate the concepts and principles of kanban . There can be resistance, since transparency brings as a consequence the visualization of who is productive and also of who is unproductive.
Present the concepts, principles, and a basic example of using kanban and the benefits the team will get from using it.
It is always good to remember that, regardless of the tool, the team is the most important part. A capable team works well with any tool, while an incapable team usually fails using even the best of methods.
Having understood the basics of the tool, it is possible to build a Kanban approach that will suit the needs of your team.
2 - Identifying Work Placements
Identify the classsifcations your team follows to complete a product, project, or service. The most common flow starts in “TO DO” and ends in “DONE,” usually with Doing or “WIP” (Working In Progress) in the middle, but can be changed to suit your needs.
Identify Work Classes, such as [user storie], [bug], [defect], [improvement], [test], [requirement], etc. which will help categorize the work and better organize the picture;
Try to set time limits that cards can stay in certain stages, for example, a card can not stay more than two hours in “TO DO” if it is of type [defect].
With the framework set and the rules defined and clear for the whole team, it is possible to move to the most important part of kanban : the prioritization of work. Prioritization is especially important because it keeps the focus on what really should be done first, which will deliver value to the client or to the organization.
Figure 2. Example of kanban with tasks
3 - Prioritization
Position high priority tasks always at the top of the kanban . If desired, you can separate the frame into categories, but keep this prioritization structure between them. This allows you to quickly deliver value (product that can be redily used/sold), following the principle of Pareto (80/20 principle) applied to development, which states that 80% of the value of your product can be generated with 20% of the total work.
Maintain constant control of what is a priority by identifying, whenever possible, changes in order or new cards that are required. That way you improve quality and reduce costs by eliminating / postponing unnecessary work.
Problems that prioritization helps avoid: delivery of useless software, dissatisfied customer, goals or sprints (in the case of SCRUM) unreached, delays in delivering bugs and improvements, difficulty reallocating teams and skill shortages within the team.
Figure 3 shows an example of Kanban prioritized, where items with red marks are of a higer priority than tasks marked with other colors. That is, red items generate more value to the final product. Therefore, it is a good practice for the team to start the tasks by performing the items with the highest priority.
Figure3. Example of kanban prioritized
Finally, it is quite important to have workflow metrics, to achieve continuous improvement.
4 - Measurement and Continuous Improvement
Establish a simple measurement system such as: work that needs to be done and what has been done up to the moment (SCRUM uses a lot of burndown chart , lead time , etc.).
Simulate the risks while doing the work, looking for bottlenecks before they appear. This helps to determine preventive action plans, which considerably reduce risks. There are both simulation methods and automated tools that help with this task;
To achieve continuous improvement, adaptation is the key word. Do not make the mistake of thinking that the Kanban you and your team set up at the beginning will remain the same forever. Open-mindedness is needed to identify opportunities for improvement, such as adapting your Kanban with more or less stages or learning to prioritize what generates more value.
In short, Kanban is discipline, transparency, prioritization and adaptation. Correct use of Kanban can bring a lot of value to an organization, to a team or even to a personal project.
It is easy to set up and keep up to date, always responding to changes that appear down the road.
It is worth mentioning that, irrespective of the tools used, the most important thing for a project or organization to function is having a dedictaed and apropriately skilled team.