Great Gadgets for Azure DevOps
Breadcrumbs

Histogram Chart

Overview

The Histogram Chart widget helps you visualize how your team delivers work, showing how many items were completed within the specified timeframe and how many were not, while also revealing patterns in cycle times.

Based on your configuration, the widget calculates key Kanban metrics—such as Cycle Time, Lead Time, or the time between two workflow states—for work items returned by a specified shared query and time interval. It then displays the distribution of these values as a histogram.

Optionally, the chart can display an average cycle time line and a custom threshold to quickly highlight items with unusually long cycle times.

Completed items are grouped into “bins” that represent ranges of cycle durations, showing how many items fall into each range and providing a clear view of your team’s performance distribution.

Histogram chart in Azure DevOps dashboard.png

How does it work?

The widget identifies those items from the specified query that completed a cycle in the specified time interval, determines the cycle(s) duration and then groups them into "bins", indicating how many values fall into ranges.

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.

Histogram-chart---data-table.png

Tips & Tricks
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.

Histogram-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 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.

Split range criteria

Choose how to define the segmented columns (bins).

If you choose Attempt to split in ? equal intervals, the widget will try to divide the range in equal intervals, although it is not always possible to split in the number of intervals that you specified. So the number that you enter is actually a "desired" number.

If you choose Split by using these custom thresholds, the range will be divided according to the entered thresholds. In this case, you must manually introduce the thresholds separated by a comma (for example: 100, 200, 300, 400, 500).

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.

Time interval

Represents the time interval displayed by the widget.

You can choose from multiple options:

Custom dates - choose this option if you want to manually enter a Start date and an End date.

A number of days back - By choosing this option, the widget will use a rolling time interval with a number of days back to the current day.

Dates of a sprint - Choose this option if you want the widget to use the start and end dates of an existing sprint. Only the dates are considered (not also the hours). The start of the interval will be the start date of the sprint with time at the start of day, while the end of the interval will be the end date of the sprint with the time at the end of day. When enabled, you’ll need to select the project and team the sprint belongs to. If you choose the Latest sprint (auto), the date range will automatically match the most recent sprint. If you manually select a specific sprint, any changes made to its dates on the board will be automatically reflected in the widget, without the need to reconfigure it.

More Settings tab

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

Histogram-configuration---more settings tab.png

Setting

Description

Calculate in

Specify in what time unit measure the cycle time will be calculated and displayed.

Don't count weekends

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

Display average line

Check this option if you want the chart to display a vertical line with the average cycle time for the specified time interval.

Exclude breaches from average calculation

Check this option if you want the average calculation to exclude items that exceeded the set threshold (breaches). This option has no effect if no threshold is set.

Display threshold line

Check this option if you want the chart to display a vertical line representing a threshold. The items that have a cycle time higher than the specified Threshold value will be colored in red.

Display percentile lines

Check this option and enter the values (percents) corresponding to the percentiles to be displayed as vertical lines. A percentile is a value from the data set that splits the data into two pieces: the lower piece contains the percent of the data, and the upper piece contains the rest of the data.

For example, the 75% percentile will be displayed as a horizontal line with 75% of the items under it and the rest of the items (25%) over it.

Show legend

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

Show data table

Check this option if you want a data table to be displayed along with the chart. The Data tab displays 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.

Colors tab

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

Histogram-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.