The kanban method is built around improving the flow of product development. It works very well when you work according to priority. It also works well when some items have schedule constraints. When many items have schedule constraints this becomes an issue.
The MotiveI was having a discussion with one of my clients and they raised the issue that what’s going on wasn’t clear. Immediately I thought of setting up a kanban board. However when we started to do that it became clear that the main issue is how to commit to clients about deliveries. Deliveries to my client’s clients include installation of software, configuration, training and beta testing. As a matter of fact my client was managing many small projects and they needed to commit on the various due dates. In a Utopian world, my client’s clients would all be agile and due dates were less of an issue, however this was not the case, so we needed to come up with some solution. After some discussion we came up with a scheme for visualizing my clients’ commitments. We call it a Forward Looking Kanban. You can see it at the top of the post.
How Does it Work?This is a Kanban board (remember that “Kanban” means “signal card” in Japanese) showing what we plan to do in each month. Each column represents a month. The idea is to constantly look several months ahead (this means that when we move to a new month we need to add another month/remove an old month). Each row represents a main step in the process, maybe like we would do on a regular kanban board, but I believe it should be less detailed. Each card, like cards on a regular kanban board, shows something we are doing. The main difference here is that the same card may appear in several places on the board. For example we can see that Feature A appears under “Dev” in October and under “Deploy” in November. Another thing to notice is that each cell contains a WIP limit (well actually, it is more a PW – Planned Work limit, but I’ll leave that at WIP to make it simple). This is critical to the success of this kanban board. The main use of this board is that when something comes up we can try to schedule it, according to available capacity in the various cells. If there’s no capacity we may try to move some things. My client decided to add a red point to a card each time it is moved from cell to cell to get indication of things that are getting postponed all the time. It should be noted that WIP limits may be different in different rows: in the example above the first row limits the number of deployments per month, while the development row has WIP limits manifested in points. The initial WIP limit should take into account both future events and buffers for changes. In the example above December has lower values (due to holidays). The buffers are not shown here but the people working with this board should know not to use the entire capacity of January when we are in September – that is a promise that will not hold. The client decided that at this stage we will not build an additional kanban board (the regular one). We will indicate whether items are done or not directly on this board. It’s been some time that I’ve been hearing clients raise issues about making commitments with a kanban board. There are solutions: indicating the date on the card, using lead time to estimate when items will be done. However I hope this scheme I described here will bring a more comprehensive solution.