DevOps has been a great success in that all the core people that are engaged with the problem really ‘get’ it and are mainly on the same page (it’s culture shift towards agile collaboration between Ops and Dev), and have gotten the word out pretty well.
But there’s one main problem that I’ve come to understand recently – it’s still too high level for the average person to really get into.
At the last Austin Cloud User Group meeting, Chris Hilton from Thoughtworks delivered a good presentation on DevOps. Afterwards I polled the room – “Who has heard about DevOps before today?” 80% of the 30-40 people there raised their hands. “Nice!” I thought. “OK, how many of you are practicing DevOps?” No hands went up – in fact, even the people I brought with me from our clearly DevOps team at NI were hesitant.
Why is that? Well, in discussing with the group, they all see the value of DevOps, and kinda get it. They’re not against DevOps, and they want to get there. But they’re not sure *how* to do it because of how vague it is. When am I doing it? If I go have lunch with my sysadmin, am I suddenly DevOps? The problem is, IMO, that we need to push past the top level definition and get to some specific methodologies people can hang their hats on.
Agile development had this same problem. And you can tell by the early complaints about agile when it was just in the manifesto stage. “Well that’s just doing what we’ve always done, if you’re doing it right!”
But agile dev pressed past that quickly. They put out their twelve principles, which served as some marching orders for people to actually implement. Then, they developed more specific methodologies like Scrum that gave people a more comprehensive plan as to what to do to be agile. Yes, the success of those depends on buyin at that larger, conceptual, culture level – but just making culture statements is simply projecting wishful thinking.
To get DevOps to spread past the people that have enough experience that they instinctively “get it,” to move it from the architects to the line workers, we need more prescription. Starting with a twelve principles kind of thing and moving into specific methodologies. Yes yes, “people over process over tools” – but managers have been telling people “you should collaborate more!” for twenty years. What is needed is guidance on how to get there.
Agile itself has gotten sufficient definition that if you ask a crowd of developers if they are doing agile, they know if they are or not (or if they’re doing it kinda half-assed and so do the slow half-raise of the hand). We need to get DevOps to that same place. I find very few people (and even fewer who are at all informed) that disagree with the goals or results of DevOps – it’s more about confusion about what it is and how someone gets there that causes Joe Dev or Joe Operator to fret. Aimlessness begets inertia.
You can’t say “we need culture change” and then just kick back and keep saying it and expect people to change their culture. That’s not the way the world works. You need specific prescriptive steps. 90% of people are followers, and they’ll do DevOps as happily as they’ve done agile, but they need a map to follow to get there.