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

  1. Identify DevOps culture characteristics
    • Respect
    • Trust
    • Healthy attitude about failure
    • Avoiding blame
  2. Email everyone the list, publicly declaring that we are a DevOps culture
  3. Clearly communicate the characteristics in on-boarding and new hire orientation programs
  4. Make sure Operations Engineers have access to production environments, so that they can work with Developers to build a deployment strategy
  5. 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
  6. 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!
  7. 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.