Lead Time and Cycle Time

Lead Time and Cycle Time are two useful metrics for understanding how long it takes for work items to be completed.

Lead Time is the difference between the moment when an item is created and the moment when the item enters its Final state.
Lead Time = 
Done Items: End Date - Create Date
Incomplete Items: Now - Create Date
Cycle Time is the difference between the moment when an item is considered 'in progress' to the moment the item enters its Final state.
Cycle Time = 
Done Items: End Date - Start Date
Incomplete Items: Now - Start Date
Targetprocess Image

Lead and Cycle time metrics are available and visible for User Stories, Bugs, Features, Epics, Portfolio Epics, Projects. For Tasks and Requests Lead and Cycle time metrics are hidden and can be exported by API only.

Note:

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.

Planned State

The Planned state helps to define and control the moment when an entity's Cycle Time starts and when Start Date for the entity is automatically set.

When there is no Planned state defined in the workflow, entities are considered 'in progress' immediately after leaving their initial state.

When a state in a workflow is marked as Planned, Cycle Time for an entity starts when the entity is moved to any next state after Planned one.

Any workflow state between Initial and Final states can be marked as Planned. Only one state can be the Planned state in a given workflow.

Start Date

The Start Date field is filled in automatically by Targetprocess when an entity is moved to its 'in progress' state. The Start Date field can also be edited by users having edit permissions for a given entity type.

When a manually entered Start Date is earlier than an entity's Creation Date, a warning icon will appear in the entity's details.

Targetprocess Image

An entity has empty Start Date when it is in its Initial state (for example, Open or New) or if it has not yet passed the Planned state in the workflow.

To revert the Start Date to a blank value, you must move the entity back to the Initial state.

Completion date is set automatically when an entity is moved to its Final state. This value can be manually changed as with Start Dates. However, it cannot be made earlier than the entity's current Start Date.

If an entity has not reached the Final State, its Completion Date will be blank.

To revert the Completion Date to a blank value you must move the entity to any other workflow state that precedes the Final state.

Lead/Cycle Time Visibility from Project Perspective

You can find Project Lead/Cycle Time displayed on the bottom of the Info panel of a project's Details View

Cycle Time Visibility from Team Perspective

You can click the ‘Cycle Time’ link in the Teams section to see the duration of Cycle Time for the Teams assigned to entity. This is especially useful when using Team Workflows.

Representation and Measurement

Within the database, timestamps for Create Date, Start Date and End Date preserve dates and times. Lead and Cycle time are measured in days with high resolution (up to hours and minutes). There metrics are represented within fractional numbers.

Reports

The reporting capabilities of Targetprocess are described in the dedicated article: Processing Time and Cycle Time Reports.

Lead and Cycle Time in Hours in Reports

Lead and Cycle Time values are measured in Days. In order to get a rough measurement of Lead and Cycle Time in hours, you may consider adding a multiplication formula into the chart's settings. Multiply the Cycle Time values by 8 to get the number of work hours in a given week or by 24 if your team works around the clock.
AVG(CycleTime)*8
AVG(CycleTime)*24

Export

The Lead and Cycle Time fields are not available as columns in table-form Custom Reports so far. Therefore, some workarounds will need to be used to export report data:

A. Do the Calculation Manually in the External Data Processor

Both fields can be calculated as the difference between the End Date and either the Start or Create Date:
Lead Time = End Date - Create Date
Cycle Time = End Date - Start Date

The End Date, Start Date, and Create Date fields are supported in Custom reports as visible columns. We recommend that you export these three values for each entity. Then in the exported report calculate the difference manually using your chosen spreadsheet editor.

B. Export using REST API

REST API queries allow you to export Lead Time and Cycle Time. Use the following syntax to include the fields in your output:

/api/v1/Assignables?include=[Id,Name,EntityType[Name],LeadTime,CycleTime]

C. Set up a Calculated Custom Field and use View -> Actions -> Export View

It is possible to export Lead and Cycle Time with the help of a Calculated Custom Field. Start by adding the Custom Fields to your entities:

  1. Process setup
  2. Custom fields configuration for your Process
  3. Add new Custom field for needed entities: User Stories, Bugs, Requests etc.
  4. Select the type of Custom field: Calculated Custom Field
  5. The name of the added field(s) should be different from Lead Time / Cycle Time in order to prevent naming collisions within Targetprocess. Recommended options are ‘Lead Time CCF’, ‘Cycle Time CCF’
  6. The formula for these fields should be one of these two: LeadTimeCycleTime
  7. Save field settings

The calculated value will appear automatically in the entity's Detail View in Custom Fields area.

Both Board and List Views (optional: including columns for Calculated Custom Fields) can be exported using Actions → Export View.

Cycle Time in Team Workflows

To export Start and End Dates for a Team Workflow, use one of the following options:

A: REST API

/api/v1/Assignables?include=[Id,Name,EntityType[Name],AssignedTeams[Team,StartDate,EndDate]]

B: Calculated Custom Fields

Using Calculated Custom fields and the following formulas it is possible to calculate:

Start Date of some particular Team: AssignedTeams.Where(Team.Name=="Dev").Min(StartDate)

End Date of some particular Team:

AssignedTeams.Where(Team.Name=="Dev").Max(EndDate)

Cycle time of some particular Team:
(IIF(AssignedTeams.Where(Team.Name=="Dev").Max(EndDate).HasValue, AssignedTeams.Where(Team.Name=="Dev").Max(EndDate), DateTime.Today) - AssignedTeams.Where(Team.Name=="Dev").Min(StartDate)).TotalDays

If you have two or more teams, for each team you'll require to add its own calculated field.

On boards and list views it is possible to add a calculated value onto cards within Customize Cards settings.