Culture is critically important in an organisation. It’s all of the hidden stuff that actually matters. It’s what people value and it feeds through to how people behave when you aren’t watching them, driving thousands of small decisions per day across the enterprise. A broken culture is a horrible thing to work within and a really tough thing to change because it is so inherent to an organisations DNA.
I also believe that DevOps is fundamentally a culture. If people aren’t approaching IT delivery in a collaborative, emphatic way with a focus on continuous improvement then it probably won’t happen despite all of the change initiatives in the world.
On the flip side, we can have the slowest, most beuracractic, most legacy technology environment, but the right culture will usually transcend all of that and make good DevOps like ways of working happen.
With all of this said, I really dislike the term ‘DevOps Culture’. Nothing tends to get me ranting more in the DevOps arena than hearing that phrase.
Why? Because it is so inactionable.
I speak with a lot of enterprises who are looking to adopt DevOps. Once they have decided to get started, the first question is ‘What Shall We Do First?’ If I was to say, ‘DevOps is about a culture and about people having empathy with one another’. They would say ‘Great how do we achieve it? What do we do tomorrow, next week, next month?’
At this point, some people scratch their heads. In the past I’ve heard, ‘buy dev and ops a pizza or some beers – thats a good first step. Maybe try a rotation or two and the culture will develop.’
Personally, I don’t think that will cut it in a 10,000 person globally distributed IT function. The pizza bill alone would bring down the organisation.
Moving Towards A DevOps Culture
Culture is very hard to influence directly, it’s emergent from much more concrete activities.
The meat of the discussion needs to lie there – in the steps we perform to get the outcomes we want. Things like:
- Moving to cross functional teams
- Cross training or hiring people with polyglot skillsets
- Giving people the same incentives across the IT function
- Empowering people to self optimise their processes and the end to delivery lifecycle
- Encouraging people towards cross-silo collaboration over being tied to a rigid process
- Changing reporting lines in the business
- Investing in optimising the path to production over new features
- Training and coaching developers, testers and IT operations on new collaborative ways of working
- Bringing in new tools to support collaboration across siloes
- ….. & 1000 other concrete activities
To me, roadmaps of the activities above and the challenges and subtleties involved in doing them are much more useful than a nebulous statement about DevOps being a culture. I can actually do something with these!
DevOps needs a much more rigorous approach to achieving it within the enterprise. We need to be develop out all of the steps above and bringing the conversation down to earth. Only when we get to this level of detail will we actually succeed in moving the dial to a DevOps culture.