In my current role at Sky I am using a Kanban board.
So… what is Kanban?
Kanban is a system for organizing and monitoring the progress of tasks. The photo in the header is the sketch of what a minimalistic kanban board could be.
One of the main reasons for using Kanban is prioritization of tasks.
It also helps with metrics and feedback, recording how much it took for each task to get done.
Have a Kanban board also allow to know how much Work in progress you have at any given time, and put limits on it.
Prioritization (or how to get out of moaning-driven management)
Quite often a person or team receives tasks from several stakeholders that exceed the capacity to cope with them, so they have to be prioritized. It is very common that the people asking for them doesn’t know about the rest of the workload. This usually results in driven or moaning-driven organizations where people work on getting done whatever they get more pressure about.
Kanban helps to change this. Every Kanban board typically has a landing column (in the example, the TO-DO column). Whenever a stakeholder wants to place something in the TO-DO column, he/she has to speak to agree with other stakeholders about which of the competing tasks has more business value. As a result, it is way more likely that work gets properly prioritized because at least the people asking for tasks is aware of everything that needs to be done.
Work in progress (Continuous improvement)
Kanban makes visible how many things are being done at any given time. For example, the toy kanban board in the header would have 2 – 1 – 2 (2 items in ‘ToDo’, 1 item in ‘Doing’ and 2 items on ‘Done’). The first impact of this is helping members of the team and stakeholders to undertand the workload of the team.
Without this information, there is a huge temptation of pushing a lot of work on the team, hoping that they will work faster just because they have been assigned more work. This can still happen to a team using kanban, but having visibility over the workload is the first step towards making it more rational.
The work in progress helps understanding bottlenecks. If you have a bottleneck somewhere in you process, you will start to see the work piling on it. That doesn’t solve the problem, but it makes it visible, providing a clue on what should be improved next in order to increase productivity.
For example, lets imagine that we have a 5 column board with the labels “Analysis in progress”, “Waiting for development”, “Development in progress”, “Waiting for test”, “Testing” and “Done”. Columns 1, 3 and 5 contain the work that is being done by Business Analysts, developers and testers. Columns 2 and 4 contain the work that has been done by one of the Analysts/developers but haven’t still been started by the developers/testers respectively.
Lets say that in our scenario the cards start to pile up in “Waiting for test” it will give us a clue that we should look at the testers. Maybe we have too little testers and they can’t cope with the work. Maybe the tools they are using are slow and they need to buy new ones. Maybe the software is coming fault from the devs and they are finding a lot of bugs, which is slowing them down. Or maybe the requirements are not clear and they spend a lot of time trying to determine what the software is expected to be doing.
Whatever the reason, it is our job to find that out and fix it to improve productivity. Kanban doesn’t fix it for us, but it helps us realize that there is a problem and start investigating in the right direction. Without kanban, there would be a huge risk that we don’t even realize that there is work piling up in testing.
Work in progress limits
Very often Kanban boards are used with work in progress limits. That is out of the scope of this post, but we will overview it.
Work in progress limits consists on putting a limit on how many items can be in a particular column at any given time. The idea behind it is that in an ideal system there should be no need to have several things in progress at the same time. If things are piling up somewhere, that means that not all the links of the chain are working at the same rate. Therefore, the part of the chain that is working slower is a bottleneck for the rest of the people. The idea is that if you put limits on the Work In Progress, then when a column reached the limit then everything upstream is forced to stop too.
In the 5 column example given previously, if the developers start getting work piled up then the analysts will have to stop or they will flood them with more work than they can manage. Instead, all the members of the team would have to swarm around the underlying that is stopping thins and try to solve it.
Feedback & metrics (Continuous improvement)
Kanban can also help you get metrics about your process. In many of the places using Kanban, every time that a card moves to the next column it is timestamped. When an item has gone through all the process, you have a record of the time every card spent on every column that can be used to generate metrics like the ones explained by leankit.
This can be used in team retrospectives to gain deeper insight on what is working and what is not working in the team and propose improvements.