KPI Tree

Metric Definition

DORA metric

Deployment Frequency = Number of Production Deployments / Time Period
Number of Production DeploymentsThe count of successful releases to the production environment during the measurement period
Time PeriodThe calendar duration over which deployments are counted (typically per day, week, or month)

Track from

Metric GlossaryOperations Metrics

Deployment frequency

Deployment frequency measures how often an organisation successfully releases code to production. It is one of the four DORA (DevOps Research and Assessment) metrics that predict software delivery performance and organisational outcomes. Teams that deploy more frequently deliver value to users faster, reduce the risk of each individual release, and create tighter feedback loops between development and production.

8 min read

Generate AI summary

What is deployment frequency?

Deployment frequency is the rate at which a team or organisation pushes code changes into its production environment. It is the simplest of the four DORA metrics to measure, yet it reveals a great deal about the health of an engineering organisation. A team that deploys multiple times per day operates in a fundamentally different way from one that deploys once a month.

The metric gained prominence through the State of DevOps reports published by DORA (now part of Google Cloud). These reports, drawing on data from tens of thousands of engineering professionals, consistently found that deployment frequency correlates strongly with overall organisational performance. Elite performers deploy on demand, multiple times per day. Low performers deploy between once per month and once every six months.

Deployment frequency is not simply about speed for its own sake. Frequent deployments mean smaller changesets, which are easier to review, test, and debug. When something goes wrong, the blast radius is limited to a small set of changes, making it faster to identify and fix the issue. This is the paradox of deployment frequency: deploying more often actually reduces risk rather than increasing it.

The metric is typically measured at the team or service level rather than the organisation level, because different services have different change rates. A payments service might deploy less frequently than a user-facing feature service, and that is entirely appropriate. What matters is that each team can deploy as frequently as the business needs demand, without being blocked by process constraints.

Deployment frequency measures releases to production specifically, not deployments to staging or test environments. The distinction matters because it captures the full pipeline, including any approval gates, compliance checks, or manual steps that might slow the release process.

Deployment frequency within the DORA framework

DORA defines four key metrics that together predict software delivery performance. Deployment frequency measures throughput alongside lead time for changes, while change failure rate and mean time to recovery measure stability. The research consistently shows that elite teams achieve both high throughput and high stability simultaneously, debunking the myth that speed and quality are at odds.

Deployment frequency and lead time for changes are closely related but distinct. Lead time measures the elapsed time from code commit to production deployment for a single change. Deployment frequency measures how often deployments happen overall. A team could have low lead time (each change reaches production quickly) but low deployment frequency (they simply do not make many changes). Conversely, a team could batch many changes into infrequent releases, resulting in high deployment frequency of changes but long lead times for any individual change.

The interaction between these metrics is important. When deployment frequency increases, batch sizes naturally shrink, which tends to reduce lead time, lower change failure rate, and shorten mean time to recovery. This creates a virtuous cycle where improving one metric pulls the others along.

DORA MetricWhat it measuresElite benchmark
Deployment frequencyHow often code reaches productionOn demand, multiple deploys per day
Lead time for changesTime from commit to productionLess than one hour
Change failure ratePercentage of deployments causing failures0% to 15%
Mean time to recoveryTime to restore service after a failureLess than one hour

Decomposing deployment frequency with a metric tree

Deployment frequency is the output of the entire software delivery pipeline. A metric tree breaks it down into the contributing factors that determine how often a team can deploy.

This decomposition reveals that deployment frequency is rarely limited by a single factor. A team might have fast builds and automated deployments but be bottlenecked by slow code reviews. Another team might have fast reviews but be constrained by deployment windows that only open during off-peak hours.

The tree also shows the role of architecture. Monolithic applications require all changes to be deployed together, which naturally limits deployment frequency because any team can block any other. Microservice or modular architectures allow independent deployment, enabling each team to deploy at its own cadence. Feature flags further decouple deployment from release, allowing code to be deployed without being visible to users until the team is ready.

Tracking each branch of the tree reveals the binding constraint. Once identified, targeted investment in that area will increase deployment frequency more effectively than broad, unfocused improvement efforts.

Deployment frequency benchmarks

Performance levelDeployment frequencyCharacteristics
EliteOn demand, multiple times per dayFully automated CI/CD pipeline. Trunk-based development. Feature flags for release management. Minimal manual gates.
HighBetween once per day and once per weekStrong automation with some manual steps. Short-lived branches. Automated testing with good coverage.
MediumBetween once per week and once per monthPartial automation. Longer-lived branches. Some manual testing or approval processes.
LowBetween once per month and once every six monthsSignificant manual processes. Long release branches. Manual testing phases. Change advisory boards.

These benchmarks come from the annual State of DevOps reports and represent aggregate findings across thousands of organisations. Context matters: a team working on safety-critical embedded software will have a different appropriate frequency from a team working on a consumer web application. The key question is not whether a team matches the elite benchmark but whether the team can deploy as frequently as the business needs demand.

