Raytheon Company is collaborating with Red Hat to develop a new, security-focused software development solution, known as DevSecOps, for enterprise environments.
I was fascinated to read this year's Accelerate State of DevOps Report 2019 which now represents six years of research and data from over 31,000 professionals in our industry. It delivers insight into the practices and capabilities that drive high performance. By following the advice in the report, teams can be empowered to become elite performers, helping their companies to stay ahead of their peers.
On reading this year's report, it was easy to make a clear conclusion: the usability of tools affects productivity. This is perhaps not surprising in itself, but the report finds that tool usability, above all else, is a key indicator of performance.
Not Just Learning from Mistakes - but Learning from What Works Best
The proportion of those developers deemed to be elite performers has almost tripled to 20% in the past 12 months. This indicates that the industry is moving in the right direction and is not just learning from its mistakes but learning from what works best. The creation of elite performers is becoming a repeatable formula that any organization can adopt and embrace. And for good reason. Compared to low performers, elite performers have more frequent code deployments, faster lead time from commit to deploy and they are faster to recover from incidents.
Releasing Multiple Times Per Day
But what does it take to be at the top? The characteristics of elite performers are almost always the same. They release updates multiple times per day, this includes numerous small and what can be perceived as "boring" releases. They are highly agile too; the lead time for changes (from committing code to production) is generally less than a day. The outcome of this is that value is delivered faster to the business. Essential for any modern business with a desire to be agile.
It is worth remembering that these findings are not simply limited to 21st century high tech companies. Instead, organizations of all types and sizes, including highly regulated industries such as financial services and government, can achieve high levels of performance too.
If we explore the technical practices that enable teams today to be successful, they generally revolve around Continuous Integration and Continuous Delivery CI/CD. In a nutshell, this means that code commits should result in a build, with several automated tests being run before it flows into production. Developers rely on these tests being passed. Yet, if there is a failure in a test, there needs to be a fast feedback loop. However, once traditional security testing approaches are layered into this picture, the process is often quick to break down.
Do Long Scanning Times Stifle Your Ability to Execute?
Modern businesses are working at a scale that we have simply not seen before. If you consider a development team releasing multiple times per day, they cannot tolerate the long scanning times associated with traditional static and dynamic security testing tools. Quite simply, it stifles their ability to execute.
Some teams attempt to mitigate the problem by introducing incremental code scans or targeted dynamic scans, but these approaches require security experts to configure the tools and triage the results. This can cause costs to quickly spiral.
Using Tools That Require Minimal or No Customization
Traditional security tools can be overwhelming to developers and rarely work straight off the shelf. Finding the right ones are imperative, especially when building complex systems and managing business-critical infrastructure; here, the work will be inherently more difficult.
The elite teams highlighted in the report were found more-often-than-not to be using tools that required minimal or no customization. This meant that they could concentrate their efforts on more important activities such as new development, refactoring, design work and documentation.
A Path to Happier Developers
Because technical practices that support software development and deployment are important to speed and stability, the usability of tools has a direct positive effect on productivity. It is time for legacy tools to be pushed to the side. A modern approach to application security that doesn't require customization and is designed with a developer's 2019 needs in mind is required.