Definition of Kanban
Kanban is one of the approaches for Agile Implementation, which was first used and developed by Taiichi Ohno. Taiichi Ohno was working as an Industrial Engineer at the Japanese company Toyota. It is an approach which uses a visual system formanaging the work as it moves forward. While Taiichi Ohno developed it for the manufacturing work, it was not until 2004 when David J. Anderson used this method for IT Software Development, and since then, it has become one of the most popular agile development approaches. When used for software development, Kanban uses the stages in the software development lifecycle (SDLC) to represent the different stages in the manufacturing process. The aim is to control and manage the flow of features (represented by Kanban cards) so that the number of features entering the process matches those being completed.
Types of Kanban Systems
In a Kanban system, adjacent upstream and downstream workstations communicate with each other through their cards, where each container has a Kanban associated with it. Economic Order Quantity is important. The two most important types of Kanbans are:
- Production (P) Kanban: A P-Kanban, when received, authorizes the workstation to produce a fixed amount of products. The P-Kanban is carried on the containers that are associated with it.
- Transportation (T) Kanban: A T-Kanban authorizes the transportation of the full container to the downstream workstation. The T-Kanban is also carried on the containers that are associated with the transportation to move through the loop again.
The Kanban philosophy and Task Boards are also used in Agile project management to coordinate tasks in project teams. An online demonstration can be seen in an Agile Simulator. Implementation of Kanban can be described in the following manner:
- The workflow consists of logical steps.
- There are two steps to a workflow viz. queue and work in progress/process.
- The team in charge decides on the maximum amount of work each step of the workflow can hold.
- Work is pushed into the queue step and pulled into the process step.
- If need be, work is halted in two successive stages to clear bottleneck.
A third type involves corporate training. Following the just-in-time principle, computer-based training permits those who need to learn a skill to do so when the need arises, rather than take courses and lose the effectiveness of what they've learned from lack of practice.
Many manufacturers have implemented electronic Kanban (sometimes referred to as e-Kanban) systems. These help to eliminate common problems such as manual entry errors and lost cards. E-Kanban systems can be integrated into enterprise resource planning (ERP) systems, enabling real-time demand signaling across the supply chain and improved visibility. Data pulled from E-Kanban systems can be used to optimize inventory levels by better tracking supplier lead and replenishment times.
E-Kanban is a signaling system that uses a mix of technology to trigger the movement of materials within a manufacturing or production facility. Electronic Kanban differs from traditional Kanban in using technology to replace traditional elements like Kanban cards with barcodes and electronic messages like email or Electronic data interchange.
A typical electronic Kanban system marks inventory with barcodes, which workers scan at various stages of the manufacturing process to signal usage. The scans relay messages to internal/external stores to ensure the restocking of products. Electronic Kanban often uses the internet as a method of routing messages to external suppliers and as a means to allow a real-time view of inventory, via a portal, throughout the supply chain.
Organizations like the Ford Motor Company and Bombardier Aerospace have used electronic Kanban systems to improve processes. Systems are now widespread from single solutions or bolt on modules to ERP systems.
Foundational Principles and Core Practices of Kanban
Four Foundational Principles
- Start with what you are doing now: The Kanban Method (hereafter referred to as just Kanban) strongly emphasizes not making any change to your existing setup/ process right away. Kanban must be applied directly to current workflow. Any changes needed can occur gradually over a period of time at a pace the team is comfortable with.
- 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.
- Initially, respect current roles, responsibilities and job-titles: Unlike other methods, Kanban does not impose any organizational changes by itself. So, it is not necessary to make changes to your existing roles and functions which may be performing well. The team will collaboratively identify and implement any changes needed. These three principles help the organizations overcome the typical emotional resistance and the fear of change that usually accompany any change initiatives in an organization.
- Encourage acts of leadership at all levels: Kanban encourages continuous improvement at all the levels of the organization and it says that leadership acts don’t have to originate from senior managers only. People at all levels can provide ideas and show leadership to implement changes to continually improve the way they deliver their products and services.
Six Core Practices of the Kanban Method
- 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. 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. However, initially, to keep things simple, you could also just have a single swimlane to manage all your work – and do any board redesign later.
- 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. It has been suggested that you can start with no WIP limits and simply observe the initial work in progress as your team starts to use Kanban. Once you have sufficient data, define WIP limits for each stage of the workflow (each column of your Kanban board) as being equal to half the average WIP. 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.
- 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. A key aspect of this process of observing your work and resolving/ eliminating bottlenecks is to look at the intermediate wait stages (the intermediate Done stages) and see how long work items stay in these “handoff stages”. As you will learn, reducing the time spent in these wait stages is key to reducing Cycle Time. As you improve flow, your team’s delivery of work becomes smoother and more predictable. As it becomes more predictable, it becomes easier for you to make reliable commitments to your customer about when you will get done with any work you are doing for them. Improving your ability to forecast completion times reliably is a big part of implementing a Kanban system.
- Make Process Policies Explicit: As part of visualizing your process, it makes sense to also define and visualize explicitly, your policies (process rules or guidelines) for how you do the work you do. By formulating explicit process guidelines, you create a common basis for all participants to understand how to do any type of work in the system. The policies can be at the board level, at a swim lane level and for each column. They can be a checklist of steps to be done for each work item-type, entry-exit criteria for each column, or anything at all that helps team members manage the flow of work on the board well. Examples of explicit policies include the definition of when a task is completed, the description of individual lanes or columns, who pulls when, etc. The policies must be defined explicitly and visualized usually on the top of the board and on each lane and column.
- Implement Feedback Loops: Feedback loops are an integral part of any good system. The Kanban Method encourages and helps you implement feedback loops of various kinds – review stages in your Kanban board workflow, metrics and reports and a range of visual cues that provide you continuous feedback on work progress – or the lack of it – in your system. While the mantra of “Fail fast! Fail often!” may not be intuitively understood by many teams, the idea of getting feedback early, especially if you are on the wrong track with your work, is crucial to ultimately delivering the right work, the right product or service to the customer in the shortest possible time. Feedback loops are critical for ensuring that.
- Improve Collaboratively, Evolve Experimentally (using the scientific method): The Kanban Method is an evolutionary improvement process. It helps you adopt small changes and improve gradually at a pace and size that your team can handle easily. It encourages the use of the scientific method – you form a hypothesis, you test it and you make changes depending on the outcome of your test. As a team implementing Lean/ Agile principles, your key task is to evaluate your process constantly and improve continuously as needed and as possible. The impact of each change that you make can be observed and measured using the various signals your Kanban system provides you. Using these signals, you can evaluate whether a change is helping you improve or not, and decide whether to keep it or try something else. Kanban systems help you collect a lot of your system’s performance data – either manually, if you use a physical board, or automatically, if you use a tool. Using this data, and the metrics it helps you generate, you can easily evaluate whether your performance is improving or dropping – and tweak your system as needed.
A Kanban board is a tool for workflow visualization and a key component of the Kanban method. Visualizing your workflow and tasks on a Kanban board helps you better understand your processes and gain an overview of your workload. Kanban boards use Card, Column, Swimlanes, and WIP Limits to enable teams to visualize and manage their workflows effectively.
- Kanban Cards – This is the visual representation of tasks. Each card contains information about the task and its status, such as deadline, assignee, description, etc.
- Kanban Columns – Each column on the board represents a different stage of your workflow. The cards go through the workflow until their full completion.
- Work-in-Progress Limits – They restrict the maximum amount of tasks in the different stages of the workflow. Limiting WIP allows you to finish work items faster by helping your team focus only on current tasks.
- Kanban Swimlanes – These are horizontal lanes you can use to separate different activities, teams, classes of service, and more.
Implementing an Effective Kanban System
The Toyota Company devised six rules for the successful implementation of the Kanban System. Some of these rules apply more readily to analog systems, but it’s important to understand how the Kanban system works is that the basic principles that make Kanban such an effective way to operate.
- Customer (downstream) processes withdraw items in the precise amounts specified by the Kanban card: This rule eliminates “just in case” orders from the people or departments further down the production process. There’s no need to tax your team with doing extras that no one currently needs.
- Supplier (or upstream) produces items in the precise amounts and sequences specified by the Kanban card: In analog environments, breaking this rule would result in over-production, which means resources unnecessarily tied up in overstock. Applying this rule in the digital world means only working on tasks as they’re actually requested. This prevents wasted effort that can come from guessing at what might need to be done before anyone has initiated the request.
- No items are made or moved without a Kanban card: In order for any system to work, the team has to stick with the system. This means the cards become the golden standard for what gets done, and everyone can trust that the Kanban board is giving an accurate picture of the project progress. If there’s no card for something that must be done, make a new card.
- A Kanban card should accompany each item, every time: In a physical production environment, moving stuff around without a Kanban card would wreak havoc on the production system. In the digital world, the cards are the system, so it’s essential that team members utilize the cards properly so everyone stays organized.
- Defects or incorrect amounts are never sent to the next downstream process. This is a pretty straightforward rule in manufacturing process: don’t send along broken products! It’s not hard to apply this to the digital workspace either. Whether it’s software code, a blog post, or a marketing plan, team members must ensure defective and inferior items are corrected before moving them to the next phase of the project.
- The number of Kanban cards is reduced carefully to lower inventories and to reveal problems: Simplicity is one thing that makes Kanban so helpful. In analog production, too many Kanban cards mean too much inventory, which is a waste of resources. As your team improves its processes in the digital sphere, you can reduce the number of Kanban cards to reveal where your team can become more efficient.
Kanban Vs. Scrum
“Kanban vs. scrum” is a discussion about two different strategies for implementing an agile development or project management system. Kanban methodologies are continuous and more fluid, whereas scrum is based on short, structured work sprints.
When implementing agile and DevOps, Kanban and Scrum provide different methodologies for managing complex work. It's easy to point out the differences between scrum practices and Kanban practices, but that's just at the surface level. While the practices differ, the principles are largely the same. Both frameworks will help you build better products (and services) with fewer headaches.
Kanban is all about visualizing your work, limiting work in progress, and maximizing efficiency (or flow). Kanban teams focus on reducing the time a project takes (or user story) from start to finish. They do this by using a Kanban board and continuously improving their flow of work. Scrum teams commit to shipping working software through set intervals called sprints. Their goal is to create learning loops to quickly gather and integrate customer feedback. Scrum teams adopt specific roles, create special artifacts, and hold regular ceremonies to keep things moving forward.
Teams applying Kanban to improve the services they deliver embrace the following values:
- Transparency – sharing information openly using clear and straightforward language improves the flow of business value.
- Balance – different aspects, viewpoints, and capabilities must be balanced in order to achieve effectiveness.
- Collaboration – Kanban was created to improve the way people work together.
- Customer Focus – Kanban systems aim to optimize the flow of value to customers that are external from the system but may be internal or external to the organization in which the system exists.
- Flow – Work is a continuous or episodic flow of value.
- Leadership – Leadership (the ability to inspire others to act via example, words, and reflection) is needed at all levels in order to realize continuous improvement and deliver value.
- Understanding – Individual and organizational self-knowledge of the starting point is necessary to move forward and improve.
- Agreement – Everyone involved with a system are committed to improvement and agree to jointly move toward goals while respecting and accommodating differences of opinion and approach.
- Respect – Value, understand, and show consideration for people.
- Definition - What Does Kanban Mean? EduCBA
- What are the Different Types of Kanban Systems? Wikipedia
- The four foundational principles and six Core Practices of the Kanban Methodology Digité
- What Is a Kanban Board? Kanbanize
- Six rules to implement an effective Kanban System Kissflow
- Kanban Vs. Scrum Atlassian
- Kanban Values Agile Alliance