- Support
- Reports and Dashboards
- Visual Reports
- Cumulative, Burn Up & Down Reports: Examples and Use Cases
Brief summary of this article:
The Cycle Time report shows you how long it takes for work to pass through your process. Cycle time is defined as the number of days or hours it takes a card to move between selected workflow states.
Historical Visual Reports for Processing Time and Custom Cycle Time in Targetprocess use historical data of state transitions. The reports are used to calculate and visualize custom metrics for the entities in your system, especially:
- Processing Time across all the workflow states
- Processing Time per each state
- Custom Cycle Time for selected states altogether
The reports support further aggregation such as calculating averages. Grouping capabilities are used to compare totals and averages across groups, track dynamics and discover trends.
In Targetprocess there are several more kinds of reports used to track Processing Time and Cycle Time metrics. More on them: Processing Time and Cycle Time Reports
Source Data
In Targetprocess, the Cycle Time report can be built for all the entities that have a states-based Project Workflow: User Stories, Tasks, Bugs, Features, Epics, Requests, Projects, Test Plan Runs. The reports are based on the dates when the entities change their workflow states.
Changes of Team Workflow states and Custom Field statuses are not supported by Cycle Time reports in Targetprocess at the moment.
For a single entity, historical data can be found on its History tab. Entity State changed events are displayed among other tracked modifications.
Processing Flow for a single entity displays the events in form of a basic timeline. It can be found on the Flow tab. It is there for almost all supported entities but Projects. Processing Times, rounded, are displayed per each entity state. In the figure below, they are 12 days for Planned and 6 days for In Dev.
Calculations of Lead and Cycle Time metrics are based on calendar days. All the metrics and reports are based on total number of days or hours an entity spent in a particular workflow state, including afterhours, weekends, and public holidays.
Principles of Reporting
Processing Time and custom Cycle Time reports are calculated and displayed by Visual Reports of Cumulative, Burn Up & Down Reports (Beta) source type.
More on reports of this type: How to create a Historical Report
To calculate and visualize Processing Time metrics, we put to a report axis one of the predefined fields named Duration.
Two fields are available: Duration(Days) and Duration(Hours). Use one of them depending on how precise your report should be.
Set Up a Basic Report for Processing Time in Workflow States
To create a Historical Visual Report for Processing Time or custom Cycle Time please click + Create > Report in the left menu.
On Setup tab, select Blank template.
In Sources settings, select Cumulative, Burn Up & Down Reports (Beta) option as Source Type. Select Projects and teams and Entities.
Select Date Range and apply a Filter.
All the reports in this article use the same Date Range:
PREVIOUS YEAR
To filter out entities completed before the selected date range use the following filter:
?EndDate is None or EndDate >= 'Date Range Start'
Final workflow states such as Done / Completed / Closed etc. should be always switched off and removed from visualization. Once an item is moved to a final state it stays there forever. We exclude final states because we don’t care how much time items spent there. Append the filter below for this purpose:
?EntityState.IsFinal is False
More on filters: Filters by Date Ranges in Historical Visual Reports, Filters by Entity Fields in Historical Visual Reports
Apply the data source filters carefully. The source data should include all the history records related to the entity lifecycles. Only modification records related to particular workflow states can be excluded alltogether. When you filter out some key events from historical flows unintentionally, the calculated totals may return incorrect values less than expected ones.
Then press Create report button. The report builder loads data from the system.
Make further adjustments depending on the report you require using the guides below:
- Processing Time per State, per Item
- Average Processing Time per State
- Average Processing Time Dynamics per State
- Cycle Time for Selected States, per Item
- Average Cycle Time Dynamics for Selected States
Processing Time per State, per Item
The Historical Visual Reports described below display raw Processing Time for each entity and state in the same chart. This is a stacked bar chart. Each bar represents time and, more concretely, how much time the entity such as the task or the project has spent in a given state. The different colors represent the different states in which the task has been throughout its life-cycle. The longer the bar, the longer the task has been worked on. Toggle on / off states in a legend to compare Processing Time for a selected state for all the displayed entities. Say, from the chart described below we can see that for the project S-P79 it took about 216 days to pass the Research phase, while the project S-N57 passed this state almost 4 times faster.
Here is how the report can be set up:
- Data Source Filter: ?(EndDate is None or EndDate >= 'Date Range Start') and EntityState.IsFinal is False
- Vertical axis: Entity Name
- Horizontal axis, Label: Duration(Days)
- Chart Type: stacked-bar chart
- Color: State
Here is how the Chart Data looks like being exported to a CSV-formatted file and opened within a spreadsheet editor:
Average Processing Time per State
Aggregation capabilities of Historical Visual Reports are used to calculate and display Average Processing Time per state across your filtered scope of data. Use the chart to compare Average Processing Time across workflow states, predict Cycle Time for your newly created work items, and detect problematic states.
According to the chart displayed below the development and testing activities are performed quite fast as average time spent in In Dev and Testing states for all the entities is rather low. However, most of the lifecycle the work items are queued in Planned (waits for development), Coded (waits for testing), and Tested (waits for deployment) states.
Here is how the report of this kind can be set up:
- Data Source Filter: ?(EndDate is None or EndDate >= 'Date Range Start') and EntityState.IsFinal is False
- Vertical axis: State
- Horizontal axis, Label: Duration(Days)
- Chart Type: bar / stacked-bar chart
- Color: State
Here is how the Chart Data looks like being exported to a CSV-formatted file and opened within a spreadsheet editor:
Average Processing Time Dynamics per State
Historical Visual Reports support Timeline display mode and grouping source entities per date ranges. Group the work items weekly or monthly according to their Creation Date, Start Date, Completion Date, or Date of Modification, to get Processing Time dynamics. In the report below work items are grouped per month of creation date and groups displayed in the form of timeline. Average Processing Time is displayed for each group, helping to track dynamics and discover trends.
From the chart below we find out that the overall team performance for the entities created in August, 2017 was low: average processing time for Open, Planned, Reopen, Coded, Testing states was increased in comparison with the other month.
Here is how the report can be set up:
- Data Source Filter: ?EntityState.IsFinal is False and CreateDate >= 'Date Range Start' and CurrentBug.EndDate <= 'Date Range End' and CurrentBug.Id is not None
- Vertical axis: Duration(Days)
- Horizontal axis: Create Date / Start Date / End Date, grouped by WEEK / MONTH / QUARTER / YEAR
- Chart Type: line chart
- Color, Label: State
Here is how the Chart Data looks like being exported to a CSV-formatted file and opened within a spreadsheet editor:
Advanced Filters for Entity States
All the reports above display all the workflow states except final ones. These Advanced Filters help to include or exclude particular states from your calculations.
To focus on particular state(s) only apply the filters:
?EntityState is 'State Name' ?EntityState is 'Name 1' or EntityState is 'Name 2'
Negative filters to exclude some states:
?EntityState is not 'Name 1' and EntityState is not 'Name 2' ?EntityState.IsFinal is False and EntityState.IsInitial is False and EntityState is not 'Production'
More on the filters: Filters by Entity States
Example
We are focused on the states Research and Design.
We apply filter by 2 states only:
?(EndDate is None or EndDate >= 'Date Range Start') and (EntityState is 'Research' or EntityState is 'Design')
Processing Time report, per each entity:
Average Processing Time report, per state:
Custom Cycle Time for Selected States
All reports described above process workflow states separately. However, Historical Visual Reports support selection of workflow states for the Processing Time and Cycle Time metrics, and the next reports summarize Processing Time in selected states together for every item. Here are the most common use cases when selection of states is required.
Value-added Processing Time vs Wasted Time. Not all the states are equal in terms of added value. In a workflow, processing time in some selected states may be considered as valuable because actual work has been performed during them. For example: Research, Design, In Dev, Testing, Deployment. As opposite, processing time in other states may be considered as wasted because the items in these state are just queued and wait for the actual work being performed. For example: Open, Reopen, Ideas, Planned, Coded, Tested.
Processing Time per Responsible Role. In Targetprocess it is possible to assign people to entities under multiple separate roles. People with different roles usually work on the same item subsequently and not simultaneously. Every role is usually set as responsible for the selected workflow states. For example, Developers are responsible for In Dev and Deployment state, Testers for Testing state, and activity of Feature Owners may be focused on Ideas, Research and Design states.
Use Advanced Filters by Entity States to calculate custom Cycle Time and build totals for value-added processing time, non-valuable wasted time, or processing time per states with particular responsible role only. In the filter, specify only the states you'd like to focus on. The filter allows to select 1, 2, and more states without any limitations. You may filter states that follow one another in the Project Workflow, or apply the filter the way that one or more gaps appear. Just specify explicit names (such as "Open", "In Progress", "Done") or attributes (IsInitial, IsPlanned, IsFinal) properly.
In the examples below we'll be focused on the two workflow states named Research and Design considered as whole.
More on the filters: Filters by Entity States
Cycle Time for Selected States, per Item
This report is a bar chart. Each bar represents how much time the entity such as the task or the project has spent in selected states together. The longer the bar, the longer the task has been worked on.
Here is how the report can be set up:
- Data Source Filter: ?(EndDate is None or EndDate >= 'Date Range Start') and (EntityState is 'Research' or EntityState is 'Design')
- Vertical axis: Entity Name
- Horizontal axis, Label: Duration(Days)
- Chart Type: bar / stacked-bar chart
Here is how the Chart Data looks like being exported to a CSV-formatted file and opened within a spreadsheet editor:
Average Cycle Time Dynamics for Selected States
Once custom Cycle Time metrics for Selected State are calculated per each item, it is possible to split items into groups and perform aggregation within each group. In the report below work items are grouped per quarter of creation date and groups are displayed in the form of timeline. Average custom Cycle Time is displayed for each group, helping to track dynamics and discover trends.
Here is how the report can be set up:
- Data Source Filter: ?(EndDate is None or EndDate >= 'Date Range Start') and (EntityState is 'Research' or EntityState is 'Design')
- Vertical axis: Duration(Days)
- Horizontal axis: Create Date / Start Date / End Date, grouped by WEEK / MONTH / QUARTER / YEAR
- Chart Type: line chart
Here is how the Chart Data looks like being exported to a CSV-formatted file and opened within a spreadsheet editor:
Advanced Facts and Known Issues
Exclude Incomplete Entities from Average Calculations
All data in your sample should be homogeneous. To increase the accuracy of your history reports we recommend to filter only the entities that were fully processed (created and completed) during the selected Date Range. Exclude all the entities whose lifecycle is covered by the Date Range partially. For example, when history of User Story entities is selected as source data, the following Advanced Filter can be applied:
?CreateDate >= 'Date Range Start' and CurrentUserStory.EndDate <= 'Date Range End'
More on this: Select Entities Completed During the Selected Date Range
Returned Entities
When transitions of a workflow are configured the way that allows movements of items to previous states, an entity can return to some selected states multiple times. All the reports described below summarize the durations. Say on the example below a bug was moved to Reopen state twice and spent there 1 day for the first time and 3 days for the second one. The flow duration report will show that the bug has been spent 4 days total in the Reopen state.
Field Used for Grouping
Choose the field for grouping wisely. Depending on the field you group the records on (Create Date, Start Date, End Date), the calculated and displayed results are different.
Never group the records by Date Of Modification field. The calculated results in this case are incorrect.
Missing States
Removed, Renamed, and Added States
In typical systems Workflows are subjects to change. Sometimes states are added, removed, and reordered. All these changes affect the reporting.
In Historical Visual Reports for Processing Time and Custom Cycle Time, only states currently present in the workflows of selected projects are shown and processed properly.
If some state was a part of the workflow earlier and now it is deleted, it will be shown as No State in the report.
If some state was renamed, new name will be displayed everywhere in the report.
If some state was added in the middle of the observed date range, it may happen that entities modified earlier will miss data on this workflow state in their lifecycles.
States from Other Processes
Multiple projects may follow different processes and have different workflows. Entities may be moved across projects. It may happen that the project an entity has been moved to or from is not included to the data source of the report, and none of the projects with the same process are included as well. As a result, such alien process and all its states become unknown and are displayed as No State in the report.
Hide No State Modification Records
To hide deleted No State states and states from alien processes please append a Source Data UI filter. Press Data Source > Browse... button, then open Source Data tab, then input a Field / Condition filter:
State / exists
Press + button to save the filter. Close the Source Data browser with X icon.
Alternative option to hide deleted 'No State' states is to apply the following Source settings filter:
?EntityState.Name != ""
Deleted Items
To hide all deleted entities please apply the following entity-specific filters:
?CurrentUserStory.ID is not None ?CurrentTask.ID is not None ?CurrentBug.ID is not None ?CurrentFeature.ID is not None ?CurrentEpic.ID is not None ?CurrentRequest.ID is not None ?CurrentProject.ID is not None
Zero Values in Average Calculation
When an initial durations report produces some zero values (meaning an entity changed a workflow state faster than in a minute) then they are included to AVG function. It is not possible to exclude the zeros using AVGIF function.
Calculations under Duration Fields
Predefined fields Duration(Days) and Duration(Hours) use the calculations with quite complex formulas. You don't need to remember or copy-paste the formulas: the Visual Reports Editor fills it in for you automatically.
Duration(Days):
AVG(SUM(DATEDIFF([Date of Modification], IF([Modification Valid To] > NOW(), NOW(), [Modification Valid To]), "minute")) / 1440 by [Entity Id])
Duration(Hours):
AVG(SUM(DATEDIFF([Date of Modification], IF([Modification Valid To] > NOW(), NOW(), [Modification Valid To]), "minute")) / 60 by [Entity Id])
Further Customization
Reporting on Processing Time and Cycle Time is rather tricky thing. Should you require any assistance with the building a report of your dream, please contact our helpful Support Team!
Still have a question?
We're here to help! Just contact our friendly support team.