What if Scrum feels a little heavy for what you are working on, but you still want to be able to react to change quickly and have an easy way to understand the status of your project or projects? Enter Kanban. Kanban is an approach to agile development that is simple to understand and to execute.

Toyota

Kanban was created by Toyota to keep production lines running smoothly, and to minimize the on-hand inventory needed. The Japanese word “Kanban” means “visual signal”1 or “signboard”2. When parts run out at an assembly line station, a visual signal is raised and a prepared bin of parts from the warehouse is brought to replenish the supply. In this way, the assembly line station does not have to keep an excess of inventory. Toyota’s simplest Kanban board shows “goods in, goods in production, and goods out.”2

Projects / Development

The visual nature of the Kanban process applied to the automotive assembly line is applied to agile development. The intent is to reduce the work in process (WIP), and to identify bottlenecks holding up the completion of the project.

The visual indicator in an agile Kanban approach is the Kanban board. Similar to the simplest Kanban board at Toyota, the simplest Kanban board for projects and development consists of the columns “To Do”, “In Process”, and “Done”.

The left side, “To Do”, represents the backlog of tasks that need to be done. Like Scrum, this list can be reordered. In Scrum the new priorities will be picked up at the next sprint boundary. With Kanban, the newly prioritized tasks will get picked up when the previous task finishes.

When tasks are ready to be started, meaning all pre-requisites are complete and someone has capacity to start on the task, the task is moved from To Do to In Process. If more than one person is working on the project, or if one person starts another task, that task is also moved to the In Process column.

WIP

At a glance we can see if there are too many tasks in the “in process” column. The team defines a WIP limit, or the number of tasks that can be in the “in process” column at one time. Too much work in process confuses everyone and less gets accomplished. It may mean that the tasks are too long. Tasks need to be right-sized. Too large and the status of the cards on the board never changes, which makes knowing the actual status impossible. Too small and the process of moving tasks from column to column becomes tedious and time-consuming.

Reflecting on whether a task was the right size after it is complete is a good way to get feedback and apply learnings to the tasks in the backlog.

Tasks getting stuck in a column may also indicate that there are roadblocks preventing the tasks from completing. In this example, Task 4 moved to In Process before Task 3, which may indicate there is something preventing Task 3 from starting. It’s easy to see bottlenecks in the workflow using a Kanban board.

As tasks move to Done, tasks from To Do can be moved into In Process.

Kanban Cards

Kanban cards can be physical cards that are taped onto a physical board (or sheet of paper). Sticky notes work great for this. Kanban cards and the Kanban board can also be virtual. Trello and JIRA are popular Kanban applications.

The cards on the Kanban board usually have more information than what is shown in these examples. A title, description, and owner are typically included on the card. In Scrum the product owner has the final say on whether a task (“story”) closes. In Kanban, the team decides when a task is done.

Uses

Many projects can benefit from a Kanban board. I personally use a Kanban board for projects around the house. Most times my projects are not time sensitive, although some tasks may be seasonal and will need to be prioritized when that season rolls around. I like it for home projects because I find it satisfying to see a task move from the backlog to in process to done, and that motivates me to move tasks off the backlog.  I use Scrum at work, but we do use a Kanban board to track our stories within a sprint. This works great to see the progress of the work within the sprint.

tl;dr

Kanban is an approach to agile development that consists of a visual indicator called a Kanban board, and an intention to not exceed team-agreed upon work in process (WIP) limits. A Kanban board shows the states of the workflow and can be as simple as To Do, In Process, and Done. At a glance WIP and project status can be ascertained.

engineer your life

Think of some personal or work projects that you have that could benefit from a Kanban approach. Draw out a Kanban board on a large sheet of paper (or giant Post-it), and label your workflow columns. Use Post-it notes to write down the description of your tasks and put those in the backlog column (To Do). Then start your project and track progress with the Kanban board. Reflect periodically if it’s helping you get your work done.

1 https://www.atlassian.com/agile/kanban

2 https://blog.toyota.co.uk/kanban-toyota-production-system