This lesson is in the early stages of development (Alpha version)

Introduction to Kanban

Overview

Teaching: 15 min
Exercises: 30 min
Questions
  • What is Kanban?

  • What is a Kanban board?

  • Can we combine Scrum and Kanban?

Objectives
  • Describe the Kanban method

  • Understand how to use a Kanban board

What is Kanban?

Kanban is a process management method. It balances demands with available capacity and improves the handling of bottlenecks. You can simply apply Kanban to your current process of developing software.

You may often hear that Kanban is a “pull” system. It means that a new work-item is pulled to the process as capacity permits. We will explain this in the next section where we introduce a Kanban board. Read more about Kanban here.

Did you know…

Kanban is the Japanese word for signboard or billboard.

What is a Kanban board?

A kanban board is a project management tool designed to visualize processes, define tasks, and manage backlog-items. It helps to show/record what, how and who aspects of a work-item and keep everyone on the same page. A Kanban board uses cards, columns, and continuous improvement to help teams commit to the right amount of work, and get it done!

Here is an example of a Kanban board created using GitHub project boards:

Kanban board

Cards

Team members divide the work into some work-items and write onto cards (stickies, or tickets), usually one per card. For Agile teams, each card could represent one user story. Once on the board, these cards help everyone understand what the team is working on.

Each card should also have “acceptance criteria” (AC). AC is a set of statements that define how a user story can be completed.

Who writes acceptance criteria

Generally speaking, the “Product Owner” defines the product backlog, and acceptance criteria (AC). However, it is a good practice if team members contribute to writing AC.

Columns

Columns together show the process or workflow. Each column represents a specific activity, for example “To Do”, “In Progress”, “Done”. Cards flow through the workflow until completion, i.e. from the left to the right side of the board.

If your team works on several projects/products, you can add one row (Swim Lane) for each of them. As an alternative, your team may decide to have a time-boxed workflow and work on one project at a time, see the section “Combining Scrum and Kanban (Scrumban)” in this lesson.

More examples of Kanban workflows (i.e. columns)

  • To Do, Doing, Done.
  • To Do, In Progress, Review, Done.
  • To Do, In Progress, Demo, Done.
  • Committed, Analysed, In Progress, Done.
  • Ready, Estimate, Development, Test, Done.

Continuous improvement

Continuous improvements can be achieved by three elements: Commitment point, Work In Progress (WIP) Limits, and Delivery point.

Commitment point

Teams often have a product (or project) backlog that includes some work-items. The commitment point is the moment when a work-item from backlog is picked up by the team. In other words, a card is moved from backlog to “To Do” column.

Product backlog

A product backlog is a prioritized list of work like a todo list that is derived from the project requirements and ideas. Read more about it here.

Work In Progress (WIP) limits

WIP limits are the maximum number of cards in “In Progress” column. For example, the column with a WIP limit=3 cannot have more than three cards in it.

WIP limits is an estimation of how much work the team can commit to. So, it can vary depending on the team capacity and can be adjusted after a few trials.

When the “In Progress” column is “maxed-out”, the team needs to check if some cards can be moved forward before adding new cards. If not, the team should inspect the problem. Sometimes, either the WIP limits or the amount of the work to commit in the current workflow need to be estimated again. Also, the team might re-visit the acceptance criteria of a work-item.

Delivery point

The delivery point is the end of a kanban workflow, i.e. all cards from “To Do” moved to “Done”. The team’s goal is to move cards from the commitment point to the delivery point as fast as possible.

Other Kanban boards

Have a look at the examples of Kanban workflow (mentioned above).

  • Which of those can be used for the projects in your team?
  • What other workflows, if any, are you implementing in your team?

Designing a Kanban board

Imagine that you are working on a project.

Exercise

Imagine that you are working with a Kanban board. One of the work items in “In Progress” got blocked. The blocked item means that the team is not able to continue working on it because it is waiting for something from outside the team. How do you deal with the blocked item in the Kanban workflow?

Solution

The simplest but effective approach is to put a “red dot” on the item. In an online board, it is possible to add a tag/label and more information like why this item is blocked, for how long, and who will unblock it. This visualizes the situation. So, the team can immediately see that the item is blocked and have it under control. Now, the blocked item does not count as a WIP item and the team could potentially add an extra work-item to ‘In Progress’.

Summary

Kanban is great for processes focused on continuous delivery with changing priorities. On the other hand, Scrum divides work into a series of time-boxed iterations called sprints (see episode 3). But maybe a combination of Scrum and Kanban (known as “ScrumBan”) is what your team would benefit the most from. We will learn about it in the next lesson.

Discussion

Think about following the Kanban methodology when working on your projects in a team.

  • What questions do you still have?
  • Are there any incremental improvements that can benefit your team?
  • What did you learn in the online course that you think is too much for your team?

Challenges specific to research projects will be discussed later, in episode 6.

Key Points

  • Kanban consists of cards, columns, and continuous improvement.

  • Main elements of continuous improvements: Commitment point, Work In Progress (WIP) Limits, and Delivery point.