I’m a newcomer to the DevOps movement. I only started paying attention when I joined ZeroTurnaround and the LiveRebel development team.
Initially, all I heard about and focused on were the tools and the technology that would allow me to ‘implement DevOps’ and ‘become more productive’. At hindsight, this is exactly the opposite of what I was supposed to do. Local optimums (ie. individually enhanced islands) are the enemy of DevOps as they will most certainly interrupt the global flow of the organization. Adopting Vagrant or Chef are details that are very specific to individual organizations, maybe the best tool for your teams is a whiteboard with post-it notes or maybe it is a fluffy pink llama doll.
When I was at DevOps Days Austin two weeks ago, I wondered why so many of the talks hammered on about the cultural aspect of DevOps, but it was only after reading The Phoenix Project and The Goal that I realized why culture is so important.
Both books have a similar structure:
- products don’t ship and the company suffers badly
- a hero steps in and discovers ‘The Ways’ with help from an external ‘oracle’
- this hero has to hide what he does from management since it’s against policies
- struggle, success, rinse, repeat
- the results are staggering and management can only accept this new approach
The real kicker here is that the hero had to go out of his way to work against the established company culture. The more interesting underlying aspect is that the hero and his teams were actually able to work in total isolation without the rest of the company knowing. That is for me the summary of a bad company culture. Having such heavily compartmentalized silos that nobody realizes what whole teams are doing for months on end.
DevOps talks about the Three Ways that are the cornerstone of the movement:
- create a fast flow through the whole organization
- shorten and amplify feedback loops
- create and foster a suitable culture
Culture might be easily neglected because it’s mentioned in the third place. Also, the first two Ways can seemingly be improved with tools and technology, which makes us techies jump all over it and two out of three might just be ‘good enough’. However, it’s critical to understand that all three Ways have an equal importance and without making improvements on all three, you’re just working on a mirage. I’ll say it again: without a suitable culture you can’t create a fast flow nor shorten the feedback loops.
So what is a suitable culture? The definition of the Third Way in ‘The Phoenix Project’ actually does a great job of explaining it:
“The Third Way shows us how to create a culture that simultaneously fosters experimentation, learning from failure, and understanding that repetition and practice are the prerequisites to mastery.”
I’ll personally add the obvious, which is open and direct communication. Having detailed issue descriptions and CI jobs that continuously test your products is great, but stepping up to your colleagues, managers and directors and just asking about the ‘why’, the ‘how’ and the ‘when’ will often enhance the global flow dramatically.
In a way all this makes me feel like being an independent developer that builds custom solutions, but instead of being the sole individual that’s pulling all the strings, the whole company becomes that person. DevOps is almost like building the optimal neural network that brings the company closer to being a single person. We’re all in this together and the only thing that matters is the goal of the company and for most that is not writing provisioning scripts nor setting up virtual machines.
What is the goal of your company? Do you know? At ZeroTurnaround, it’s empowering Dev and Ops to make their job as easy and as fun possible while making money so that we can constantly refine our products.