By: Jim Azar, Sr. Vice President, CTO
A sports car is measured by the rate at which it goes from 0 to 60 mph. And every small spike in speed can make one car race way ahead of another. However, we would never use this same yardstick to measure the performance of the average family sedan. The metric used is either mileage, or the number of miles traveled.
Similarly, in a DevOps environment, an enterprise is looking for the results of ‘0 to 300.’ It cannot use simple application development metrics. Instead, to measure success it must look to ‘deployment frequency.’
We see this metric making a splash in the critical assessments of DevOps success. In the recent Accelerate State of DevOps report, we see that elite performers deploy 973x more frequently than low performers, have a 6570x faster lead time to deploy, a 3x lower change failure rate, and an impressive 6570x faster time-to-recover from incidents when failure does happen.
In short, compared to low performers, elite performers are continually able to empirically demonstrate organizational success with DevOps.
Deployment Frequency Shows the Impact of DevOps
It’s simple and sharp. Deployment frequency is an excellent way to evaluate the agility and effectiveness of any DevOps function. It is also an excellent metric by which to measure if an organization is meeting its core goals, like agility, speed, quality, and production-readiness – outcomes that one ultimately aspires to achieve in DevOps.
Because the faster one can deploy, the quicker an enterprise can deliver value to end-users. High performers achieve multiple deployments per day while lower-performing IT and DevOps teams cannot match their speed. The high frequency approach to deployments allows engineering teams to get products and minor enhancements into customers’ hands faster than the competition, as well as quickly respond to security threats and newly discovered vulnerabilities.
Ace This Metric
Here’s how an organization can help accelerate deployment frequency when an enterprise steps on the latest DevOps pedal:
1. Coding should be well integrated into an agile design framework and supported with continuous development, deployment, and integration practices.
2. Applications should be designed with an orientation toward a higher level of production-readiness. This is where automating infrastructure and making ‘ops’ nimble and well-integrated with ‘dev’ comes in to play. The basic formula of DevOps plays out and delivers well here.
3. Testing and monitoring should also be accentuated with automation and continuous monitoring to help mitigate incidents and minimize bugs while cutting down on incident response time.
4. Iterative and well-integrated models of delivery and deployment ensure that timely user feedback is part of the application journey. This aids deployment frequency and saves re-runs or patch-up work.
5. Close coordination and frictionless hand-over between dev and ops lead to faster deployment.
6. The broad mindset and culture of the enterprise should value and optimize time-to-market with a deep focus on user-centricity.
7. Unnecessary code, redundant work, deep-end bugs, and delayed testing must be eliminated to speed up deployment frequency.
If you choose to focus on deployment frequency as a key DevOps metric, make sure that you measure it consistently and thoroughly. This should not be a trophy exercise, but an opportunity to understand how well your DevOps is working. Also, do not overlook other areas like application quality, exposure, transparency, accountability, and continuous improvement while measuring deployment frequency. One must also track other factors, like the percentage of successful deployments, lead time for changes, Mean Time to acknowledge, and repair in order to gain a complete picture of DevOps success.
All this will help you to measure and attain the essence of DevOps without getting caught up in superficial tick-boxes. The results will show in the accelerated time-to-market of your applications and in user satisfaction. So, enjoy the roar of 0 to 60.