Great Gadgets for Azure DevOps
Breadcrumbs

Cycle Time Trend

Overview

The Cycle Time Trend Chart widget helps you track how quickly your team delivers work and whether delivery performance improves over time.

Depending on how you configure it, this widget can calculate the key Kanban metrics like Cycle Time or Lead Time and display their trend, or simply measure the time between two workflow states.

  • Cycle Time is the amount of time that the team spent working on an item, excluding any waiting time on the board. Therefore, the Cycle Time should start being measured when the item task enters a "working" state, not earlier.

  • Lead Time represents the total time from when a request is made by the client and added to the board until it is fully completed and delivered to the client. So it is the total time the client is waiting for an item to be delivered.

Cycle-time-trend-chart-in-Azure-DevOps-dashboard.png

How does it work?

The data is displayed for a specified number of time intervals relative to a specified date. For each time interval, the widget identifies those worked items from the specified query that had a completed cycle in that interval, determines the cycle(s) duration, calculates the average time for that interval and displays it in the trend chart.

Optionally, the widget can display a Data tab with detailed information for each work item shown in each interval, including the cycle time details and the average calculation. The table can be easily exported as a CSV file.

Cycle-time-trend-data-table.png


Tips & Tricks
To calculate "Cycle Time", set the following:

  • Cycle starts = When the item entered a state that has category "In Progress"

  • Cycle ends = When the item entered a state that has category "Completed"

To calculate "Lead Time", set the following:

  • Cycle starts = When the item was created or when the item entered a state that has category "Proposed"

  • Cycle ends = When the item entered a state that has category "Completed"

Configuration

The settings of this widget are divided in multiple tabs:

  • Data tab - contains the required settings of the widget, such as title or data source

  • More Settings tab - contains the optional settings

  • Colors tab - lets you customize the color of the lines displayed in the chart

Data tab

On this tab you can configure the required settings of the widget.

Cycle-time-trend-configuration---data-tab.png

Setting

Description

Widget Title

Choose what to display in the title bar of the widget.

Data Source

Select the type of Data Source used by the widget:

  • The board of your Team.

  • A Shared query containing the work items for which you want the metrics to be calculated. Make sure that the specified query is shared with the users who will also visualize this widget.

Cycle starts

Indicates what to consider as the start event of a cycle.

You can choose between:

  • When the work item was created

  • When the work item entered a state that has category "Proposed" - the cycle starts when the work item was transitioned to any workflow state of category New, Proposed or Approved.

  • When the work item entered a state that has category "In Progress" - the cycle starts when the work item was transitioned to any workflow state of category "In Progress". This includes states like Active, or In Progress.

  • When the work item entered this state - cycle started when the item was transitioned to the specified workflow state.

    Choose also how to handle the case when there are multiple transitions to the start state or to the state category by setting If multiple entries in the start state, consider the ? entry to first or last. See the example below.

Example
You configured the widget to start the cycle When the work item entered a state that has category "In Progress" and to end the cycle When the work item entered a state that has category "Completed" and there was a work item that had multiple entries in the "In Progress" state before being moved to "Completed". How should the cycle time be calculated, from the first or from the last transition in the "In Progress" state?

image-20260121-124943.png

If you set If multiple entries in the start state, consider the first entry, the cycle will start when the item was transitioned in the "In Progress" state for the first time.

image-20260121-125037.png

If you set If multiple entries in the start state, consider the last entry, the cycle will start when the item was transitioned in the "In Progress" state for the last time.

image-20260121-125111.png

Cycle ends

Indicates what to consider as the end event of a cycle.

You can choose between:

  • When the work item entered a state that has category "Completed" - the cycle ends when the work item was transitioned to any workflow state of category "Completed", “Resolved”, or “Removed”. These include states like Done, Resolved or Closed.

  • When the work item entered a state that has category "In Progress" - the cycle ends when the work item was transitioned to any workflow state of category "In Progress". This includes states like Active, or In Progress.

  • When the work item entered this state - the cycle ends when the work item was transitioned to the specified workflow state.

You can also choose how to handle the case when there are multiple transitions to the end state by setting If multiple entries in the end state, consider the ? entry to first or last. See the example below.

