Sure, there are examples of killer companies that are already DevOps Happy - but most of them were born that way. The Googles, Amazons, Facebooks, eBays and Etsys of the world were lucky to start their businesses at a time when they could build the technology in from day one. Other enterprises though have business models that didn’t start out being internet companies, even though they may be increasingly evolving that way.
We’ve identified three areas older enterprises need to consider when they’re thinking about the cultural changes they need to make to embrace DevOps philosophies. We call them the three H’s. They are: History, Habits and Heroics.
You’ve got history. And, quite rightly, you’re probably proud of it. Your company may be decades old, an oak tree grown from an acorn, that’s evolved, diversified and grown and grown. More people, more stores or factories, outlets or branches, networks or routes. More revenue, profits rising and falling, MBOs, IPOs, mergers, acquisitions - ground-breaking times when you’ve streaked past the competition, eras of hardship where operations have been scaled back - but your company has a story.
History’s important, we learn from it, it can give us a sense of place. Sometimes though, history can be an enemy of change. Legacy systems and processes can make it hard to effect change - it’s tough to make a juggernaut move direction fast. You’ve got to have a lot of power.
Humans have habits and old habits die hard. Change is difficult and DevOps demands change. It demands that you embrace new ways of working, revisit your culture and look at how you deal with blame, failure, how you organise teams and that you become obsessed with metrics.
Measuring everything you do is a central DevOps tenet - it means you can measure your success and failures and change direction accordingly. It means you can write business cases and you’ll be able to report to the CEO exactly how far that new feature on your mobile app reached and how it converted into hard dollar sales for your company or how the changes you made to your release process mean you're releasing new code daily now.
DevOps demands that everyone change - for DevOps to work, you need to collaborate, to involve everyone - yes, even Ops - early into development process, at requirements gathering stage, so that they know what’s coming downstream, so they can line up their resources to work on what's coming down the pipe. DevOps means everyone collaborating closely throughout the development and release cycle to ensure innovation gets to market at the highest possible velocity.
We all love a hero - but sometimes heroes, in fact, are bottlenecks. Perhaps there’s a system, in a critical part of a process, built by just one person. When the system works it takes away an onerous job for someone, but when it breaks, there’s only one person who can fix it. They are the hero. Staying late, coming in over the weekend to fix the problem, get the application running. Bottlenecks are what DevOps is here to hunt down.
Another tenet of DevOps is the Theory of Constraints, introduced by Eliyahu M. Goldratt in his book ‘The Goal’. The theory states that any improvement not made at a constraint is an illusion - you will either rush work towards the bottleneck (enhancing the allure of your hero) or create a vacuum after the bottleneck (and have resources sitting around idling twiddling their thumbs).
No more heroes. You’re a team, after all.
Have you any other H's to add to the challenges of Enterprise DevOps? Or any other letters?!