Strategies to increase deployment frequency

  1. 1

    Automate the deployment pipeline end to end

    Every manual step in the build, test, and deploy pipeline is a bottleneck that limits deployment frequency. Invest in CI/CD automation that takes code from commit to production without human intervention. Start with the steps that consume the most time or introduce the most delays.

  2. 2

    Adopt trunk-based development

    Long-lived feature branches delay integration and increase merge conflicts, both of which reduce deployment frequency. Trunk-based development, where developers commit to the main branch at least daily, keeps integration continuous and enables deployment at any time.

  3. 3

    Implement feature flags

    Feature flags decouple deployment from release. Code can be deployed to production in a dormant state and activated when ready. This eliminates the need to coordinate deployment timing with feature readiness and allows incomplete features to be deployed safely.

  4. 4

    Reduce test suite execution time

    A test suite that takes 45 minutes to run creates a natural ceiling on deployment frequency. Parallelise tests, eliminate redundant tests, and use test impact analysis to run only the tests affected by each change. Target a CI pipeline that completes in under 10 minutes.

  5. 5

    Decouple services for independent deployment

    When services can be deployed independently, each team controls its own deployment frequency. Invest in clear API contracts, backwards-compatible changes, and independent data stores so that one team deploying does not require coordination with others.

Increasing deployment frequency without maintaining or improving quality is counterproductive. Monitor change failure rate alongside deployment frequency to ensure that faster deployments do not come at the cost of reliability. The DORA research shows that elite teams achieve both.

Deployment frequency and business outcomes

The DORA research links deployment frequency to commercial and organisational outcomes beyond just engineering productivity. Teams with higher deployment frequency report higher organisational performance, including profitability, market share, and customer satisfaction.

The mechanism is straightforward. Frequent deployments mean faster delivery of features and fixes to customers. Faster delivery means faster feedback. Faster feedback means better product decisions. Better decisions compound over time, creating a significant competitive advantage.

Deployment frequency also affects developer experience and retention. Engineers who can see their work in production quickly are more engaged and less frustrated than those who wait weeks for a release train. Reduced batch sizes mean fewer merge conflicts, less integration pain, and less time spent on release management overhead.

For organisations tracking cycle time and throughput, deployment frequency provides the downstream validation that engineering process improvements are translating into actual delivery to production. A team might reduce cycle time internally, but if deployments remain infrequent, the value is not reaching users.

Tracking deployment frequency with KPI Tree

KPI Tree lets you model deployment frequency as a node within a broader engineering performance tree that connects it to the other DORA metrics, pipeline health indicators, and business outcomes. Each contributing factor, from build duration to code review turnaround, becomes a child node with its own trend data.

The tree can be segmented by team, service, and environment to identify which teams deploy frequently and which are constrained. Connecting deployment frequency to lead time for changes, change failure rate, and customer-facing metrics like feature adoption rate provides a complete picture of whether faster delivery is translating into better outcomes.

Ownership assignment ensures that each part of the pipeline has a responsible team. When deployment frequency drops, the tree shows whether the cause is a slow build, a manual approval gate, or a flaky test suite, and who should act on it.

Related metrics

Lead time for changes

DORA metric

Operations Metrics
GitHub

Metric Definition

Lead Time for Changes = Production Deploy Time - Code Commit Time

Lead time for changes measures the elapsed time from when a developer commits code to when that code is successfully running in production. It is one of the four DORA (DevOps Research and Assessment) metrics and captures the full latency of the software delivery pipeline. Shorter lead times mean faster feedback, lower risk per release, and a tighter connection between engineering effort and user value.

View metric

Cycle time

Process speed

Operations Metrics
Jira

Metric Definition

Cycle Time = Process End Time − Process Start Time

Cycle time measures the total elapsed time from the start to the end of a process. It is a fundamental operations metric used in manufacturing, software development, service delivery, and any context where the speed of a process directly affects throughput, cost, and customer satisfaction.

View metric

Throughput

Output volume

Operations Metrics

Metric Definition

Throughput = Total Units Completed / Time Period

Throughput measures the number of units produced, tasks completed, or transactions processed in a given time period. It is the fundamental measure of an operation's productive capacity and the primary output metric for manufacturing, logistics, software development, and service delivery.

View metric

Feature adoption rate

Product Metrics
PostHog

Metric Definition

Feature Adoption Rate = (Users Who Used the Feature / Total Active Users) × 100

Feature adoption rate measures the percentage of users who use a specific feature within a given period. It tells product teams whether new features are resonating with users and which existing features are underutilised, guiding investment decisions and roadmap priorities.

View metric

Track deployment frequency with KPI Tree

Build an engineering performance tree that connects deployment frequency to pipeline health, code review speed, and business outcomes. See which teams deploy frequently and where bottlenecks limit delivery.

Experience That Matters

Built by a team that's been in your shoes

Our team brings deep experience from leading Data, Growth and People teams at some of the fastest growing scaleups in Europe through to IPO and beyond. We've faced the same challenges you're facing now.

Checkout.com
Planet
UK Government
Travelex
BT
Sainsbury's
Goldman Sachs
Dojo
Redpin
Farfetch
Just Eat for Business