Demystifying DevOps: What are the values that constitute DevOps culture?
John Willis, Director of Ecosystem Development at Docker, Inc and DevOpsCon speaker, wrote in a blog post that “if you don’t have culture, all automation attempts will be fruitless”. But how relevant is the cultural aspect in a DevOps context? We invited seven DevOps experts to shed some light on the importance of the DevOps culture and weigh in on its elements.
To make the notion of culture more palpable, we started, in cooperation with JAX DevOps and DevOps Conference, our DevOps survey, where we dedicated a whole set of questions to the cultural aspect of DevOps. The survey is still running.
To complete the picture, we asked seven DevOps experts about their experiences with company cultures and cultural change.
The DevOps experts
In the first part of our series dedicated to the DevOps culture, we invited the experts to weigh in on the importance of culture in a DevOps context. Now it’s time to go into details and clarify what values should be part of the culture of a company on its way to DevOps.
7 answers: What are the elements that constitute DevOps culture?
Helen Beal: DevOps cultures are blame-free, high-trust, frictionless, highly experimental and innovative. They foster individual autonomy, mastery, and purpose.
Uwe Friedrichsen: This can be easily explained with the help of “Three ways of DevOps”:
1.The pursuit of shortening the cycle time. Here it is important to always keep an eye on the whole IT value chain (“from idea to the customer”) and not only on parts of it. Otherwise, you are running the risk of making local optimizations that may look pretty at one place but actually slow down the entire value chain.
Empathy is the essence of DevOps.
2.The promotion of feedback cycles: Oftentimes errors don’t take effect where they happened, but further back in the value chain. A falsely understood requirement leads to unusable code, badly implemented code leads to unstable systems in production, etc. These problems will lead to longer cycle times. Therefore, it’s in your best interest to avoid them.
For this, you need feedback cycles: the person causing the problem must understand the consequences of their actions. They have to understand why this is a problem because it enables them to make sure the problem will not happen again. As a company, you have to support an open and transparent communication through the whole IT value chain (or to enable such a communication in the first place) and to establish a culture of learning.
That means resisting the reflex to search for someone to blame. In addition, you have to make sure that all the people involved experience the same successes and failures. If the development team is rewarded for new features and the operations team for availability, nothing is really achieved.
3.A culture of continuous improvement: In short, entropy doesn’t sleep. Therefore, being at a standstill equals regression. As an organization, you always have to actively work on improving the processes in order to make sure they don’t get poorer. However, this should not be done by chance when there is time for it (which will never happen) but as a planned procedure. It is important to explicitly dedicate time to it and do it with controlled principles. The PDCA (Plan-Do-Check-Act) and the principles of scientific experiments represent a good starting point.
Greg Bledsoe: As simply as possibly, the elements of DevOps culture are the following: collaborative, negotiated, standardized problem solving working across discipline boundaries.
There needs to be a ‘blame-free’ approach to incident diagnosis.
Jeff Sussna: Empathy is the essence of DevOps. Empathy doesn’t mean feeling sad because someone else feels sad. It simply means being able to see things as if from another’s perspective. In the case of DevOps, developers need to look at their own work from the perspective of someone trying to operate it.
Sysadmins need to look at their own processes from the perspective of someone trying to deliver features to the market as quickly and continuously as possible. The best way to create an empathetic culture is for various groups to talk and listen to one another. If you see each others’ struggles, especially in response to your own actions, you can understand the larger picture within which you all are working.
Seeing that picture makes global as opposed to just local optimization possible. At its heart, DevOps values solving for the value delivery system over solving for individual teams, components, or processes.
Markus Andrezak: Overcoming of silos and of desperation of concerns. Vertical integration of teams towards delivering client value and thus removing the decoupling of teams from the market.
An effective DevOps culture needs daily collaboration between teams.
Emily Lannon: The elements that constitute theDevOps culture are the following: shared agreed upon values, leadership engagement, commmunity.
Matthew Skelton: An effective DevOps culture needs daily collaboration between teams, organizational learning, team empowerment, and devolved decision-making. There also needs to be a ‘blame-free’ approach to incident diagnosis, along with department-wide goals. Also, we have almost never seen financial bonus incentives work well; bonuses almost always drive a very bad culture.
Please complete the following sentences:
What promotes employee satisfaction is …
…feeling empowered to contribute to solving problems and improving situations for oneself, one’s team, and one’s company. Jeff Sussna
…nurturing autonomy, mastery and purpose. Helen Beal
…the feeling of accomplishing something great and awesome. Which is why we need to motivate people by telling narratives of real customer value. Markus Andrezak
…knowing their work matters and that they are recognized for it. Emily Lannon
…the intrinsic motivational factor “autonomy” (to be able to shape work by oneself), “purpose” (to understand the meaning of your work) and “mastery” (to master your work really well) —but this should happen regardless of a DevOps context. Uwe Friedrichsen
… a lack of bureaucracy. Matthew Skelton
The biggest advantage of autonomously-working teams is …
…the ability to create and deliver value with maximum quality and minimum friction. Jeff Sussna
…they can work at high velocity and act as tension sensors to customer needs and amplify the feedback loop with the business. Helen Beal
…the speed of feedback from the market and the sheer multitude of options opening up as autonomous teams are way smarter than any single human being. Markus Andrezak
…autonomy from manager and leadership is important but cross collaboration within an org across vertical is vital. Emily Lannon
…that they can solve upcoming problems by themselves. It is essential to shorten cycle times. Uwe Friedrichsen
…the ability to make context-relevant decisions that can be acted upon immediately, bringing benefit to customers as soon as possible. Matthew Skelton
Don’t miss the third part of the series: What can a company do to manage a DevOps culture shift?
How about DevOps in your company? In our “Rethink IT” survey we ask you to evaluate your situation regarding the five main pillars of DevOps: Continuous Delivery, Microservices, Containers, Cloud and an Agile company culture.
Thank you very much for your participation!