Blog

Your Guide to Building a DevOps Culture

by Chris Riley January 3, 2018 | 6 min read

Depending on when you were introduced to DevOps, your perception of how DevOps is implemented will vary. DevOps started as a culture-only movement, and as it matured, it became more and more tactical.

Culture remains at the heart of any DevOps environment. In many cases, culture also remains the hardest part of DevOps to get right. And while there is no one-size-fits-all way to build a DevOps culture, there are some tricks to help implement a healthy one, no matter what kind of organization you’re working with—as I explain below.

Why Culture?

You may hate the word culture or you may love it. It doesn’t matter. The thing about culture is that it always exists, regardless of the environment. In development environments where culture is not deliberate, it will create itself organically, and this usually ends up being a less-than- desirable scenario. It might be a culture of fiefdoms, or a culture of fear—the fear that everything is breakable, and every new feature is deemed a failure even before it is written.

So no matter what, you have a culture. What DevOps principles aim to achieve is culture created deliberately, where the organization decides in advance what culture is going to best support their objectives, and does what is needed to establish, boost, and maintain that framework.

The reason culture has gotten a bad rap is because it’s often a term associated with hipsters and startups. But this isn’t accurate. There are some elements of culture that do seem to belong in the lobby of a startup, but the catalyst for deliberate culture in DevOps was the desire to avoid bottlenecks. You can adopt all sorts of processes and tools to make things go faster, but if the speed is blocked by people who aren’t on board, then the path of more frequent, faster releases at a higher quality will never be achieved.

The other reason culture matters is because DevOps is not just processes and tools. It comprises the principles that keep the delivery chain from becoming a static environment that cannot adapt. If you “implement” DevOps with processes and tools only, then in two years, your environment will look and feel like Waterfall and be unable to keep up with the current standards of development.

Make Culture Comfortable

Developing the right culture can be as easy as organizations admitting they need to support and grow a culture that facilitates better software quality and speed. The awareness of how things are done, with some clear goals, will bring culture top of mind for every team member so they can make it part of everything they do. When they adopt a new tool, they will think about how the tool can be modular and scriptable. Or when they think about communication with other team members, they will focus on being concise and results-oriented. In addition to making it clear that the organization is committed to the culture of better code, here are a few other things a team can do to make a positive culture stick.

  • Stewardship, not dictation. The culture you want or need requires a blessing from the top. But it should not be dictated. To support culture, team members (including both leadership and executives) need to steward culture, not tell people how they should act. You can’t tell someone to be a team player—you  have to show them the benefits of being one. But this also means that if someone does not fit within that environment, they either need to be okay with walking away or the organization needs to be okay with letting them go.
  • Share wins. In order for the team to see the benefits, the successes need to be shared—things like increased release cadence, fewer defects, and more tasks and releases that don’t require human involvement. Not everyone on the team will have exposure to the benefits of their more efficient environment, so the wins and their benefits (more time to focus on innovating business differentiators, fewer repetitive tasks, less burnout, etc.) should be regularly communicated team-wide.
  • Smaller teams. Part of maintaining a strong culture is having smaller, close-knit teams. This is a hierarchical challenge and leadership absolutely needs to be involved. The guidance we have from tech giants like Amazon is that all teams should be “two-pizza” teams—small enough that everyone has a clear idea of each member’s contribution to the team, with visibility into the work being done. This helps each  team work together to maintain culture and create very direct accountability.
  • Shared objectives. One place where organizations often go wrong is competing objectives. Team members will always work toward how they are being measured, and if developers are being measured on new functionality out-the-door but Ops is being measured on things not breaking, then those two elements are in direct conflict. Change equals risk in the Ops mind, so they are motivated to prevent releases, not support them. Management must get everyone on the same page to achieve the same goals.

Things like hierarchy and KPIs are not always in your control. But even developers can start to express the value of a shared culture from the bottom up. Yet, at some point in time, the organization and management also need to see the light. The good news is that as every company becomes a tech company in some capacity, the need to support more frequent application releases at a higher quality will impact the bottom line. And nothing gets management to listen more than the numbers.

Make Culture OK

Because culture seems so subjective, it’s often easier just to focus on the tactics of DevOps as opposed to the principles that will sustain the environment of efficiency. While it’s hard to get the culture engine off the ground, the good news is that once it gets going, it is very much self-sustaining. It’s hard to unring the culture bell, and this is true even when you decide to be deliberate about creating it.

Having the confidence to get the ball rolling and the patience to see the results, alongside the framework above, are the keys to success. Organizations that embrace the development of a DevOps culture will make software delivery more seamless and modern development practices more successful.