Kanban is a methodology that constrains the amount of work that can be assigned to a particular workflow state at any one time. This helps teams to optimise their lead time (or cycle time) — that is, the average time taken to complete a task.
- Many agile development teams find that Kanban is particularly well suited to bugfix or maintenance releases, where incoming tasks are triaged and then actioned according to their priority. As soon as there are enough completed tasks to constitute significant value, a minor version is created and released.
- Devops teams, or agile delivery teams, often use Kanban. These teams set a definition of done that includes the delivery of value to the customer.
This tutorial will walk you through the process of setting up your Kanban environment, and continuously monitoring it so as to make your cycle time as short — and predictable — as possible.
1) Visualise your workflow
Visualising your existing process and workflow is essential to understanding what the team is currently working on.
- You will need to create (or choose) a board that displays your project(s). See Creating a Board.
- If you are using a customised workflow, you will need to set up suitable columns to map to your workflow statuses. See Tutorial - Adding a Column to a Board.
- Display the current work on a JIRA Wallboard and bring transparency to the team's activities (see Screenshot 1).
2) Limit the work in progress
Specifying columns constraints allows a team to limit the amount of work-in-progress, as WIP directly affects your cycle time (see Screenshot 2). The team will have visibility into when a constraint has been busted, and can then take corrective action.
- Go to your board and select Tools > Configure.
- Click the 'Columns' tab, then for the relevant column click either the 'Min' box (yellow) or the 'Max' box (red). Type the new value and press the 'Enter' key. (For more details, see Configuring Columns.)
As a starting point, you may want to set a 'Max' value of 6 for the 'In Progress' column.
3) Work on Issues
On a daily basis,
- Go to 'Work' mode on your preferred board (see Using Work Mode).
- Choose the highest ranked issue in the 'To Do' column (or 'Backlog', depending on the name you have given it) and drag them to the 'In Progress' column. (See Transitioning an Issue.)
- As you complete each issue in the 'In Progress' column, drag it to the 'Done' column. (See Screenshot 3.)
4) Measure the Cycle Time
At regular intervals,
- Go to your preferred board.
- Select 'Report' > 'Control Chart' (see Viewing the Control Chart). This will show you the average length of time that it took to complete each issue — that is, your cycle time. See Screenshot 4.
If you want to see the average length of time that issues spent in a particular status, filter the issues to show only specific columns by using the 'Refine' option in the top right of the report.
By visualising a team's workflow and limiting work-in-progress you reduce waste, facilitate a better flow of work across the board, and deliver value to customers faster.
Screenshot 1: a board displayed on a Wallboard
Screenshot 2: CFD showing how WIP affects your cycle time
Screenshot 3: Transitioning an issue
Screenshot 4: Control Chart showing the mean and actual time taken to complete issues