Cycle Time

Cycle Time generally, represents the time a bug/feature took to get completed, from the time it was prioritized and pushed to the board. Lead and Cycle Time charts present the average amount of time it takes for a task to be processed from the specified start to the finish point. These can be used to analyze the time required to traverse work items and to make improvements in the project performance. Project managers should keep Lead and Cycle times as low as possible as it represents sunk investment costs with no business benefits.
The cycle time is what the team can influence by changing its work process. It is a mechanical measure for process capability. To reduce lead times, the cycle time can be (and should be) reduced.

In SwiftKanban, you can view Cycle Time for cards passed through specific columns/stages as an Overall Average, Column-wise Average, Distribution of cards within Cycle Time ranges, and cards within and out of Control limits. By including the backlog in the filter options, you can generate Lead Time Overall Average, Column-wise Lead Time Average, and so on.

Cycle Time for a card

In SwiftKanban, Cycle Time for a card is recorded for every column, such as the days or hours a card was lying in a particular column - from the Start Date when the card entered a column and when it exited the column.

The time the card lies in a column is calculated as Exit Date- Entry date. It calculates 1 day as 24 hrs from entry time into a column.

The cycle time summed up for all columns the card was lying, is the Total Cycle Time for a card. You can select the filter options to generate a Cycle Time chart for specific lanes, date range, and other criteria.

Cycle Time Analytics Filter

On the Cycle Time Analytics page, click the Filter icon on the auto-hide toolbar. Select the options in the filter pop-up, and click Apply. The filter applies to all Cycle Time Analysis charts, and charts are refreshed accordingly. 
To know more about the filter options, see the following information:
  • Display Time In: Select the unit of measurement (Hours/Days/Weeks) for Cycle Time to be scaled on the Y axis in the chart.
  • Start Date and End Date: Select both these dates from the calendar to limit the scope of data.  
  • Time Period: Snapshot of time (Daily, Weekly, Monthly, and Quarterly) for Analytics to be rolled up or unrolled on the X axis of the chart.
  • Card types Select the values based on your requirement.
  •  Lane: Select the lane(s) from the list box for which you want to plot the chart. 
  • Start and End Column: Select the exact stages for which you want to generate by defining the Start Column and End Column. 
Note: The charts consider the cards that have exited the End Column in the date range and also cards that may have skipped the Start Column through the End Column. The cycle time is from the time the card entered any lane in between the Start Column and the End Column to the time it was moved out of the End Column. But, if the End column is tagged as Done column type, then the cycle time is calculated till the card's entry into the End column, not based on its exit from the end column.
If you select all or multiple lanes for plotting the chart, then the cycle time is calculated based on the archived cards and any cards that enter into the Done column type or move beyond Done column type.

Overall Average

The Cycle Time Overall Average chart displays the Cycle Time, Wait Time, Work Time, and Blocked Time plotted in a single view. The Overall Average Chart plots the average analytics of cards that exited the End column in the filter.

For example, in case of Average Cycle Time curve, for multiple cards that exited the End column on a particular date, the chart plots a single data point of the Average Cycle Time of these cards, such as Total Cycle Time of Card A + Total Cycle Time of Card B + Total Cycle Time of Card C, … / No. of Cards.
You can generate Lead Time Average chart by selecting Backlog in the filter options.

Cycle Time for a card = Sum of Time spent in each column the card passed through on the board, including 'Ready', 'In-Progress', and 'Completed' column types, and also Blocked Time.

Work Time = (Time spent by a card in the ‘In-Progress’ column types) – (The time the card was blocked in these columns)

Work Time represents the time a bug/feature was worked upon. On a SwiftKanban board, it means the time spent in a column of type, ‘In-Progress'. Average Work Time metric reflects the actual time spent on work-items eliminating the time spent on waiting to be pulled in the next “Working” column and the blocked time. The Work Time is a measure to analyze your team’s productivity.

Wait Time = (Time spent by a card in the ‘Ready’, and ‘Completed’ Column Type) – (The time the card was blocked in these columns)

Wait time is computed as the time any card was lying idle waiting to be pulled in the next “Working” column. On a SwiftKanban board, it means the time spent in a column of type, ‘Ready’ and 'Completed'. It represents the time a bug/feature was waiting to be pulled from the previous column. Wait Time, when analyzed against the Lead and Cycle Time, the ratio can indicate how much potential there is for improvement in the flow by eliminating wastages.

Blocked Time = Time the card was blocked in columns

The Blocked Time is a measure to evaluate how quickly blockages identified were resolved. This calls for collaboration amongst the team and escalation in critical cases to keep work flowing.

Hence, if we segregate the cycle time for different Column types and the time the card was blocked in different columns, we derive that:
Cycle Time for a card = Work Time (excluding the blocked time) + Wait Time (excluding the blocked time) + Blocked Time (in all columns)

