Kanban, meaning "Visual Card" or "Signboard", is a method to manage workflow efficiently and without overloading team members. It was first intended to manage Toyota's production system but many companies in all types of industries have adopted it, software development being just one of them.
How To Kanban
Kanban is extremely simple to use, and easy to adopt. All you need is a whiteboard, a marker and a pack of sticky notes.
One of the principles of Kanban is to start with the process you're already using. In our company, a unit of web development work goes through the following stages:
- To Do: work is assigned
- Doing: work is in progress
- Done: work is completed
To illustrate this process in a Kanban way, we draw a table with four columns on the whiteboard. In the first column, we have our team members. The other three columns represent the different stages of work.
We make the Doing column just wide enough to hold one sticky note and inform everyone that one is the maximum number of tasks allowed in progress.
The team leader writes tasks on sticky notes and put them in the to-do column for each member. He/she is then responsible for moving them along to the "Doing" and "Done" columns as they progress from working on a task to completing it.
If you had more stages to your process, simply add more columns, such as "Code Review" or "Test."
After trying Kanban for a few months, I can say that it is great to be able to glance at the board and see what everyone needs to do. It has reduced "start up" time, the time it takes to pick up work from where you left off, especially on Monday mornings.
So how does a simple method improve your workflow and increase productivity?
One of the main reasons Kanban works so well is the visual aspect. You can easily see who is working on what and what needs to be done next at any given moment. If you're a team leader, this is important information to help you better assign tasks to your team members.
The limit on the number of tasks in the "Doing" column will ensure that you do not take on too many tasks at a time, since multi-tasking kills productivity.
Most of us are creatures of habit and are resistant to change. Implementing a complex system your team is not familiar is likely counter productive. Kanban, being easy to understand and implement, will be better received by everyone.
One of the core principles of Kanban is to have the intention to continuously improve your process.
In our case, we added a column titled "To Test" in between "Doing" and "Done" to indicate that tasks need to be tested on a test server and verified to be working correctly before it can be considered as "Done."
After a few months of trying out this method, we have adopted it as central part of our work process, and will keep using and improving it for the foreseeable future.