Sunday, May 23, 2021

Creating Kanban Board in Tableau

Kan(view)ban(board) has been used as a visual process management tool by Toyota since 1940s. Nowadays, it is widely adopted beyond manufacturing industry, especially in agile software development.

I first used Kanban board on Jira platform from Atlassian. I never thought I would need to design it in Tableau because it doesn't have many visual elements. However, I have been part of a few dashboard designs for project management. We can add visual elements using Tableau to make Kanban look better.

Recently someone came up to me asking how to design a Kanban board in Tableau. Here is my answer to it. Hope it's helpful.

Data Model

The key to Kanban data model is a history of task status changes. Each record in the history must include: Task, Status, UpdateTime, TaskID and maybe other attributes.

This data model will also help analyze details like time spent per task, # of tasks completed per week etc, to gain more insights into the workflow, if we wish.

Board Design

- Index() on Rows


The key in designing the Kanban board, is placing the discrete Index() on Rows, computing along TaskID which is in Details. This way, all the task tiles will be stacked up tightly. Then uncheck "Show Header".

- Record Filter

This filter is designed to keep only tasks of the latest status.

- Show Empty Columns

Assuming that we have a history of data where each status appeared at lease once, we can use this technique. This will give us a fixed grid even when no task is in a status. Otherwise a status column may be missing when no task is in that status, and the grid is varying.

We can design Kanban board of various styles. Below are a few simple examples which can be downloaded here. Based on these, you can build more sophisticated Kanban if you wish. But, it might defeat the purpose of Kanban.

Caveats

- Remove Done tasks

Done tasks should not stay on the board forever. There needs a condition by which the tasks be taken off the board. For example we can design a filter that keeps the Done tasks of the latest 3 days.

- ColumnWise Design for a Fixed Grid

If we only use a snapshot of the historical data, where some statuses may be missing from time to time. for example, if there is no blocked task, the Blocked column will not show. The board grid will be changed. The column wise design will fix this problem by keeping a stable grid, no matter whether tasks of some statuses are available or not. Basically, it means one status column per sheet. We need 5 sheets for this Kanban.

4 comments:

  1. Amazing tip, thanks! I needed to make a Kanban view and that really helped guide me

    ReplyDelete
  2. Great blog post! Your insights on Kanban and its application in agile software development are spot-on. I was particularly impressed by your explanation of using Jira for Kanban boards.

    ReplyDelete
  3. Thank you very much really perfect example.

    ReplyDelete