DevOps is an approach that entered the modern enterprise lexicon in recent years, but for Nicole Forsgren it's more than just an empty buzzword.
Forsgren is a researcher and strategist at Google Cloud and a co-author of the 2019 Accelerate: State of DevOps Report, which was released on Aug. 22. In a keynote session at the Open Source Summit in San Diego last week, Forsgren outlined the highlights of the massive report, which benefits from the insights of 31,000 global IT professionals.
"When I'm talking about DevOps, I'm talking about software development, software delivery, and I'm also talking about availability," Forsgren said.
The 2019 Accelerate: State of DevOps Report is full of metrics that help to better understand what is happening in the world of DevOps. Forsgren noted that there are several key metrics, including lead time from making a code commit to having code running in production. Another key metric is deployment frequency, with the report tracking how often developers are pushing code. The report also tracked time to restore a service.
For the most elite organizations, the study found that the lead time for code changes was less than a day, with an overall deployment frequency that could include multiple deployments per day and the time to restore a service taking less than one hour.
One surprise that came out of the 2019 study, according to Forsgren, was that there were more elite organizations in 2019 than there were in 2018.
"Check out those elite performers last year; 7% of our survey sample were elite performers, optimizing on speed and stability," she said. "This year, check it out—the elite level almost tripled and hit 20%."
The low performers, which had a deployment frequency of between once per month and once every six months, declined, dropping from 15% to 12%.
"That means that more people are getting better," Forsgren said.
Faster Code Is Better Code
As it turns out, releasing code faster leads to more stable code, the study found. Forsgren said that if organizations release code slowly, the volume of code piles up and increases not only the complexity but also what she calls the "blast radius" for potential defects. In addition, the longer, larger code releases make it much harder for organizations to have a lower time to restore.
"When we introduce delays, we intend to create a more stable system, but we've never seen that," Forsgren said of slower development cycles. "It actually creates instability."
There are several paths to improving DevOps, according to the State of DevOps Report. During her keynote address, Forsgren talked about technical debt—code that isn't properly maintained, is disorganized and isn't well-documented—being a barrier to productivity.
"Productivity is the ability to get complex, time-consuming tasks completed with minimal distraction and interruptions," she explained. "Technical debt reduces productivity."
Having a loosely coupled architecture with constant monitoring helps to reduce technical debt, Forsgren added.
Culture is also a way to improve DevOps productivity—by providing trust to developers about what the organization is working on and its larger goals.
"Trust and psychological safety have a positive impact on software ability, performance, organizational performance and productivity," she said.