On page 14 of the 2021 State of DevOps Report, the authors compare the blockers to DevOps for “low-evolution” organizations with “high-evolution” organizations:
Low-evolution teams … cite organizational resistence to change (31%), legacy architecture (28%), shortage of skills (23%), limited or lack of automation (20%), and unclear goals or objectives (20%).
High-evolution teams' blockers are fundamentally different: legacy architecture (29%), and shortage of skills (29%).
They come to an interesting, if not tautological, conclusion:
In short, for highly-evolved firms, culture is no longer a barrier. This is ultimately why they’re highly evolved.
In my own practice, I’ve identified a specific blocker to DevOps, which I believe is a subset of the “culture” talked about in the report:
This fear takes various forms.
- Fear of deploying on Friday afternoon
- Fear that the code needs more testing before it’s “ready”
- Fear that automated deployments means giving up control
- Fear of hiring under-qualified engineers
- Fear of choosing the wrong technology
Of course when we take a step back, most of these fears don’t really make sense in the context of DevOps or agile software development. The whole point of these concepts is to be able to respond quickly to change. So if we do deploy a broken piece of software, we can recover quickly. If we do hire an under-qualified engineer, they won’t jeaporidize our project, and they can get up to speed. If we do choose the wrong technology we can change it later!