alphaspirit - Fotolia
They say, "DevOps is all about culture."
I don't quite buy into that. Maybe you're still committed to multiyear planning cycles. You think containers are a passing fad. You've never heard of Kubernetes or other cloud-native technologies. You're going to have trouble implementing DevOps even if, in the abstract, you have a culture that is collaborative and transparent.
And, certainly, you can't just buy DevOps by implementing the right toolset.
But you also can't just mandate building a DevOps culture. In fact, thinking about creating culture is probably the wrong way to go about things. There's no agreed-upon model for what the "right" culture even looks like. And the reality is that different organizations require different behaviors; a bank or aerospace manufacturer probably can't function the same way a Silicon Valley software startup can.
Even more fundamentally, culture is an output, not an input. And that's one of the key statements. You can move toward inputs and processes that lead to building a DevOps culture that will thrive.
It starts with executive leadership. It's no coincidence that The Phoenix Project -- the much-read parable about bringing DevOps to an organization -- put its thumb on the scales by having a board member lead the interim CIO through his IT transformation. But the right organizational structures help. As with open source projects, there isn't a single winning formula, but teams with at least a degree of autonomy tend to work better than those under rigid command and control structures.
Communication flows also feed into building a DevOps culture. Many of us increasingly work in a distributed world, but physical realities need to be recognized. If a team is only partially distributed, it's easy for those out of the office to feel left out if their colleagues decide things over lunch or beers. Use collaboration tools and consider investing in face-to-face meetings periodically. It may also be the case that too many time zones between the members of a single team are too much of a communication burden and teams may need to be reorganized on that basis.
What developers really want in a new job
Most developers hitting the job market learned how to code before they could drive a car. And who needs a degree when you have a GitHub page? Check out these insights and more from HackerRank's survey of over 39,000 development professionals.
DevOps is, in part, about iteration and experimentation. But experiments can fail. We wouldn't call them experiments if we knew they were going to succeed. It is indeed important to design experiments that fail fast and fail small. But once we've committed to and are working toward building a DevOps culture, we shouldn't punish people for experiments that yield negative outcomes.
This speaks to a bigger point about incentives. Incentives matter and drive behavior. Incentives in a DevOps organization such as advancement, money and recognition need to reward trust and cooperation -- not just individual effort and skill. Peer reward systems are one lever. So are metrics that aren't just about the individual.
There's no standard blueprint for building a DevOps culture or for anything else. But there are certain principles, many of which correspond to how open source projects work, that are sensible inputs which can lead to a building a DevOps culture that is healthy and flexible.