Skip to main content

Deployment frequency

Summarised as a number of deployments per day, a great core metric to monitor as you strive toward continuous delivery

Will Lytle avatar
Written by Will Lytle
Updated over a year 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

Deployment frequency measures the cadence of new code being released 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. A high deployment frequency 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 low deployment frequency leaves companies exposed to risk as they're slow to react to market changes or deployment incidents.

If you're looking to become a high-performing team and reach multiple deployments a day and/or week then our time between deployments metric may also be for you. This metric has the same end result as deployment frequency but you may find it more suitable for your organisaiton if you deploy less frequently. For example, if you're only currently delivering 1 deployment a month then your frequency wouldn't provide much insight whereas you can use the time between each deployment to gauge if your efforts to deploy more often are working.

Ultimately deployment frequency 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 change failure rate, etc. These all have an interdependent relationship and contribute to increasing your frequency of deployments and quality of deployments which should be your end goal.

Increase in frequency of deployments = decrease in time between deployments.

Setup

This metric is simply calculated by taking the number of deployments and dividing it by the number of days for a given time range. 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 deployment frequency metric looks at all of the deployments you have selected to be gathered by us for that specific workspace and then portrays the average count over a given time period (see above '2.8 per day').

You can then break this down further, for example by pipeline which helps you understand exactly which parts of your 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 portfolio 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?