Documentation for GreenHopper 6.2.x. Documentation for earlier versions of GreenHopper is [available too].

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.

On this page:

1) Visualise your workflow

Visualising your existing process and workflow is essential to understanding what the team is currently working on.

  1. You will need to create (or choose) a board that displays your project(s). See Creating a Board.
  2. 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.
  3. 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 be notified when a constraint has been busted, and can then take corrective action.

  1. Go to your board and select Tools > Configure.
  2. 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.)
    (tick) 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,

  1. Go to 'Work' mode on your preferred board (see Using Work Mode).
  2. 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.)
  3. 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,

  1. Go to your preferred board.
  2. 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.
    (tick) 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

Kanban CFD


Screenshot 3: Transitioning an issue

Kanban process

 

Screenshot 4: Control Chart showing the mean and actual time taken to complete issues


 

 

 

12 Comments

  1. Anonymous

    In measuring cycle time, is there a way to do a 90 day cumulative average instead of averaging everything?

  2. Ram Ramalingam

    Cycle time on # of stories seems like a misleading generalization - a 1 point story will surely have a different cycle time as 8 pointer. And what the chart above seems to give is an average across all the story sizes. And just dividing that by the average story size across doesn't work since the relationship between story size and time are not necessarily (not usually) linear

    1. Anonymous

      My understanding is that if you are using Kanban you would not be using story points.

  3. Anonymous

    Kanban story cards doesn't contain Kanban marker, that the story is ready to go to the next stage.

    1. Anonymous

      I have asked Atlassian to implement this feature in https://jira.atlassian.com/browse/GHS-2526

  4. Martin Waller

    Is it possible to add the facility to manually change the order of tasks within the TODO column in order to prioritise them at a finer level than the issue priority field?

  5. Anonymous

    Hi there,

    I cannot seem to get the info I need here. So please help me. If I have a Project with issues and sub-tasks. Some sub-tasks will also have smaller tasks. Can you tell me how I can log this smaller tasks?

    Thanks

    1. Anonymous

      Sub-tasks cannot have sub-tasks of their own. However, if you need to break up a sub-task into smaller sub-tasks, you could achieve this by first converting the sub-task to a standard issue. You would then be able to create sub-tasks for it.

      See rsCreating a Sub-Task

  6. user-86a2e

    hi, I'm using a KANBAN board. Is it possible to configure what fields show on a card?  i liked the old version (ha) where you had different 'views' for small cards, and large cards. These one's are quite large but have only few data fields on them.

    1. We are planning to work on this in the near future – please watch GHS-3474 - Getting issue details... STATUS . Thank you for your input.

  7. Anonymous

    Hi.

    How did you get those yellow arrows with the exact WIP and cycle time measurements? On my several months old CFD with around 1600 done items, all I can see is that WIP is somewhere between 80 and 120.

    Is there also a way to determine, not necessarily graphically, what the actual WIP was at a certain time, or the average WIP (across arbitrary columns) between two times?

  8. Neil Sproul

    We use an Elaboration lane before something goes In Progress, we use this to measure time spent understanding a problem.  Is there a way on the control chart to have the way the mean/max/min are calculated to only be based on the time period you selected.  It seems regardless of the time period selected for one or many lanes JIRA is just taking the sum of time spent in a lane.  Not the sum in context of the time people selected.