How to Design a Kanban Board (and Get More Work Done)
Over the years, many tools have been developed specifically for work optimization purposes. Some worked, some didn’t, while others were situated somewhere in the middle, meaning they only work under certain circumstances, when subjected to certain variables. Of course, as technology became more advanced and people found ways to integrate it into their work management methodologies, more of these types of tools have come about.
The Kanban Board is certainly one of these tools, adhering to the principles of the Kanban method. Again, just like any other work optimization tool, it does not work for everyone. But that is one good thing about these tools. They can be designed and redesigned in such a way that will apply to specific situations.
In this guide, you willl learn 1) what the Kanban method is, 2) what are the basic principles and characteristics of Kanban, 3) about the benefits of the Kanban method for software development, and 4) how to design a Kanban board.
THE KANBAN METHOD
But first, we have to gain a better understanding of Kanban. The term kanban is a Japanese word that literally means a “billboard” or a “signboard”. It was formulated by Taiichi Ohno of Toyota as a scheduling system for purposes of inventory control, adhering to the principles of lean manufacturing and just-in-time manufacturing.
Software development, in particular, often leans heavily on Kanban as a visual process management system, since it also applies some of the principles of lean manufacturing. That is why we now have the Kanban methodology, which was developed by David Anderson in his attempt to come up with a scientific way to manage or handle work in software development in a way that will not overload members of the team with too much work. It puts a lot of focus on the concept of just-in-time delivery, putting a limit on work in progress as the members of a team get their work from a queue or line-up of tasks.
Team workflow is a key consideration in this methodology, as it promotes collaboration among members of a team and an organization on a continuous basis. It also encourages continuous and ongoing learning in order to facilitate the idea of self-managed teams.
Imagine a software development organization with more than a dozen delivery teams. Without a semblance of order or system to be followed, they are likely to have their priorities crossed and end up overlapping each other. The result is a chaotic environment that, in all likelihood, will affect the delivery of the work and its overall quality. With the Kanban method, order is restored because priorities are made clear.
It is also a given that, in any work flow or work process, there are bound to be snags or issues that may crop up. The problem is that, more often than not, these problems are often kept under wraps or go unnoticed. The Kanban method offers a way to reveal these problems, so they can be solved or addressed promptly.
Although Anderson developed this methodology purposefully for software development processes, it has come in handy in other areas, such as sales and marketing, human resources management, procurement and logistics, and audit and finance, among others.
4 BASIC PRINCIPLES OF THE KANBAN METHOD
An important statement in the Kanban method goes: “Stop starting and start finishing”. It does make sense, because it is a fact that many teams keep starting tasks or processes even without finishing what they are working on. The most probable result is a pile of unfinished projects – a sure sign of inefficiency and lack of effectiveness. Kanban advocates finishing a task before getting started on a new one.
The Kanban methodology is rooted in the following principles:
- This methodology starts with existing processes and roles. Instead of prescribing a specific set of processes, roles, or steps, the Kanban method visualizes the actual workflow or system already in place. In other words, it works with what is already there, and it is just a matter of implementing or stimulating changes.
- Changes are implemented continuously, and in increments, thereby limiting the amount of work in progress (WIP). This is so that work and work flow is balanced, and the teams do not commit to doing more work than they can handle at one time. This also means that the process is evolving, as opposed to introducing changes drastically, all at once. Workflow is enhanced, because the moment one task is finished, focus is moved on to the next item or task on the priority list.
- Current processes, roles and responsibilities are respected. Within teams and organizations, there is an underlying apprehension whenever the subject of change comes up. If a new system is about to be introduced, or change is sought to be implemented, there is a fear that it may have an adverse impact on individual job titles and the roles and responsibilities that come attached with them. It also adds a sense of uncertainty with the current way that things are done. Kanban agrees to respect these current roles, processes, responsibilities and job titles, because it recognizes the fact that there are certainly some things that are working very well, so there is no need to change them or eliminate them completely.
- Kanban method encourages leadership roles to be taken seriously at all levels. Even individual contributors are encouraged to lead, instead of leaving all the leadership actions to senior and top management. Kanban strongly advocates collaboration, which means that even leadership is a collaborative effort.
CHARACTERISTICS OF THE KANBAN METHODOLOGY
All too often, many have perceived the Kanban approach as something very similar to Scrum. Granted, Scrum also promotes close collaboration and team self-management.
However, there are marked differences that we simply cannot ignore.
- It utilizes single piece flow. Unlike the batch system in Scrum, the Kanban method has team members pull work through the system one at a time. Once one work is done, the next is worked on next.
- Work and delivery of features is continuous. Scrum has what you call as sprints, something that Kanban does not have. Instead, it works around the idea of continuous delivery. This means that changes may be implemented at any point in time, unlike in Scrum, where changes cannot be implemented when a sprint is in progress.
- There are no prescribed roles in Kanban. As stated earlier, leadership is present in all levels, so there are no pre-defined roles or distinctions on who the leader is from the members. In Scrum, however, there is a Scrum master distinct from the team members and the product owner.
BENEFITS OF KANBAN METHOD IN SOFTWARE DEVELOPMENT
- It ensures faster delivery of features. Since the cycle times are short, it increases the likelihood of delivering features more quickly.
- It improves responsiveness to change, especially in organizations where priorities change frequently.
- It puts the customers’ preferences first, since it can easily switch things around in accordance with the former’s demands.
- It is easy to get started, as there is no need for too many setup or installations.
- It reduces waste and redundancies. Activities that do not add value can be dispensed with so the team can focus on the important tasks.
- It offers more open lines communication and feedback, making it easier to motivate and empower members of the team.
- It is easier to understand, because it “paints a picture” of the work and its flow, in contrast to having to wade through pages and pages of wordy documentation. Visual representations, after all, stick faster and longer, than written text.
So what determines whether an organization should follow the Kanban methodology or look for another method for its work optimization? In-depth study must be performed to determine whether Kanban is a good fit for the organization or not. The key determinants are the organizational structure, culture, and the team dynamics currently in force within the organization.
But there can be also some problems with introducing Kanban into a business as discussed in this video.
THE KANBAN BOARD
You were able to get to know the method, but how do you apply it? For that, you will need tools, and one of the most commonly used tools to implement the Kanban method is the Kanban board.
The kanban board is basically a work and workflow visualization tool with the specific purpose of aiding organizations in optimizing the flow of work.
Traditionally, the tools used were signal cards, aptly called kanban cards. When they took on the form of physical kanban boards, they may be drawn on a whiteboard, a blackboard, or even on the wall. They also make use of items such as magnets, plastic chips, tokens, or index cards. The most preferred and most commonly used, however, are sticky notes.
Nowadays, we also have online kanban boards, which is certainly more convenient for those who prefer working on computers.
DESIGNING A KANBAN BOARD
The design of the kanban board will primarily depend on the type of processes that the organization implements. Most assuredly, the design of the kanban board of a manufacturing company will be different from that of a software development company.
Normally, a manufacturing company will have a kanban board that is divided into three parts:
- Awaiting production
- Work in progress
- Completed work
In simplest terms, these three sections may also be labeled as “To Do Tasks”, “Current Tasks”, and “Completed Tasks”.
The operations of software developments teams fall under the complex category, which is why you are likely to find the following areas or sections in their kanban board:
- Backlog, which is basically a backlog of stories, often integrated with the pre-plan or things to be done by the developer, in accordance with the demands of the customer or product owner
- Ready, where works that are ready for development are under. This is where team members can pull work from when they are free.
- Development tasks, or work items, which may be further broken down into the specific tasks. Examples are Coding, Awaiting Testing, Testing, Approval or Ready for Deployment.
- Done, which contains the completed works.
Now, depending on the preferences of the team, you may use a physical kanban board or an online or virtual one. Again, it really depends on what the team is most comfortable with.
Designing the Kanban board is a process in itself, and the steps are as follows:
#1 Visualize and map the flow of work
You have to visualize and map out the process that is being followed to complete work. This will give you – and everyone in the organization, not just the members of the team – more than a glimpse of the whole process. This way, they will be knowledgeable about all its aspects, so they can contribute more. This will also be useful in monitoring the progress of work of a team.
Use kanban cards or sticky notes to represent the work that will be done. If the processes are simple enough, mapping it out should be just as simple, with straight vertical lines down the board. However, in the event that the processes are quite complex, it may require both vertical and horizontal lines, often intersecting each other at some points.
Sticky notes are preferred because of the flexibility that they offer. For example, color coded sticky notes may refer to specific works. Green cards may represent a specific feature that needs to be worked on, while a blue one may represent another.
The colors may also represent the level of priority of the work. Red sticky notes can represent high priority works or those that require the most urgency. Once team members spot these cards, they will pull it out because they require the highest priority.
The notes may then be pulled out and transferred from one area or section of the board to another, as appropriate.
One rule of thumb is that the lanes or columns are often verbs or verb phrases (e.g. TO DO, DOING, IN WORK) since they pertain to the activities to be performed by members of the team, while the cards or notes contain nouns or noun phrases (e.g. FEATURE, WORK), since they are the things that must be delivered by the team.
Another great presentation that walks you through building your Kanban Board.
#2 Set initial limits on your work in progress
We have mentioned earlier that one of the benefits of using the Kanban method is that work in progress becomes limited. When designing your kanban board, you have to set initial work in progress limits, meaning, at any point in time, the “CURRENT”, “WIP”, “IN PROGRESS” or “IN WORK” section (depending on what title or label you have chosen) should have only a maximum number of sticky notes.
For example, the team has decided to limit the number of works in progress to only three. This means that at no point should the number of sticky notes on the WIP section exceed three. This means that the only time that a new piece of work (or sticky note) will be placed on the WIP section is after one sticky note has been pulled out, worked on, and moved to the COMPLETED or DONE section.
This is so that the team will avoid having too much work in progress. Again, remember the statement: Stop starting and start finishing. You must finish the current works in progress first before starting a new one.
Learn more about setting WIP limits and scheduling work from David Anderson.
#3 Get your works in progress on the board
The first thing you should do is to identify all the works that are currently being worked on. Once you have done that and you find that they have exceeded the limits you have initially set for your WIP, it is time to prioritize the works in progress on your list.
If your team has identified six current works in development, rank them accordingly in order of importance or urgency. If you have initially set 3 WIP as your limits, choose the top three. Once they have been moved to the next lane or task, add the next WIP on your list to the lane.
#4 Inspect and adapt, then improve
All throughout the process, you should monitor closely, so you can immediately adapt and effect changes, if and when necessary. This is also the part where you have to actively look for bottlenecks and any possible hidden work in progress. Yes, it is possible that you are working on, or waiting on, a work in progress that was not put on the board. This is why it is important to make sure you have identified all your works in progress,
This will also allow you to make improvements. Keep in mind that improvement should be done collaboratively. This is especially true when parallel workflows are involved and there are multiple value streams, often in the form of teams working with other teams.
We have only discussed a simple kanban board design. Of course, this will not apply in all cases, especially those teams that have complex works and processes. For that, the kanban board design will be decidedly more complicated.
Keep in mind that the kanban board is not limited to software development processes only. It may also be designed for use in different contexts or settings, including system administration, business process operations and maintenance, customer service and support, sales and marketing. Always be mindful of the nature of business processes when you go about designing your kanban board.