Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space JSWSERVERM and version JSW_8.3

Screenshot: Control Chart

  1. Issue details: See the cycle time for an issue.
  2. Time scale: Select a time period to display on the control chart.
  3. Zoom in: Highlight an area of the chart to focus on a specific time period.  
  4. Refine report: Select the columns and filters you want data for.

About the Control Chart

The Control Chart shows the Cycle Time (or Lead Time) for your product, version, or sprint. It takes the time spent by each issue in a particular status (or statuses), and maps it over a specified period of time. The average, rolling average, and standard deviation for this data are shown.

A Control Chart helps you identify whether data from the current sprint can be used to determine future performance. The less variance in the cycle time of an issue, the higher the confidence in using the mean (or median) as an indication of future performance.

Here are some of the ways that you could use a Control Chart:

  • Analyze your team's past performance in a retrospective,
  • Measure the effect of a process change on your team's productivity,
  • Provide external stakeholders with visibility of your team's performance, and
  • For Kanban, use past performance to set targets for your team.
Panel

On this page:

Table of Contents
maxLevel2
minLevel2

Viewing the Control Chart

  1. Include Page
    _JS_RapidBoardNav_instructions
    _JS_RapidBoardNav_instructions
  2. Click Reports, then select Control Chart.
  3. Configure the chart as desired. The screenshot at the top of this page highlights the controls that you can use to configure the Control Chart.

Include Page
_JS_How to read this chart
_JS_How to read this chart

(warning) If you are using Internet Explorer 8, the Control Chart will not work.

Printing the Control Chart

Include Page
__JS_printReport
__JS_printReport

Understanding the Control Chart

Before you start using the Control Chart, you should get to know how it works. The following questions and answers cover the key functionalities of the Control Chart:

Expand
titleWhat is cycle time and lead time?

Cycle time is the time spent working on an issue — typically, the time taken from when work begins on an issue to when work is completed, but it also includes any other time spent working on the issue. For example, if an issue is reopened, worked on, and completed again, then the time for this extra work is added to the cycle time.

Lead time is similar to cycle time, but is the time taken from when an issue is logged (not when work begins) until work is completed on that issue.

Expand
titleHow is cycle time determined?

The statuses used to calculate cycle time depend on the workflow you're using for your project. You should configure the Control Chart to include the statuses that represent the time spent working on an issue. Note, the Control Chart will attempt to select these statuses automatically.

For example, if you are using the '

Include Page
_JS_GHname
_JS_GHname
Development' workflow, you may consider work to have started on an issue when it transitions to 'In Progress', and work to have completed when it transitions from 'In Review' to 'Done'. You would show this on the Control Chart by selecting 'In Progress' and 'In Review' as the Columns, as this would show the time that issues have spent in those two statuses.

Tip: you can also configure the Control Chart to show lead time data instead of cycle time data. Just select the statuses that represent the time spent on an issue; from the time it is raised until work was completed.

Expand
titleHow is rolling average calculated?

The rolling average (blue line on the chart) is issue-based, not time-based. For every issue shown on the chart, the rolling average (at that point in time) is calculated by taking the issue itself, X issues before the issue and X issues after the issue, then averaging their cycle times. 20% of the total issues displayed (always an odd number and a minimum of 5 issues) is used in the calculation.

For example, in the screenshot below, at the point of time where an issue (green dot) is shown, the rolling average is calculated as follows:

  1. Take the issue plus four issues before and four issues after (nine issues total).
  2. Average the cycle times for the nine issues.
  3. Map the blue line to the calculated average.

If the Timeframe is reduced to 'Past two weeks', the number of issues used would reduce, as there are fewer total issues available to use for the calculations.

