State of DevOps
October 19, 2019 / Bryan ReynoldsThe way software is developed has changed significantly. The rise of DevOps as a guiding paradigm for software development has meant more applications are generated faster and better. In 2020, DevOps is poised to become far more the norm than the exception, driven by better investments in teams, cloud computing and organizational structures.
According to a recently released report, the opportunity for change has never been more significant. The Accelerate State of DevOps Report 2019, developed by DevOps Research and Development and Google Cloud, is based on 6 years of research and data from more than 31,000 professionals. The report affirms the impact of best practices on the industry’s four key metrics — lead time for changes, deployment frequency, time to restore service and change failure rate — and bundled organizations into four performance categories — low, medium, high and elite.
The report identified 6 trends driving change among the top performers. Here is a closer look at six of the key factors driving the state of DevOps.
1. Excellence Is Becoming the Norm
As a practice, DevOps has improved greatly. The 2019 report showed the number of elite nearly tripled to 20 percent from 7 percent in 2018.
2. Tech Transformation Depends on Quick, Reliable, and Safe Software Delivery
Software delivery and operational performance are at the heart of delivering superior outcomes. Organizations should consider measures that focus on system-level outcomes, not on metrics that put different functions in competition with each other.
software speed, stability, and availability contribute to organizational performance (including profitability, productivity, and customer satisfaction). Our highest performers are twice as likely to meet or exceed their organizational performance goals.
3. Community Structures Drive Scalability
High-performing organizations create community structures that make them more resilient and sustainable, driving scalability. The most popular structural strategies that drive better performance among high-performing and elite organizations are:
Communities of practice
Proofs of concept (as a template or as a seed)
Bottom-up or grassroots organizing
Mashups
Centers of excellence
Top performers use one of four common models to help scale:
Community builders, which focus on communities of practice, grassroots of proofs of concept approaches
University, placing an emphasis on education and training
Emergent, a hands-off approach with a concentration on grassroots efforts and communities of practice
Experimenters, with a focus on activities focused on community and creativity
4. Cloud Makes a Major Difference
According to the survey, 80 percent of respondents support a primary application or service that is hosted on a cloud platform. However, it was not merely being on the cloud that drives performance. Instead, it’s how teams use their cloud service that makes the greatest impact on performance.
For the basis of the survey, the researchers used the essential characteristics of cloud computing, as defined by the National Institute of Standards and Technology (NIST). Elite performers were 24 times more likely to have attained all the essential characteristics than low performers.
The data reinforce a key point: While many extol jumping into the cloud as a game-changer, there are specific, core attributes that fully optimize the opportunity the cloud provides. The essential characteristics and the percentage of respondents agreed or strongly agreed that their organization was using it are:
On-demand self-service. The ability for consumers to access computing resources without human intervention. 57 percent.
Broad network access. Capabilities can be accessed through multiple platforms, including workstations, laptops, smartphones, and tablets. 60 percent.
Resource pooling. A multi-tenant model is used for provider resources, where physical and virtual resources are assigned on demand. 58 percent.
Rapid elasticity. Capabilities can be released quickly to respond to need to scale outward or inward, with the ability to be appropriated on-demand in any quantity. 58 percent.
Measured service. Cloud solutions use automation to control, optimize, and report on use of resources such as bandwidth, storage, processing, and active user accounts. 62 percent.
“These characteristics matter when defining what it means to adopt cloud computing because they enable an actionable strategy for success,” the report notes.
5. Smart Organizations Invest in Productivity
Successful DevOps organizations routinely invest in the tools that provide developers with what’s needed for rapidly deployed, effective software. Such investments help to build a positive corporate culture and create a place of psychological safety. Psychological safety allows team members to take risks and be vulnerable, leading to team members taking more meaning from their work and having more impact.
Top-performing DevOps organizations know productivity should not be measured in terms of lines of code written or bugs squashed. Instead, they should look at productivity as the ability to complete complex tasks with minimal distractions or disruptions.
The report observed the following about productivity tools across performance profile (low, medium, high and elite):
Proprietary software is most prevalent among low-performing teams, with higher-performing teams moving away from the model
Commercial off-the-shelf software with few customizations is used at the same rate across performance groups
Open-source tools, with little customization, are used by large percentages of high-performing teams (24 percent ) and elite teams (15 percent)
The most successful teams use the following automation and integration tools:
Automated build, unit tests, acceptance tests, performance tests, security tests
Automated provisioning and deployment to testing environments
Automated deployment to production
6. The Right Change Approval Process Matters
Change management is a messy and often overly bureaucratic process. There are often good reasons for such processes. Two of the most common are the need to coordinate development between teams and regulatory requirements that are prevalent in industries such as health care, government and financial services.
While some of those change management processes are unavoidable, organizations still have a choice. Formal change approval processes have been the industry standard for decades and often result in stable products, albeit often at a pace that does not meet today’s customers’ expectations.
Another argument is to use lean and agile practices to create more lightweight, streamlined change approval processes. These approaches lead to better information distribution, faster feedback, and better outcomes.
“Organizations often respond to problems with software releases by introducing additional process and more heavyweight approvals. Analysis suggests this approach will make things worse,” the report notes.
Instead, organizations should adopt lightweight change approval processes that include steps such as:
Remove external approval processes such as boards acting as gatekeepers
Require changes to be approved by another DevOps engineer as part of code review
Create automated thresholds that restrict changes
More nimble approval processes, the report notes, lead to exponential improvements in performance, including availability, throughput and stability.
At Baytech Consulting, we help companies develop business applications that improve processes and handle large volumes of data and traffic. Learn more about our DevOps consulting and other expert services by contacting us today. If you want to read more about one of the major tools in DevOps today, checkout our article on Kubernetes and why its so popular.