DevOps implanted itself into the tech lexicon in 2011. That’s ancient history in the tech industry. But if there’s one thing software engineers know—per the 2001 Agile manifesto—it’s that success comes from iteration and refinement. Most accurately, it comes from continuous improvement.
Agile sprints were a major breakthrough in software engineering, but they didn’t solve a major pain point in software projects: determining value. How do you know if you’re getting the performance you’re paying for, especially when outsourcing software development?
Business owners and engineering managers alike haven’t been satisfied by measures like number of story points or number of dev hours. Those numbers are subjective and, frankly, easily manipulated. They tell you if devs have been putting in time…but not if they’re achieving your goals or adding value to the business.
Ultimately, the industry found that continuous improvement is great, but only if it happens at the (always accelerating) pace of the market. So DevOps proponents iterated on and refined Agile principles, with a key addition to the software development lifecycle: speed. More deployments meant faster visible changes, greater agility, and quicker fixes. The principle of continuous delivery was off and running.
And it worked. The 2017 State of DevOps report found that high-performing DevOps teams had:
· 46x more frequent code deployments than low-performing dev teams
· 440x faster lead time from commit to deploy
· 96x faster mean time to restore (MTTR)from downtime
· 5x lower change failure rate
Continuous delivery and continuous improvement are, as a pair, the best construct for high performance software development—but only if they’re measured objectively and with high standards. Years of research proved that the best software development teams constantly strive for the following metrics:
These four metrics—deployment frequency, lead time, meantime to restore, and change failure rate—are effective because they measure both tempo and quality of software builds. High performance software development requires fast tempo and high quality.
As you can see in the performance metrics table, the best software engineering teams have a high deployment frequency (delivering updates as often as multiple times a day) and low lead time, which engenders a rapid pace and truly continuous delivery. These high performance teams also have a low change failure rate, demonstrating a quality build, and when something does break, a <1hr MTTR means they can recover in a hurry. Talk about continuous improvement!
Fast builds, few bugs, and quick fixes—proven. That’s certainly better than knowing how many story points a dev hit in a given day. But that’s only the first level of the advantages of DevOps measures.
Continuous delivery + continuous improvement (CD/CI) shouldn’t just be the benchmarks of individual software developers. The four performance metrics allow you a clear view of the efficacy within your entire engineering team in rapid intervals. It’s much easier to spot deficiencies and inefficiencies before something goes terribly wrong when your metrics update multiple times a day. That allows you to build a high performance software development team as agilely as they build your products, course-correcting and improving along the way.
In fact, CD/CI is a powerful standard for every part of a business. Companies with high-performing DevOps teams are twice as likely to meet their annual financial and non-financial goals. How do performance metrics enable that?
1. Knowledge is power. Organizations that make a practice of intentional transparency, like the performance metrics require, are organizations that break down silos. When metrics are shared across the business, every part is empowered with all the information to improve or pivot as needed.
2. Unmet metrics are often a symptom of a deeper issue in the org. If your dev team isn’t deploying frequently, it might be simple to declare it a performance issue. But the deficiency could represent other foibles, like an approval bottleneck or a lack of access to necessary resources. When you solve for those second-level issues, metrics naturally rebound.
3. Standard metrics provide a holistic look on how your org creates business value. Tempo + quality matter in all business operations. If standards aren’t being met in one area, there’s an opportunity to break down the problem into manageable parts, and work toward a solution that’s not locked into a single individual or team.
When it comes to tempo + quality, you can’t compromise. If you do, you’ll end up paying for software that simply won’t return your investment. To ensure your software development teams are performing at a high level, measure them against the four fundamental performance metrics:
· Deployment frequency
· Lead time for changes
· Change failure rate
Not to sound click-baity, but what you find may surprise you. The 2021 State of DevOps report found that only 18% of organizations perform at a high level, while 78% are still in a middling tier. If your team isn’t quite reaching high performance, it may be time to outsource a project or augment your team. (Here’s how to decide if outsourcing software development is right for your business.)
In an ever-evolving world of technology, good enough just isn’t good enough. Aim for high performance. You now have the tools to prove that it works.