Example
You configured the widget to start the cycle When the work item entered a state that has category "Proposed" and to end the cycle When the work item entered a state that has category "Completed" and there was a work item that had multiple entries in the "Completed". How should the cycle time be calculated, till the first or till the last transition in the "Completed" state?

image-20260121-125249.png

If you set If multiple entries in the end state, consider the first entry, the cycle will end when the work item was transitioned in the "Completed" state for the first time.

image-20260121-125318.png

If you set If multiple entries in the end state, consider the last entry, the cycle will end when the work item was transitioned in the "Completed" state for the last time.

image-20260121-125356.png

Multiple cycles

Decide how the widget should handle those work items that have multiple cycles. This situation occurs if the work item was transitioned multiple times through the start and finish states of the cycle.

Example
You configured the widget to start the cycle When the work item entered a state that has category "In Progress" and to end the cycle When the work item entered a state that has category "Completed" and there was a work item that was moved from "In Progress" to "Completed" multiple times, so it had multiple cycles. What cycle do you want to be displayed?

image-20260121-125602.png

You can choose between:

  • Display all cycles - all the cycles will be displayed with their own dot in the chart and their own entry in the data table.

  • Display only the first cycle - only the first cycle of the item will be displayed, with all the others being ignored

  • Display only the last cycle - only the last cycle of the item will be displayed, with all the others being ignored

  • Display as one cycle - a single cycle will be displayed, having as the start time the moment when the first cycle started and as the finish time the moment when the last cycle ended. See the picture below.

image-20260121-125717.png
  • Display as sum of all cycles - a single cycle will be displayed, with the start time being the moment the first cycle started and the end time being the moment the last cycle ended, and its duration calculated as the sum of all cycles.

Display data until

Specify the date until the data is displayed. You can choose between:

This date (recommended): - The time intervals will be aligned with the specified date.
Previous day (end-of-day) - the data will be displayed until the end of Yesterday without the need to manually enter a date.

Intervals of

Specify the duration (in weeks) for the time intervals used when calculating and displaying the average time.

Display the data for the last ? intervals

Specify the number of time intervals to be displayed in the chart relative to the date specified at "Display data until".

More Settings tab

On this tab you can configure the optional settings of the widget.

Cycle-time-trend-configuration---more settings-tab.png

Setting

Description

Calculate in

Choose the time unit in which the results will be displayed.

Series to Display

Choose what series to display in the chart. You can select one or more options:
Average Cycle Time - displays the average cycle time for each time interval in the chart.
Trendline - displays a line on the chart that reveals the overall direction of the data. The trendline can be:

  • Linear - a best-fit straight line that shows if the average cycle time is increasing or decreasing at a steady rate.

  • Polynomial - is a curved line determined based on an order 2 polynomial formula, which is recommended when the data fluctuates.

Show the Overall Average Cycle Time, calculated as the average of the last ? intervals

Check this option and specify a number of intervals, if you want the chart to calculate and display the overall average.

Show legend

Check this option if you want the chart legend to be displayed.

Tilted labels for x-axis

Check this option to avoid overlapping labels on the x-axis.

Don't count weekends

Check this option if you want to exclude the weekends (Saturdays and Sundays) from the cycle time calculation.

Show data tab

Check this option if you want a data table to be displayed along with the chart. The Data tab displays, for every time interval in the chart, the items along with their cycle time details and the average calculation.

Open data tab first

Check this option if you want the widget to open on the Data tab first (instead of Chart tab as default). Note that the tab order will remain unchanged (Chart, then Data); only the initial view will switch to the Data tab.

Display horizontal gridlines

Check this option if you want the chart to display gridlines for the vertical axis.

Refresh cached data at next display

This widget uses data caching for faster display, which means that some data resulted after processing are saved and reused next time the widget is loaded. If you check it, the cache of the widget will be deleted and recreated at the next reload. This setting is not persistent.

 

Colors tab

On this tab you can customize the color of the lines displayed in the chart.

Cycle-time-trend-configuration--colors tab.png

Setting

Description

Automatically assign colors

Check this if you want the chart to automatically assign colors for the series.

Custom colors

Select any custom color you want the series to be displayed on by either entering the color's hexadecimal code or picking a color.

You can also use the Copy and Import buttons to copy and import the color configuration to widgets of the same type.