In this post, we look at some of the characteristics that make a successful DevOps culture.
This is day 2/100 in the 100 Days of DevOps series.
Understanding the critical elements that highlight a successful DevOps culture is important as you start your DevOps transformation journey. DevOps culture is fundamentally about two things, communication, and collaboration.
That's great but how do you start on that journey to improving both of those things, and how do you identify when you are making progress?
Markers of success
From all the companies I have worked with and contacts I have spoken with about the success and failure of DevOps, five things stick out for me.
- Pushing change from the very top
- Autonomy and empowered
- Redefining trust
- Measuing and rewarding results
- Craving improvement
Let's now look at these five things in more detail to understand them better.
Pushing change from the very top
Start at the bottom. Change, particularly cultural change, cannot occur without top-down sponsorship. However, it does not truly take hold until it is carried out at the smallest unit possible, that unit is individual teams. Implementing DevOps at the team level, allows them to demonstrate what is possible, identify roadblocks, and overcome them while the issues are still manageable. Indeed, successful transformations are typically the result of a journey of continuous improvement rather than a “big bang” execution.
Autonomy and empowered
DevOps requires engineering teams to take on responsibilities that were previously held by other functions. Engineering teams that are empowered to push change through to production must embed controls in their processes to provide assurance to the organisation that testing, risk management, and escalation protocols are in place. Control must be built into the process from the start. Automation can be extremely beneficial. However, it is not simply a matter of digitising existing, routine, time-consuming tasks. It is about rethinking how controls are implemented so that they occur by default within the process without the external interference that typically causes bottlenecks.
Traditionally, organisations have built trust through audit-based control frameworks that use checklists and audits of activity to improve quality, assurance, security, compliance, and risk mitigation. That is not how DevOps works. Control functions must trust that product teams can and will be responsible stewards of organisation wide principles and requirements. Clearly, trust must be earned, but this typically occurs quickly when teams collaborate and demonstrate success through small pilots prior to scaling initiatives. This trust can and will lead to product teams being empowered to make the right and safe changes for the organisation.
Measuring and rewarding results
When people are measured and rewarded for the right things, cultures change. Everything, from C-level performance contracts to weekly sysadmin objectives, must be aligned with strategic business outcomes and the behaviours required to achieve them.
The desire to improve—the process, the quality, the speed, and the impact of each and every individual—must pervade every corner of the organisation. That necessitates shifting mindsets from "Let's make it perfect" to "Good enough, let's see how it works, and continue to iterate." To support this cultural change, flexible systems and ways of working must be put in place to identify issues and opportunities, make quick adjustments, and test again.
In day 3 of the 100 Days of DevOps series, we are taking a look at Building a DevOps Culture.