DevOps has risen in popularity over past twelve to eighteen months to the point that most enterprises are either practicing something they call DevOps or are at least exploring how they can leverage DevOps to be more agile. The problem companies are having with DevOps is that it is not really a thing that comes with instructions or a framework that is prescriptive in nature. DevOps is instead a shift in the way we approach building software and even running a company. The age-old way has been more factory oriented, where software went from inception to production by passing through various silos of specialists (developers, testers, security experts, system administrators, operations, etc.).
As the software progressed through the lifecycle a lot of precious time was lost due to a lack of collaboration between silos, quality issues found late, technical requirements ignored or added towards the end of the cycle, and a continuous increase in technical debt. The DevOps movement is an effort to work more collaboratively across groups or even to restructure an organization to eliminate silos so that software can move from point A to point B with the lowest number of bottlenecks possible.
Why has DevOps become so important lately? The speed at which business moves these days is faster than ever seen before. Technology enablers like cloud and mobile, coupled with a population of always-connected people, have made it a requirement for companies to add or update new products and services quicker than ever before. Companies that do not adjust will see their business disappear to more agile organizations. The cost to enter the market these days is extremely low, and startups can quickly emerge and steal market share at the feature level before a company even knows what hit them.
But what is it that companies really want? If you ask me, the ultimate goal enterprises are seeking is to become high-performing organizations. What does it take to become a high-performing organization? Here is my list:
- Strong Leadership
- Strong Culture
- Sound Architecture
- Good Governance
- High Customer Satisfaction
- Talented Employees
- Quality Products and Services
- Reliable Products and Services
Companies hiring “DevOps Engineers” as the way to become high-performing organizations are missing the boat and proving that they are lacking the strong leadership quality. Don’t get me wrong: I am not bashing DevOps by any means. Companies need to focus on the goal, not just a single path to achieving the goal. DevOps focuses a great deal on eliminating waste, improving collaboration, automation, and continuous improvement. One could argue that those are the same goals of enterprise architecture and governance. Many people blame EA and governance for the problems we have today. I say don’t blame the tools: blame the builders. A good EA and governance program with strong leadership, good culture, and talented employees usually equals high performance.
I have been on many DevOps engagements over the last couple of years. When we go into an organization and do the analysis we uncover the same old bottlenecks that have existed for years. There is nothing really new here. What is new is that now the leadership within these companies is investing money to fix their legacy bottlenecks. It is ironic. If I were to go to a CFO and ask for money to fix IT, the CFO would likely wave me off and tell me to do my job. But if I go to a CFO and say I need DevOps, the money starts flowing. It’s magical!
When we train our customers on how to be a high-performing organization (aka codeword DevOps), we cover topics like these:
- Monitoring and Logging
- Architecting for the Cloud
- Service Management (operations)
- Organization Change Management and Culture
- Test Driven Development
- Provisioning and Orchestration
At the end of the day, there are no shortcuts to becoming a high-performing culture. You still need to be good at architecture, governance, and process no matter how you slice it. Sure, the methods may change, but the principles remain. So the question remains, are companies looking for DevOps or are they really looking to become high-performing enterprises? It is important to understand the difference between a road (DevOps) and a destination (high-performance enterprise). If we understand the destination, maybe we will do more than hire “DevOps Engineers” who write Chef scripts and focus on a strategy that takes us from the current state to the desired future state. DevOps can help us get there, but it is just one of many tools in the toolbox.