For example, refer to the Table 1 and 2 below:

Table 1: Card Movement Across columns
 Entry DateExit DateEntry DateExit DateEntry DateExit Date
Card 11-Jan-143-Jan-143-Jan-145-Jan-145-Jan-146-Jan-14
Card 22-Jan-143-Jan-143-Jan-146-Jan-146-Jan-147-Jan-14

Table 2: Overall Average Calculation
 ReadyDevelopmentApprove Work TimeWait TimeCycle Time
 (Waiting Column Type)(Work Column Type)(Completed Column Type)    
Card 12d2d1d 2d3d5d
Card 21d3d1d 3d2d5d
Average1.5d2.5d1d 2.5d2.5d5d

The Overall Average chart plots the Average Work Time- 2.5, Average Wait Time 2.5, and Average Cycle Time as 5.
If cards are blocked, for example in the Development Column, the tables 3, 4, and 5 below explains the revised calculation:

Table 3: Overall Average Calculation, where cards are blocked in a column
 ReadyDevelopmentBlocked in Development ColumnApprove Work Time (excluding Blocked Time)Wait TimeBlocked TimeCycle Time
 (Waiting Lane Type)(Work Lane Type) (Completed ColumnType)     
Card 12d2d1d1d 1d3d1d5d
Card 21d3d0.5d1d 2.5d2d0.5d5d
Average1.5d2.5d0.75d1d 1.75d2.5d0.75d5d

Select the filter options and generate the Overall Average chart.

In the above image, the Average Cycle Time is 23.65 days for cards that passed through the ‘Ready For Deployment#Production’ column between 29th April to 5th May (cards may or may not have entered the ‘Ready for development ‘ column).
  • If you select the last column on the board in the End Column, it plots the cards exited from the last column(the card may be pulled back, but it is considered in the chart).
  • To calculate Cycle Time for a particular column, you can select the same column in the Start and End Column.
  • In the case of cards that are moved several times back to the start column or back from the end column, Cycle Time of every card is calculated as the time difference between the latest date on which the card exited from End column and the oldest date on which the card entered the Start column.
  • If you select a column which came into existence sometime in between the life cycle of the board, it will only take into account the cards that have explicitly moved in/moved out of the column. It will not take into account the position of the column. Essentially, this means that if you selected these columns then they will only show data after the lane was created on the board.
  • If a column is renamed which exists between the Start and End column selected in the filter, cycle time for that column will be available when calculating if the lane exists during the date range.
  • The cycle time for cards that spent some time in the deleted columns will not be included in the chart, even if the column existed during the date range.
Table 4: More card movements covering different scenarios
 ReadyDevelopmentApproveCard Movement
 Entry DateExit DateEntry DateExit DateEntry DateExit Date 
Card 11-Jan-143-Jan-143-Jan-145-Jan-145-Jan-146-Jan-14Passed all columns
Card 22-Jan-143-Jan-143-Jan-146-Jan-146-Jan-147-Jan-14Passed all columns
Card 3  9-Jan-1411-Jan-1411-Jan-1412-Jan-14Skipped first column
Card 48-Jan-149-Jan-149-Jan-1412-Jan-14  Archived from the second column
Card 510-Jan-1411-Jan-14  11-Jan-1414-Jan-14Skipped column in between
Card 68-Jan-149-Jan-149-Jan-14
Repeated flow in through columns

Table 5: Lane-wise Calculation for card movements covering different scenarios
 ReadyDevelopmentApprove Work TimeWait TimeCycle Time
 (Waiting Column Type)(Work Column Type)(Completed Column Type)    
Card 12d2d1d 2d3d5d
Card 21d3d1d 3d2d5d
Card 3 2d1d 2d1d3d
Card 41d3d  3d1d4d
Card 51d 3d  4d4d
Card 61d3d2d 3d3d6d

Table 6: Average calculation considering different date ranges in the filter (w.r.t. card movement in Table 5)

Filter No.Start DateEnd DateStart ColumnEnd ColumnCards Considered Work TimeWait TimeCycle Time
1.1-Jan-147-Jan-14ReadyApproveCard 1, Card 2 1.752.50.75
2.8-Jan-1414-Jan-14ReadyApproveCard 3, Card 5, Card 6 (2d+0+3d)/3=1.66(1d+1d+3d)/3=1.663.33
3.8-Jan-1414-Jan-14ReadyDevelopmentCard 3, Card 4, Card 6 (2d+3d+3d)/3=2.66(0+1d+1d)/3=0.663.32
4.8-Jan-1412-Jan-14ReadyApproveCard 3, Card 6 (2d+1d)/2=1.5(1d+3d)/2=23.5
5.10-Jan-1414-Jan-14ReadyApproveCard 3, Card 5, Card 6 (1d+0+2d)/3=1(1d+3d+2d)/3=23

