Ever heard these questions:
- What is DevOps?
- How do I hire a DevOps Engineer?
- Should we have a Director of DevOps?
- Am I doing DevOps?
- Why is DevOps failing in my organization?
More and more frequently, I run into engineers, managers and business leaders describing failures in their organization due to “DevOps.”
Oddly, digging a little deeper, I find that most of these cases are simply failure by substitution. The Operations team was failing, so they rebranded it DevOps. Alas, buzzword compliance was unable to change the trajectory of the team and the buzzword was blamed.
DevOps today is–still–an ill-defined set of practices closely associated with automation and operations. If you accept this as fact, then DevOps can neither fail or succeed. If we want to measure the success of the DevOps movement in an organization, then we need a definition that leads to accountability.
A Definition for DevOps
The DevOps movement, unlike Agile, lacks a manifesto. To fill that gap, I assert that DevOps is a philosophy and that its base definition is:
DevOps is the way in which a technology organization embeds itself in a business to the benefit of that business.
The business in question need not be a technology company such at Docker or IBM. Indeed, all companies today are technology companies whether they like it or not. (1)
In this and future articles I will write about philosophy, models and implementation. In short, a philosophy is what I reason from to create models of behavior. Models inform the actions taken in an implementation. Implementation without philosophy leads to failure. Jingoistic adherence to philosophy without accounting for new technology leads to failure. Balance must be acheived.
As an example of this sort of failure, take a lesson from project management. Many shops adopt Jira because it can do anything. Since the tool can do anything, that means their workflow is capable of anything! Problem solved, QED. We all know tools are not process. When we look at our own track records of instituting change. too often the change stemmed from tool choice, not critical thinking about what was to be accomplished.
Tools should reflect the philosophy they are implemented to support. Without that philosophy tools will fail. The more complex the problem or tool, the more spectacular the failure. In this example, Jira did not fail, leadership failed. Specifically the thought leaders entrusted with workflow management.
Are you Doing IT DevOps Style
DevOps is about evolution. If you are doing IT DevOps style, then you are asking questions like:
- What should we change next?
- How do we create a sandbox to measure the impact of the change?
- How do we create demand for the change once vetted?
- Who do we need to be patient zero?
- What cultural paradigms are we shifting and how do we ease this for teams?
While automate-all-the-things is often associated with the term DevOps, automation without cultural shift will result in broader failure, rather than success. Like any technology problem, at its core DevOps models account for their impact on people because businesses are composed primarily of people.
Future Articles
Over the course of the next few months. I will relate my experiences at several companies. Articles will describe:
- What we changed.
- Why we changed what we did.
- What cultural issues we faced.
- What technologies we used and why.
I hope you will join me to learn how the practice of DevOps as a philosophy can lead to millions of dollars on the bottom line, happy bosses, fluffy bunnies and rainbows. If your lucky, you might even become a unicorn, though my own horn has yet to sprout.
The first case study will describe a failing company with three months capital. An amazing team. Some amazing mistakes and, ultimately, some amazing success. Technology decisions driven by the needs of a sales team. Automation driven by a business model. A successful acquisition.
References
(1) The Phoenix Project – Gene Kim, Kevin Behr, George Spafford
(2) Good to Great – Jim Collins
About the Author/Boyd E Hemphill
Boyd E Hemphill is Director of Evangelism at StackEngine (link). , an enterprise grade, Docker operations management software company. DevOps raconteur and organizer of community events in Austin, find him on Twitter or LinkedIn.