Steps to Creating a DevOps Culture in an Organization
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. M. Conway
I started out writing a verbose post about how to create a DevOps culture in an enterprise. After sleeping on it, I realized that people really need tactical suggestions on how to create a DevOps culture, not just a description. So here's a DevOps Culture todo list.
A DevOps Culture Todo List
- Identify DevOps culture characteristics
- Healthy attitude about failure
- Avoiding blame
- Email everyone the list, publicly declaring that we are a DevOps culture
- Clearly communicate the characteristics in on-boarding and new hire orientation programs
- Make sure Operations Engineers have access to production environments, so that they can work with Developers to build a deployment strategy
- Support your teams working on a deployment strategy during sprints (assuming you work in manageable iterations), typically part of our 20% "Job Jar", like a cookie jar but meant for working on technical debt and tools
- Give the team this list of things for them to build and setup
- Automated infrastructure
- Shared version control
- One step build and deploy
- Feature flags
- Shared metrics
- IRC and IM robots, tools to communicate with each other and command bots to execute tasks, yes you have to have this!
- Let team build the tools they need to deploy and collaborate
You also might want to take a look at the history of the DevOps term to get some perspective.
And then watch the presentation of a team that did it.
And a presentation I gave about a DevOps team that I was a part of.
One of my goals with this post is to discourage you from creating a team called DevOps. Unless your new DevOps team consists of Developers, Operations and QA and are together responsible for delivery, I think creating a separate team is a byproduct of not knowing what tactics to execute that results in a DevOps culture. For that reason, I created a todo list that you can execute which I believe will result in a DevOps culture. Good luck.