Time between deployments

Summarised as the average time in days between your deployments, a great core metric to monitor as you strive toward continuous delivery

Will Lytle avatar
Written by Will Lytle
Updated over a week ago

New Updates to the API and Metric

  • 18/03/2024 - our deployments API now allows you to send submit extra information with your deployment and use them in your breakdowns and filters (see below).

Overview

Time between deployments measures the average elapsed time between releases of new code into production and is a key indicator of efficient development pipelines.

Use Case

High-performing software teams should make multiple deployments in a day or week depending on the product to reflect best practices when it comes to Agile and DORA methodology. Our time between deployments metric allows organisations to gauge if their efforts to streamline their release pipelines are working. A low time between deployments allows organisations to fail fast and fail forward. Smaller more frequent iterations provide traceability for scrum teams meaning they can identify bugs quicker, improving release quality and resulting in more business value being delivered over technical debt. A high time between deployments leaves companies exposed to risk as they're slow to react to market changes or deployment incidents.

If you're an organisation that already deploys multiple times a day or week our deployment frequency metric may be more suited to your level of output. For example, tracking your time between deployments when you deploy multiple times a day, every few hours, won't provide you with much useful insight whereas monitoring your frequency would provide more granular visibility of your team's release speed and agility.

Ultimately time between deployments provides insight into how all of your other deployment processes are operating such as your code cycle time (lead time for change), mean time to recover and lead time for change, etc. These all have an interdependent relationship and contribute to decreasing your time between deployments while increasing the quality of your deployments which should be your end goal.

Decrease in time between deployments = increase in frequency of deployments.

Setup

This metric is simply calculated by measuring the average amount of time between your deployments within a given time period. We call our deployment API in order to gather the deployment data that you send to us and then process it accordingly.

In Plandek the default time between deployments metric looks at all of the deployments you have selected to be gathered by us for that specific workspace and then portrays the average amount of time between each deployment for a given time period (see above '2.15 days').

You can then break this down further, for example by pipeline which helps you understand exactly which deployments are happening more regularly than others to identify areas for improvement or services that change more than others.

Another popular breakdown is either by engineering group or team to aid in identifying possible room for skill share or resource distribution.

In addition to the existing breakdowns and filtering by status, pipeline, context there are now some newly added fields which can be sent in to the new deployment API, for further information please consult our technical guide:

  • Application/Service Name- the name of the application or service that the deployment belongs

  • Application/Service ID - the release ID of the application or service that the deployment belongs

  • Environment Name - the name of the environment that the deployment was for (if not provided in the API default is not_provided)

  • Includes fix for previous failed deployment - if the deployment includes a fix for a previous failed deployment - (if not provided in the API default is no)

  • Is Prod Environment - if the deployment relates to a production environment (if not provided in the API default is Yes)

  • Marked as Deployed - if the deployment was used to mark commits as deployed (if not provided in the API default is Yes)

  • Attributes - a set of configurable json paired values which can be set to any string or list of string values you would like to send in to the API. Note: If you break down based on one of you attributes and a deployment has a list of values then the count of deployments will be increased as the deployment will appear in multiple breakdown categories.

Any questions please reach out to our customer success team via the chat icon in the bottom right.

Did this answer your question?