I’ve heard a number of lazy criticisms of DevOps recently particularly where individuals talk about culture and that gets my goat.
“DevOps is just automation”
“Cultural change isn’t relevant in a bank – its a term used by the Facebook’s of this world”
I think part of this is the continuing confusion over what the term means, along with DevOps being used as an umbrella term for a dozen different other things (Continuous Delivery being the most prevalent).
I’ve talked at length about what DevOps is to me in my blog so I’m not going to cover that again. However, I am going to talk about this wholly word “culture”.
Let me start with a great definition of what culture is (it’s not my quote but I wish it was) – apologies I forget the source.
“Culture is what you do when there is no one around to tell you what to do”
I think that’s brilliantly simple and bang on the money.
DevOps is concerned with bringing two disparate groups together (unsurprisingly Developers and Operations) and encouraging empathy and collaboration between them.
Nothing in that talks about automation.
The companies with the right culture between Dev and Ops might land as automation as a solution to curing some of the challenges of unshared incentives and goals. However, it doesn’t predicate it.
A strong DevOps culture might turn to Continuous Delivery as a process solution to meeting their demands for an increased pace of change. But again it doesn’t predicate it.
Its really important that people understand the differences and goals between DevOps, Agile, Continuous Delivery etc.
They all very closely relate and link but they are different things (take a look here for a glossary).
Back to those criticisms…
“It’s fluffy” – Culture is closely linked to human behavioural patterns and humans are very different. So its a fairly loose term but does it make less important? Not for me. How your employees and colleagues behave and interact is THE most important thing in a company. There are a squillion clichés out there about how your employees are the most valuable asset but its absolutely true. Great people and accomplish great things. Great technology is nothing without great people.
“It’s in-actionable” – again this is a very lazy criticism. Culture is actionable its just hard to change. Changing the way you recruit, sitting people together in cross-functional teams, not micro-managing, encouraging lunch & learn presentations etc are all actionable ways of affecting culture. Culture is hard to change though as we are dealing with people. People have different reactions to change and are sometimes difficult to second guess. It takes time and effort but that doesn’t make it in-actionable.
“DevOps is just automation” – think I’ve done this to death but for clarity…the right culture could well lead towards automation as a solution.
“Cultural change isn’t relevant in a bank – its a term used by the Facebook’s of this world” – why is having high performing people in a high performing environment only relevant to the unicorns of this world (i.e. Netflix, Facebook etc)? Its a daft comment in my eyes.
Besides who are the companies earning the big bucks these days? Oh yeah its not the banks it’s Facebook, Google etc…
Characteristics of a DevOps culture
Here are my top twelve characteristics of a DevOps culture. How far are you off?
- Measure everything, always
- Individuals have empathy for the rest of the team (i.e. they don’t pass the buck)
- Shared goals and incentives
- Don’t reward the fire fighter, reward the fire preventer
- Reward innovation and challenging the status quo
- Don’t punish people when they try something new but fail
- There is no IT and “business”. IT as much “the business” as the sales people.
- Seek to break down silo’s
- “It’s not my job” doesn’t exist
- “Its my server/code/network/database” doesn’t exist
- Individuals are empowered to make decisions
- Top-up management rather than top-down