This method produces a steady rolling average line that shows outliers better (i.e. rolling average doesn't deviate as sharply towards outliers). The rolling average line is also easy to understand, as the inflections are related to the positions of issues.

(info) If you would like to know more about why the rolling average calculation is based on a percentage of the total issues, rather than a time period, see Comparing different methods of calculating the rolling average on the Control Chart.

Expand
titleWhat does the blue shaded area represent?

The blue shaded area of the control chart represents the standard deviation that is, the amount of variation of the actual data from the rolling average.

The standard deviation gives you an indication of the level of confidence that you can have in the data. For example, if there is a narrow blue band (low standard deviation), you can be confident that the cycle time of future issues will be close to the rolling average.

Expand
titleWhat do the dots on the chart represent?

As shown on the chart legend, each dot represents an issue or a group (cluster) of issues:

  • The vertical placement of the dot represents the cycle time for the issue, i.e. the 'Elapsed Time'. For a cluster of issues, the dot is placed at the average cycle time for the issues.
  • The horizontal placement indicates when the issue(s) transitioned out of the last status selected on the chart (in Columns). For example, if you are using the '
    Include Page
    _JS_GHname
    _JS_GHname
    Development' workflow and have selected 'In Progress' and 'In Review' as the columns on the Control Chart, the dots will indicate when the issue transitioned out of the 'In Review' status.
Expand
titleWhy does the scale of the Elapsed Time axis change when I change Timeframe?

If the maximum Elapsed Time value on the chart is less than 30 days, then a linear scale is used for the y-axis. If it is 30 days or greater, than a cube-root power scale is used.

When you change the Timeframe, you may include issues with an elapsed time of greater than 30 days when you previously did not, or vice versa. This will change the scale, as described above.

Section
Column
width50%

Linear scale for Elapsed Time

Column
width50%

Cube-root power scale for Elapsed Time

Tips and examples

Learn how to tweak your Control Chart to show the data you need with the following examples:

Expand
titleShow me some tips...

Tip 1: Remove unwanted outliers

The Control Chart can help you identify outliers. On closer examination, you may determine that certain outliers are invalid due to human error. For example, you may have a story that was started but stopped, then eventually dropped back to the backlog, but not returned to the 'To Do' status. The time that the issue spent 'In Progress' would incorrectly skew the data for your Control Chart. 

To remove unwanted outliers from your Control Chart, add a label to each outlier issue (e.g. outlier) and create a Quick Filter with this JQL: labels is EMPTY or labels not in (outlier). Configure your Control Chart to use this Quick Filter.

Section
Column
width50%

Example Control Chart with invalid outliers

Column
width50%

Example Control Chart with invalid outliers removed (note the smaller scale for 'Elapsed Time')

Tip 2: Remove triage casualties

In a Control Chart, you generally want to track the issues that are resolved as 'Fixed'. Issues that are triaged and resolved as a duplicate, answered, tracked elsewhere, etc can skew the data, bringing the average cycle time down considerably.

To remove triage casualties from your Control Chart, create a Quick Filter with this JQL: resolution in (Fixed). Configure your Control Chart to use this Quick Filter.

Section
Column
width50%

Example Control Chart including issues where the resolution is not 'Fixed'

Column
width50%

Example Control Chart excluding issues where the resolution is not 'Fixed' (note the higher average cycle time)

Tip 3: Exclude current work

The Control Chart shows data for issues that have been in a selected column, but are no longer in a selected column. This gives the cycle time (total elapsed time) for the issues. However, by default, this will include issues that are still moving across the board.

To view the data for completed work only in your Control Chart, create a Quick Filter with this JQL: status in (Resolved, Closed). Configure your Control Chart to use this Quick Filter.

Section
Column
width50%

Example Control Chart including all issues

Column
width50%

Example Control Chart including issues where the status is 'Resolved' or 'Closed' only

Learn how to interpret a Control Chart with the following examples:

Expand
titleShow me some examples...

Example 1:


  • The productivity of the team is increasing: indicated by the downward trend of the rolling average.
  • The cycle time of future issues are likely to be close to the rolling average (2 days or less): indicated by the low standard deviation (narrow blue shaded area).

Example 2:

  • The team's productivity is pretty consistent: indicated by rolling average being close to the average.
  • There are obvious outliers on Tue 14 and Wed 15 (7 days and 10 days elapsed time respectively, compared 2 days on average) that should be investigated. 
  • Data is becoming more predictable over time.

Known issues

If you encounter an issue that is not on this list, please raise it in our issue tracker.

Expand
titleClick to view known issues...

 

Jira
serverAtlassian JIRA
columnskey,summary,type,priority,status
maximumIssues20
jqlQueryproject = JAGDEV AND issuetype = Bug AND "Epic Link" = JAGDEV-347 AND status not in (Closed, Resolved)
serverId144880e9-a353-312f-9412-ed028e8166fa

Next steps

Include Page
_JS_helpPanel
_JS_helpPanel

Read the following related topics: