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.
Note: 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
These are the common filter criteria that you can find in any of the Cycle Time widgets ( Overall Average, Column-wise Average, Cycle Time Distribution, and Cycle Time Control). Other than those common criteria, there can be widget-specific filter criteria like the Metric field for the Cycle Time Control analytics. So, we suggest you read the Help information for each of these widgets carefully.
On the Cycle Time Analytics page, click the Filter icon on the Side 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.
Note: If you select the Time Period as Weekly, then please remember that the week is considered from Sunday to Saturday.
- 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, or being archived in between Start and End column or moved to or beyond Done column type in between Start and End column.
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
Ready | Development | Approve | ||||
Entry Date | Exit Date | Entry Date | Exit Date | Entry Date | Exit Date | |
Card 1 | 1-Jan-14 | 3-Jan-14 | 3-Jan-14 | 5-Jan-14 | 5-Jan-14 | 6-Jan-14 |
Card 2 | 2-Jan-14 | 3-Jan-14 | 3-Jan-14 | 6-Jan-14 | 6-Jan-14 | 7-Jan-14 |
Table 2: Overall Average Calculation
Ready | Development | Approve | Work Time | Wait Time | Cycle Time | ||
(Waiting Column Type) | (Work Column Type) | (Completed Column Type) | |||||
Card 1 | 2d | 2d | 1d | 2d | 3d | 5d | |
Card 2 | 1d | 3d | 1d | 3d | 2d | 5d | |
Average | 1.5d | 2.5d | 1d | 2.5d | 2.5d | 5d |
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
Ready | Development | Blocked in Development Column | Approve | Work Time (excluding Blocked Time) | Wait Time | Blocked Time | Cycle Time | ||
---|---|---|---|---|---|---|---|---|---|
(Waiting Lane Type) | (Work Lane Type) | (Completed ColumnType) | |||||||
Card 1 | 2d | 2d | 1d | 1d | 1d | 3d | 1d | 5d | |
Card 2 | 1d | 3d | 0.5d | 1d | 2.5d | 2d | 0.5d | 5d | |
Average | 1.5d | 2.5d | 0.75d | 1d | 1.75d | 2.5d | 0.75d | 5d |
Applying Filter
Select the filter options and generate the Overall Average chart.
Interpreting the 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).
Note: 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.
- 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
Ready | Development | Approve | Card Movement | ||||
Entry Date | Exit Date | Entry Date | Exit Date | Entry Date | Exit Date | ||
Card 1 | 1-Jan-14 | 3-Jan-14 | 3-Jan-14 | 5-Jan-14 | 5-Jan-14 | 6-Jan-14 | Passed all columns |
Card 2 | 2-Jan-14 | 3-Jan-14 | 3-Jan-14 | 6-Jan-14 | 6-Jan-14 | 7-Jan-14 | Passed all columns |
Card 3 | 9-Jan-14 | 11-Jan-14 | 11-Jan-14 | 12-Jan-14 | Skipped first column | ||
Card 4 | 8-Jan-14 | 9-Jan-14 | 9-Jan-14 | 12-Jan-14 | Archived from the second column | ||
Card 5 | 10-Jan-14 | 11-Jan-14 | 11-Jan-14 | 14-Jan-14 | Skipped column in between | ||
Card 6 | 8-Jan-14 | 9-Jan-14 | 9-Jan-14 11-Jan-14 |
10-Jan-14 13-Jan-14 |
10-Jan-14 13-Jan-14 |
11-Jan-14 14-Jan-14 |
Repeated flow in through columns |
Table 5: Lane-wise Calculation for card movements covering different scenarios
Ready | Development | Approve | Work Time | Wait Time | Cycle Time | ||
(Waiting Column Type) | (Work Column Type) | (Completed Column Type) | |||||
Card 1 | 2d | 2d | 1d | 2d | 3d | 5d | |
Card 2 | 1d | 3d | 1d | 3d | 2d | 5d | |
Card 3 | 2d | 1d | 2d | 1d | 3d | ||
Card 4 | 1d | 3d | 3d | 1d | 4d | ||
Card 5 | 1d | 3d | 4d | 4d | |||
Card 6 | 1d | 3d | 2d | 3d | 3d | 6d |
Table 6: Average calculation considering different date ranges in the filter (w.r.t. card movement in Table 5)
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 or or have moved to beyond Done 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.
Applying Filter
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 or have moved to beyond Done column type of each lane.
Interpreting the Chart
The duration in the above example is 30 days, hence the 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 charts 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, the Work Time Distribution chart shows histograms based on the 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.
Applying Filter
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.
- Visualize percentiles in the histogram to know how the frequency of cards getting completed or blocked or worked upon based on the percentile values. On entering the percentiles (in comma-separated values) in the Confidence Interval field, the vertical dotted lines demarcate the percentile value below which an average cycle time or wait time data falls.
Interpreting the Chart
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 column or moved to End column if it is a Done column type and during the date range selected.
Applying Filter
Select the filter options, as required. Along with other filter criteria, you can also select the Metric you want to view, such as Cycle Time, Work Time, Wait Time, and Blocked Time. To know more about these metrics, read here.
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 in 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.
Interpreting the Chart
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
As a definition, control limits statistically indicate whether any process is under control and stable. The upper control limit (UCL) and lower control limit (LCL) are calculated statistically from the cards’ data that are extracted as per the filter criteria applied on the analytics.
Once the mean(total time value of cards/count of cards) is calculated and the central line is drawn accordingly, the Control limits are defined with the standard deviation with an area of +/- 3 sigmas on either side of the central line. UCL is drawn above the central line and called as +3 sigma line. LCL is drawn below the central line and called as -3 sigma line. If the dots representing individual cards are falling within the standard deviation of the mean, then the process is considered to be in control. Any dots beyond the UCL or LCL is considered as an outlier and require a thorough analysis.