Deployment Frequency

How often new code changes are released into production.

ANALYSIS

For reliability and stability, regular, incremental changes are much better than intermittent, large changes. Deployment Frequency shows you how close you are to your ideal rate. Is it a metric broader stakeholders care much about? Maybe not. But that doesn't diminish its value as a diagnostic for things those stakeholders might care about, like Cycle Time.

Definition & Formula

deployments / [unit of time, e.g. day or week]

How often new code changes are released into production.

The Socratic view

For reliability and stability, regular, incremental changes are much better than intermittent, large changes. Deployment Frequency shows you how close you are to your ideal rate. Is it a metric broader stakeholders care much about? Maybe not. But that doesn't diminish its value as a diagnostic for things those stakeholders might care about, like Cycle Time.

Background

The Deployment Frequency metric has its origins in the DevOps movement, which emphasizes the collaboration and integration between development and operations teams. It started being used in the early 2010s as part of the Continuous Delivery and Continuous Deployment practices.

The metric was popularized by the book "Accelerate: The Science of Lean Software and DevOps" by Nicole Forsgren, Jez Humble, and Gene Kim. It provided empirical evidence that organizations with higher deployment frequencies tend to have better overall performance in terms of stability and business outcomes.

Use cases

Deployment Frequency is primarily used by engineering and DevOps teams to assess their release practices and track the frequency of code changes being deployed to production. It helps teams identify bottlenecks in the release process and improve their overall agility.

This metric is valuable for organizations that prioritize reliability and stability. It allows teams to measure their progress towards frequent, small, and incremental deployments, which are generally considered more reliable and less prone to issues. By tracking Deployment Frequency, teams can also identify the impact of process changes and improvements on their release practices.

Evaluating the metric

A good value for Deployment Frequency is subjective and depends on the specific context and objectives of the software engineering team. However, in general, a higher deployment frequency indicates a more effective and efficient release process.

A high Deployment Frequency suggests that the team is capable of delivering changes quickly and regularly, enabling faster feedback loops and reducing the time to market. It signifies a culture of continuous improvement and a focus on small, manageable changes.

On the other hand, a low Deployment Frequency may indicate bottlenecks or inefficiencies in the release process. It could be a sign of longer release cycles, which can lead to delayed feedback, increased risk, and slower innovation.

Overall, Deployment Frequency serves as a valuable diagnostic metric for software engineering teams, providing insights into their release practices and helping them optimize their processes for greater agility and reliability.