“A measure of DevOps is also *how* you achieve your ability to deliver code”
How important is culture in a DevOps context? Can we measure the degree of a company’s „DevOpsness“? We invited Nicole Forsgren, founder and CEO at DevOps Research and Assessment (DORA) and speaker at Software Architecture Summit to talk about the facets of DevOps and weigh in on the challenges that companies face when they want to adopt DevOps.
JAXenter: DevOps has the potential to transform not only the IT department but also the whole company. Why is it that DevOps means more than just bringing Devs and Ops together?
Nicole Forsgren: DevOps is all about bringing value to the business — it’s no longer just treating technology as a cost center. By aligning Dev and Ops — and really, we’re aligning Devs, QA, Test, Ops, Info Sec, Product, and everyone who helps us bring value through technology — we truly enable organizations to leverage their technology to delight their customers, beat their competitors to market, and pivot when they need to pivot. My research has found that teams that excel in their DevOps technology practices deliver real value to their organizations, with high IT performers being twice as likely to exceed their profitability, productivity and market share goals.
JAXenter: On the one hand, DevOps includes technologies like containers, continuous delivery tools, clouds, microservices, etc. On the other hand, DevOps represents a certain culture. Why are the cultural aspects in DevOps so important?
Nicole Forsgren: My research has found that a strong culture drives technology performance and organizational performance. The culture is so important to the DevOps movement, methodologies, and processes because, in order for DevOps to be successful and truly bring about change in an organization, it has to bring together teams and people. These teams have to include groups that are different and typically don’t work together, and traditionally have had goals that are at odds with one another.
Technology isn’t hard, people are.
A great example here is Devs and Ops: developers want to write and ship code. This code introduces change into the system. Ops want to maintain a stable environment and to do that, they want to limit the amount of change they accept into the system. Change vs. no change. DevOps suddenly asks these two groups to increase the rate of code deployments while also increasing the stability of the system: the only sustainable and successful way to do this is by improving the culture and communication. Helping the devs understand the importance of scalability and reliability in their code. Helping the operations team understand the importance of frequent, small changes and prepare for the new work. Technology isn’t hard, people are. (Technology is challenging and interesting and complex, but we have shown time and again that we are very good at figuring it out!) If we can get the culture to work, the technology will fall into place. The reverse is also true. If the culture starts falling apart, technology starts breaking.
JAXenter: What are the elements that constitute a DevOps culture?
Nicole Forsgren: Together with my colleagues Gene Kim and Jez Humble, I have studied this extensively in the past three years of the State of DevOps Reports, and we have found that a successful, impactful DevOps culture is one that prioritizes trust and values information flow. It allows team members to take calculated, strategic risks and learns from failures. It cares more about learning and growth than it does about justice and punishment when things go wrong. It strives for learning and novel solutions. These results are also echoed in the findings of the researchers at Google, who found that the highest performing teams value and foster a climate of psychological safety, where team members feel safe to take risks and do what is right, and where they feel they can depend on their teammates.
JAXenter: Can we somehow measure the degree of a company’s „DevOpsness“?
Nicole Forsgren: This has been a topic of my research for the last several years, and in some regards, I think we’re getting close. It is the mission of the company I founded with Jez Humble and Gene Kim to use science to make technology organizations better with science, and we offer a way to measure it (DORA, DevOps Research and Assessment).
Here’s how we break it down, and why: We know that a team and organization’s ability to deliver software with both speed and stability is a key predictor of organizational performance: profitability, productivity, and market share. As I mentioned previously, this is what allows us to delight our customers, beat our competitors to market, pivot when needed, and respond to regulatory and security requirements whenever needed. So if you only use one measure, this might be the one I would choose. Other context-specific quality measures can also be captured and will be important. We also caution that this is not sustainable if you are not taking care of your workforce, so watching for burnout is important.
A measure of DevOps is also *how* you achieve your ability to deliver code, and how can you improve it. Our research has shown that capabilities in four key areas are essential to this. These include technical (e.g., version control, continuous integration, trunk-based development, and test automation, lean mangement practices (e.g., process control and working in small batches), measurement (e.g., monitoring and WIP limits), and culture (e.g., organizational culture that values trust and information flow).
JAXenter: What obstacles have you encountered most in organizations willing to establish a DevOps culture?
Nicole Forsgren: The biggest challenge is always the people. People are difficult: we have different personalities, different motivations, different backgrounds. The places we work have bureaucracy and we can be afraid of what will happen if we take a risk. It’s understandably difficult to undergo a significant change, so it’s really up to leadership at all levels to help signal the change and provide “air cover” for the people who will get everything done.
Thank you very much!