Deployment frequency is one of the four key measure engineering velocity. These two metrics assess the level and quality of DevOps automation in your org: as more CI/CD tasks are automated, deployment frequency goes up, and lead time goes down. This is because human intervention/review tends to be the biggest blocker during the deployment process.
Inner loop development work will also have an impact on deployment frequency: if features trend towards longer cycle times, you're pushing fewer features. However, by improving your DevOps automation, your cycle time will also go down. Getting more feedback or running tests during feature development cuts down on unnecessary wait time, so updates/fixes can happen sooner.
How to measure deployment frequency
Deployment frequency is the easiest DORA metric to measure: simply average the number of pushes to production over the most appropriate time interval.
Your resulting metric will be along the lines of:
- twice per week
- three times per day
- once per month
And that’s it — measuring deployment frequency, at least formulaically, ends up being as simple as it sounds. The lift here is actually aggregating all the relevant data.
The best way to start measuring deployment frequency is by recording your deployment data over a span of several months. Many teams benefit from tracking deployment frequency changes over time — how does it improve/plateau/regress on a monthly or quarterly basis? Did onboarding five new team members hinder your frequency? Is your DevOps automation not able to keep up with a higher volume of throughput?
While you can do these calculations by hand, automating this is straightforward with most source code management (SCM) providers.
With GitHub
If you’re using GitHub’s Deployment feature for production releases, you can use . A simple call returns all deployments for a given project, along with their timestamps. Results can be filtered to include only successful deployments.
GET /projects/:id/deployments
For Ultimate subscribers, GitLab offers a explains:
“Improving should be more important to a team than reaching a particular performance level. The best teams are those that achieve elite improvement, not necessarily elite performance.”
Trying to improve deployment frequency?
Staging bottlenecks are one of the biggest inconveniences to smooth deployments. When there are only a few staging environments, it becomes harder to test and review features in a timely manner. That’s where ephemeral environments come in — they boost your deployment frequency since they give you the infrastructure you need to E2E test every single feature on the spot. That’s why teams that use
SOCIAL SHARE CARD GENERATOR