Kanban board design

Kanban boards are by nature very different and have to be adaptable (an introduction to Kanban can be found in this previous post). You will find many example of board designs. And that is exactly what those are. Just examples. The way your board will look like will most probably be unique to you. Since the board is supposed to visualize the way you work now, there is no standard, no best practice for the board itself. If the process you live is closely align to a publicly documented process, then your board will look similar to boards used by others working with the same process. But even then, they won’t be 100% the same. And since Lean and Kanban are all about improving your process, the board design will also evolve along. What you see on the wall today, might not be the same as what you will see tomorrow and most probably (and hopefully) not the same as what you will see a year from now.

So it doesn’t really make sense to take over a board defined by someone else. But seeing other boards can give you some ideas of how to improve a board (especially if it is a virtual one).

The classical Kanban board you’ll find in any introduction to Kanban, looks like this:

To Do In Progress (0/5) Done

It has three columns:

  1. the first column contains the tasks which haven’t been started yet. Often, this column has no WIP limit.
  2. the second column contains the tasks that are being worked on. This column contains a WIP limit (shown above: currently 0 tasks in progress and a WIP limit of 5).
  3. the last column contains all tasks which are finished. Here you usually also do not have a WIP limit.

But this is only the most simple board you could have and a good basis to learn Kanban. But it will in many cases not be sufficient since your process might be more complex or not be mappable to this.

When using Kanban in the context of a software development project, it might more look like this:

Define Develop (0/10) Code Review (0/5) Test (0/10) Communicate

So the number of columns and which columns you have are strictly defined by the process you run and you cannot copy them from somewhere else. So Kanban doesn’t force you to use a specific board layout. But to use Kanban you need to move to a Pull system. Of course, if your current process uses a push model, you have a conflict. So does it mean you do have to change your process before doing Kanban. Well, that’s not entirely true. Here a simple example:

  • Whenever John gets a new request for feature, he puts a card in the Define column of the board above.
  • Whenever John has analyzed such a feature and thinks it’s well specified enough that it can be implemented, he pushes it to the Develop column.

We have here a typical Push system. You do not know whether things in the Develop column are being worked on or are just ready to be worked on. It’s difficult to see whether the number of features analyzed by John is too high and they cannot be developed as fast as they are moved from Define to Develop or whether developers can still handle it.

So what we need here is a separation of two states in the Develop column:

  1. Things which are defined and can be developed.
  2. Things which are being developed.

By also setting a WIP on these two parts, you can notice if John is defining faster that it is being developed, whether developers feel bored or whether development is current keeping pace with feature definition.

The board could look like this:

Define Develop Code Review (0/5) Test (0/10) Communicate
Queue (0/10) In Progress (0/5)

Whether the two sub columns in Develop are represented as columns or as swim-lanes (as shown above) doesn’t matter.
Of course you could also do the opposite: Add a “Done” sub-column in the Define column instead:

Define Develop (0/5) Code Review (0/5) Test (0/10) Communicate
In Progress Done (0/10)

The difference is that if you define an overall WIP limit, it will be considered either for John in the latter board or for developers in the former board.

So like this we’ve converted our Push system to a Pull system. But you may ask what’s the point of all this, if the Pull system is just the same as the Push system with an additional column. Well, the point is just that it is now easy to see where our bottlenecks are. Just this result is worth spending some time adding extra columns.

Now, that we’ve talked about swim-lanes, it might also make sense to have horizontal swim-lanes just to make a particular column of the board more readable. Here are a few example, when these horizontal swim-lanes are useful:

  • Swim-lanes based on priority: This can e.g. make it easier to see which tasks should be moved from the queue to In Progress. It also helps visualize whether we’re working on the important features first or got lost in prio 3 topics…
  • Swim-lanes per developer/tester: This just makes it easier to see which are “your” cards. It also shows whether one person is working on too many things in parallel and should maybe transfer some tasks to another person.
  • Swim-lanes for bugs and features: Depending on how you handle known bugs, it might be the same as the priority-based lanes. But it also help visualise how much you do for stabilizing the software and how much for getting new customers.

Here an example:

Define Develop (0/10) Code Review (0/5) Test (0/10) Communicate

Another thing you might consider is changing the direction of the flow. In most Kanban Boards, the flow is like this:

To Do In Progress (0/5) Done

But you might choose to have a vertical flow on the board and the priority horizontally.

In Production In Release Development Support
In Progress
To Do

So even though the process you describe is the same, there are still a few tweaks you can perform on the board which can be helpful. Of course, you have even more possibilities with the cards and what you visualize on them. You just need to keep in mind, that Kanban is supposed to show you your process now and help you trigger improvements. So the last thing which should be static and cast in concrete is your Kanban board !

8 thoughts on “Kanban board design

  1. Pingback: What is Kanban ?
  2. As I learned, the interesting about Kanban – it’s not a process, it’s only the method to record your current process in form of Kanban board and possibly to improve your current process step by step. It’s interesting, that very often the Kanban will be compared with the Scrum only because it’s also about agile 🙂 But in fact they have nothing in common – Scrum is more like religion, Kanban is only a tool.

    1. You’re right. Kanban is very often compared to Scrum because when a Scrum team starts using Kanban, the board pretty much looks the same. The only additional thing you’ll see is the WIP limit. But Kanban and Scrum are on two totally different levels. This makes Kanban very easy to introduce since the starting point is the current process. Scrum on the other hand is more difficult to introduce. That said it the introduction of Scrum might cause more noticeable changes as you need to have a different relationship between management and the team, a different way of working and communicating… And there are also areas where introducing Scrum is very difficult because Scrums requires a certain prioritization of the product backlog as well as stability regarding the sprint backlog. This makes it sometimes difficult to use in some service and maintenance environments. And those are environment where introducing Kanban is very natural and easy step. Actually I think this topic might be the subject of my next post 😉 Thanks for the comment Roman !

  3. Hey there Henri! Well, I have not actually heard about Kanban yet, until i read this post. Thanks for sharing this, another learned! I will be back for more reading, thanks again 🙂

  4. Thank you for a great post. I agree that first you must see some examples to get the understanding of kanban boards. Then you can map your own process and design your board. If you are interested, I found two presentations that contain different kanban board examples: “Kanban in practice” (http://www.slideshare.net/marcusoftnet/kanbanboards?from_search=1) and “Kanban board examples” (http://www.slideshare.net/kanbantool/kanban-boardexamples) Maybe you know them already. If not, they are both worth watching.

Leave a Reply

Your email address will not be published. Required fields are marked *