Many of the companies most associated with taking a DevOps approach, like Google, Facebook and Etsy, are relatively new technology driven companies that started doing DevOps from day one. But what about established companies? Can a large company with entrenched silos and legacy processes adopt the DevOps mindset?
Luke Kanies, CEO of Puppet Labs, acknowledges how difficult it is to change corporate culture. “It can be hard even at a technology company,” he says. But it’s not impossible.
Boundary CTO Cliff Moon confirm that not only can established companies take up DevOps but “To some extent they have to,” says Moon. “As more and more of their competitive advantage comes from your online presence, more companies are going to adopt DevOps practices to respond and make changes quickly in response to outages.” He cites the example of Simple, which is betting that it can challenge larger, more established banks just by having a better website.
Kanies suggests starting small by finding an discrete project that members of both the development and operations teams collaborate on. “You need to find small pockets of success,” he says.
Moon also told me about his experience as a Java consultant for a large bank in 2006. The bank acquired a smaller firm and needed to roll out a new credit card product quickly, but was burdened by many old legacy systems. A small team was assigned to this specific project, and was given freedom to try some experimental processes. “The engineering group was empowered to take more direct action and deploy code on their own in production services,” he said. It worked. The team was able to deliver the product under deadline.
Take a look at what J. Wolfgang Goerlich did at the financial services firm he works for. Goerlich started by applying concepts from agile development only within operations, and once he had success he asked to apply those ideas to the development side. He was then able to unify dev and ops under a single umbrella. Most company will probably face a reverse situation: agile in development but not in ops. As I wrote in my previous coverage of Goerlich’s advice:
He suggests that developers who want to get started with DevOps start by reaching out to ops and getting themselves on the call list so they can see what sort of issues ops has to deal with every day. If you’re in infrastructure, he suggests reaching out to development and getting in on some build meetings and learn about how that process works and the pressures they are under.
Starting with small, pilot programs and taking small specific steps are a great starting point. Even if a “pure” agile/DevOps methodology can never been adopted at a company, certain proven technologies like configuration management and practices like putting developers on the call rotation can improve productivity and collaboration.
Have you been involved with a successful, or unsuccessful, transition to a DevOps culture at an established companies? What did you learn? Tell us in the comments.
Photo by Jordan R. MacDonald