Cycle Time Column-wise Average

The Column-wise Average Chart shows a comparative column-wise trend of Cycle time. For every lane plotted, it plots the average cycle time of cards that passed through the column, including the cards that exited the End column. The previous period can be selected for comparison of cycle time. The column-wise Average Chart is a dramatic view of how the average cycle time for each column varies across different time periods for an immediate snapshot of which columns are improving (reducing cycle time) or degrading (increasing cycle time) – and might need your attention for process changes or resource assignments.

In the filter, select the Start Date and End date to plot a chart that displays the same duration in Comparison trends. Select the Compare Period value so that the trends will appear for that number of periods.
Select other filter options, as required and apply. If you select ‘All’ in the Lane option, the chart is displayed for all Lanes and you can expand and collapse to view the chart for a specific Lane. If you select the ‘All’ option, the chart considers all cards that exited the last column  in the Lane

The duration in the above example is 30 days, hence previous three periods (based on the Compare Period value) of 30 days are shown. Click anywhere on a column for which you want to view the Cycle Time. The trend is highlighted and the cycle time value appears for each period.
The legend indicates the color code for each Column type i.e. Ready, In-Progress, and Done.
Click the Expand/Collapse icons next to the Lane name to view the chart for the required Lane.
From the above image, you can see how the Cycle Time has reduced over a period of time from 3.19 days to 1.04 days, indicating an increase in team productivity.

Cycle Time Distribution

Cycle Time Distribution chart are histograms showing the frequency distribution of cards, based on the average of any one of the metrics you choose- Cycle Time, Work Time, Wait Time, Blocked Time, or Lead Time. For example, on selecting Cycle Time Distribution, the chart shows a  count of cards that are close to a particular Cycle Time. Similarly, Work Time Distribution chart shows histograms based on Work Time of cards.
The distribution chart also enables you to view the troubled cards/exceptions. The number of cards or the percentages of cards that fall in ranges beyond the Upper Control limit (UCL) is indicated as red bars. Check out the UCL calculation in the Cycle Time Control Chart section.
Select the filter options, as required and apply.
  • Select the metric you want to view i.e. Cycle Time, Work Time, Wait Time, and Blocked Time. Generate Lead Time Distribution chart by selecting Backlog in the Start Lane.
  • Based on the selection in the ‘Plot Chart By’ filter, the count or % cards will be plotted on the nearest metric value, for example, Cycle Time. See calculations for average metric calculation here.
  • You can narrow down on the card types or priority, etc. to arrive at the exceptions.
The frequency ranges are generated based on the actual Analytics (for example, average Cycle Time in the Cycle Time Distribution chart) rounded off to the nearest digit.
The height of the bars represents the count of cards/% of cards. On hovering over a bar, the tooltip displays the metric value and the count of cards / % of cards.
The red bar indicates outliers in the range i.e. cards that are beyond the UCL of the metric value. If there are multiple numbers of cards or the % is high, your process needs a change.

Cycle Time Control

The chart plots points indicating cards that have metrics above or below average and beyond control limits. The chart can be plotted to track various metrics for cards - Cycle Time, Wait Time, Work Time, or Blocked Time. The cards should have exited from the End lane and during the date range selected.

Select the filter options, as required. To view the chart for the Lead Time, select Backlog in Start Lane and the End Lane as you want. You can view the chart for each Lane or All Lanes. If you select the ‘All’ option, the chart considers all cards that exited the last lane.

On applying the filter, the graph displays the legend on the left corner. The green line indicates the mean or average time for the selected period. The red line above the green line is Upper Control Limit (UCL) and the one below the green line is the Lower Control Limit (LCL). See the control limit calculation here.

The cards falling within the range of UCL and LCL are indicated by green dots. The red dots above the UCL and below LCL indicate the metric for the item is beyond the control limit. There may be special cases for such cards. But several points outside these control limits are signals that the process is not operating as consistently as possible, and needs a change.

To find out the card that is out of control limits, rest your pointer on the outlier, you can see the card name and the metric. Click the ‘Click here’ link to view the card details.

Control Limit Calculation

Upper Control Limit (UCL): xBar + (3 * mrBar / 1.128
Lower Control Limit (LCL): xBar - (3 * mrBar / 1.128)
Mean: xBar
  • Count = number of cards exited from the End lane within the date range
  • xBar = totalValue / count;
  • mrBar = totalMovingRange / (count - 1);
  • totalMovingRange = SUM(Card n – Card n-1, Card n-1- Cardn-2, …)
  • 1.128 is the d2 constant considered for sample size of two
  •  Mean = xBar, i.e. totalValue / count

(If we are doing a control chart on individual items, we need to use a moving range (movR) chart to assess variability. In that case, the estimate of standard deviation is mrBar/d2 or mrBar/1.128.)