Demystifying DevOps: 7 reasons why culture is the key
3D Illustration image via Shutterstock
Culture is the essence. This seems to be consensus in debates about digital transformation and DevOps. But what does this “culture thing” really mean in the context of an organization? That’s the cardinal question to be answered by any company willing to benefit from DevOps ideas.
Here at JAXenter, we want to contribute to shedding more light on this difficult question: What is company culture and how can culture effectively be manipulated in order to enable DevOps transformations?
What is DevOps culture?
To make the notion of culture more palpable, we started, in cooperation with JAX DevOps and DevOps Conference 2016, our DevOps survey, where we dedicated a whole set of questions to the cultural aspect of DevOps.
The survey is still running, but already shows some interesting results, like the fact that even in companies where “DevOps” is officially inaugurated, agility is often comprised to the IT department, the pressure on IT is high and micromanagement remains a problem:
How much do you agree with the following statements?
To complete the picture, we combine this quantitative approach with a series of qualitative interviews about different survey topics. In the first part of the series, we asked seven DevOps experts about their experiences with company cultures and cultural change. Furthermore, the experts offer tips on how Devs and Ops work best together.
7 answers: Why is culture so important in DevOps?
The DevOps Heroes
Helen Beal: Being successful in DevOps requires that most organizations change the way they work and in many respects the way they think. Humans have deeply embedded habits and behaviors that must be addressed in order to understand how to share knowledge successfully and collaborate in a transparent and effective manner. You can automate as much as you like but if your people aren’t ready to interact with each other and the processes aren’t flexible enough to allow them to do so, the efforts will fail. We regularly come across organizations that have built a bit of a CD pipeline but can’t get anyone to use it — it requires effort to push change through an organization and make it stick.
DevOps requires that most organizations change the way they think.
Uwe Friedrichsen: Culture is important because DevOps first happens in one’s mind. A traditional IT organization acts according to tayloristical principles, which means that it tries to produce as many goods as cost-effective as possible. That’s a great approach, if you know exactly what you want to produce. But nowadays this doesn’t apply anymore. IT has to support a highly dynamical business, it has to continuously absorb new technological innovations. And due to digitalization, its role changes from being a service provider to a product provider, who acts shoulder to shoulder with the business.
In such an environment, the degree of uncertainty is huge. This has nothing to do with the capacity (or incapacity) of people directly involved and isn’t solved by more and more preliminary analyzing —the culprit is the complexity of the environment. In system theory, this was understood many years ago. The conclusion is that you can’t handle complex environments with ample planning, instead you have to approach the right solution in many small steps (“inspect & adapt”).
However, for an IT department to be able to make these small steps and learn something with every step, you first need to put it in a position to do so. This is what DevOps is all about essentially: How do I optimize my cycle times? How do I reduce the throughput time in my IT value chain, i.e. how fast can I bring an idea to a customer and get feedback about if my idea was well received?
To think in DevOps style is a revolution in your head.
There’s a fundamental difference between this approach and the style of traditional IT, which focuses on the cost-effective scaling of software. With such a focus you always wind up with big projects that take ages to complete. And even the much-praised Agile Development is, more often than not, confined to the part of software development only. The rest of the IT value chain isn’t touched, so the time span from idea to the customer doesn’t decrease significantly.
To think in DevOps style is therefore a revolution in your head (and an evolution in terms of implementation) because the primary goal of the action changes. Culture is nothing more than the collective memory of the company regarding former successes and errors. In culture, the past always affects the present. “We have always done it this way” is the essence of culture in one sentence.
To implement a mentally revolutionary approach like DevOps in your company you have to dedicate a lot of energy to anchor it in the culture. Thus you have to continuously succeed in making positive experiences with DevOps tangible here and now, so it can diffuse little by little into the culture. For, if something goes wrong (and something will go wrong!), an organization always falls back to early learned recipes to restore the order – regardless if it makes sense or not.
That’s why culture is important in DevOps.
Greg Bledsoe: The technological solutions must be emergent from the cultural shift away from micromanagement and accretion of one-off pet-project solutions and towards negotiation and compromise producing standards and direction. That’s why the order must necessarily be 1. people 2. process 3. tools.
Low-performing organizational cultures cannot ever achieve a DevOps way of working.
Jeff Sussna: DevOps has emerged in response to the need for businesses to become more responsive and adaptive to continuously changing and uncertain markets. Increasing delivery speed is necessary but not sufficient. The ability to learn and innovate depends on the ability to listen, share, and collaborate. These are human capabilities that take place in the relationships between roles and groups, not system ones.
Furthermore, beyond a certain point, in order to go faster, one must move quality left. The only way to do this is through greater communication earlier in the lifecycle. The fastest and most efficient way to make code secure, for example, is to involve InfoSec in the design stage, not just the final testing stage.
Markus Andrezak: The cultural aspect is important because DevOps is all about interactions between people and culture defines how we interact. Sadly, culture cannot be directly changed and takes quite some time to be changed in oblique ways like ‘acting it out’.
Emily Lannon: Culture, in general, is incredibly important. As the expression says, people don’t leave companies, they leave managers. When you have a good and strong culture, when people get frustrated (as they inevitably will) with their manager and their day-to-day work, people are the part that is most important, that they enjoy most and will keep people the longest. Develop your culture as a way to boost retention.
Matthew Skelton: The cultural aspect is crucial to DevOps because a major part of what we mean by DevOps is about different teams working together towards a common goal. This means that low-performing organizational cultures cannot ever achieve a DevOps way of working; only high-performing, collaborative, goal-oriented cultures that promote devolved decision-making and team-wide learning will succeed.
Please complete the following sentences:
Devs and Ops work best together if …
…they both understand that functionality and operability are inseparable parts of the value customers pay for. Jeff Sussna
…they can both work in an Agile manner on the same team. Helen Beal
… there is a pressing, overarching concern that forces the aspects to work together, as otherwise the task can not be fulfilled. Markus Andrezak
…there is full transparency on what everyone is working on and aligned on priorities. Emily Lannon
…you give them both the same goals. Uwe Friedrichsen
…their goals (missions) are aligned and they work together on operational criteria. In practice, this means having a single, shared goal, such as “We always notice problems in Production before our customers do” or similar. Dev and Ops should also be working together – as peers – on the operability of the system (see http://runbookcollab.info/). Matthew Skelton
The biggest obstacle for DevOps is …
…thinking that speed of application deployment is the primary goal. Jeff Sussna
…management not allowing for cultural change. Helen Beal
…that people don’t understand how hard the change is and get impatient as they want to quickly harvest the benefits. Aka: Missing Management education is an incredibly big obstacle. Markus Andrezak
…everyone pushing forward fast with their own priorities in mind. Emily Lannon
…to understand the essence of complexity and to accept it. Because otherwise we wouldn’t have to talk about DevOps at all, since everybody would already embrace it. Uwe Friedrichsen
…the assumption that we can just buy some tools and get DevOps straight away. Many companies have not invested in Build & Release engineering as a core capability, and this really holds them back. Matthew Skelton
Don’t miss the second part of the series: What elements constitute a DevOps culture?
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!