Why We Use On-Call Shadowing On-call shadowing is an essential practice at PagerDuty. For a new engineer, a shadowing period serves as a kinder, smoother...by Max Timchenko
March 26, 2019
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.
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.
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.
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.
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.