I just read a great article by Peter Buonora on the unique challenges of adopting DevOps in an established enterprise. For a startup, it’s very easy to begin in the DevOps mode, because you’re launching from scratch. For enterprises, the road is quite a bit steeper. You have to change your ways, change your mindset, and change a process that’s tried and true. Not to mention that a lot of the controls already in place to prevent disasters — change controls, change advisory boards, change processes — often run counter to what DevOps is.
Buonora believes the right DevOps attitude to take is, “If changes are painful, we should be doing it more often to get better at it so it’s not painful anymore.” It also requires a much greater level of individual and team accountability. Compared to the traditional IT mindset, which is about trying to minimize change, question change, and manage it to a point where the number of overall changes is reduced and we lock down the environment, it’s not hard to see that the two approaches are on a collision course.
Buonora makes three suggestions for a traditional enterprise looking to establish DevOps.
- A lot of companies will establish a separate center of excellence (COE) group to drive DevOps initiatives so they can thrive. Friction is inevitable with the rest of the organization because those COEs are operating in a wholly different way, but healthy friction is essential in making DevOps work. This team will also be needed to plant the seeds in other parts of the organization where DevOps is appropriate, helping those teams to demonstrate the business value in this new mode of operation.
- The skill set to do successful DevOps is very hard to find. Not surprisingly, people that want to do DevOps prefer to work for small startups or in places where DevOps is more or less the only way you do things. To find staff for your enterprise efforts, you need a few veterans who have lived and breathed DevOps before, but you shouldn’t overlook bringing up some of your star internal performers and building their skills to the point where they can handle the DevOps mode of operation.
- If you work in software development, it’s probably easier to jump into a continuous development mindset. Less so for operations staff. To bring them into that thinking, I say things like, “Guys, think of this infrastructure as code now. So forget about racking and stacking and think about it as, for example, these five lines of code will now set up this portion of our data center. Now make those processes repeatable.”
You can watch a free webinar on-demand: DevOps Misconceptions and best practices, with special guest Noel Yuhanna, analyst at Forrester.
“Success in DevOps is a matter or prioritizing and figuring out the pace of change that’s required in specific customer-facing functions, concludes Buonora. “A key part of your job is matching those needs with capabilities that you can build in a logical, iterative way.”