Does “DevOps” still mean anything?
The term “DevOps” is generally accepted as being coined by Patrick Debois when he named a development conference in Belgium “devopsdays” — in 2009 — a virtual lifetime ago in the world of software development.
Since then, DevOps has become the method du jour for thousands of organizations of all sizes and verticals in the never-ending pursuit to build better software faster. Its relationship with supporting methodologies like agile and continuous delivery are well and painstakingly documented. As DevOps has adapted and changed over the years, it has become a fundamental building block for many enterprise-level development pipelines.
But in this changing and shifting environment, the question arises: Does the term “DevOps” really have any meaning at all — or has it become just another trendy catchphrase that over the years has lost its significance?
Indeed a trend that we’ve seen in many companies is executive-level employees like CIOs adopting DevOps principles — things like continuous integration/delivery, test automation, and more — but not using the term DevOps at all.
Are you doing DevOps or agile?
Some folks would say that agile and DevOps are interchangeable terms, and that agile is more accurate to describe their pipeline strategies. So what’s the answer and how should we be looking at DevOps in 2018?
I believe that the issue at hand is the concept that DevOps as a strategy is fundamentally rigid. This is the idea that you’re either using DevOps, or you aren’t, and the way we viewed DevOps nine or ten years ago is the only way to approach things. Like so many things in the world of software, DevOps is constantly changing.
But as the saying goes, the more things change, the more they stay the same. Where I see the true power of DevOps is not in the exact strategy for how you put processes into place, or the way you test and optimize your pipeline, but the way that DevOps brings attention to the challenges that have always plagued enterprise-level software organizations.
New trends, classic problems
I have seen many trends and tools come and go throughout my career, but two items have always remained constant. First are the core issues that organizations face. These are things like disconnected teams, tools, and processes, or a lack of empathy between these teams. These issues could be data in silos, and an absence of visibility across the organization. You can go as far back as you want in the history of software development and you’ll find these problems.
What “DevOps”, as a term, is really about is identifying these issues and establishing an understanding of how they are impacting your company’s ability to deliver the best product and customer experience possible.
More importantly, DevOps is a tried and true solution for solving these issues. Enacted properly, DevOps breaks down silos, creates more cohesive teams, and provides visibility across the entire pipeline. This might mean using CI/CD, or instituting agile processes, or diving head-first into test automation, but at the end of the day, all of that fits firmly under the DevOps umbrella.
The second item that I’ve seen remain steady for organizations over the decades: Ultimate business goals. What most companies need most is speed, security, efficiency, and the ability to create meaningful value for their customers. Period.
It is true that the specifics of how these things are accomplished have certainly ebbed and flowed and the movement may have taken on a different look. Priorities might move up and down the list — for example, security in 2018 is a much larger concern for most organizations than it may have been a decade ago. But at the most basic level, these primary goals have remained the same — and these are all goals that DevOps aims to achieve.
Finding your style of DevOps
DevOps is certainly not a one-size-fits-all approach, but it never has been. The beauty of DevOps as a strategy lies in its flexibility and scalability. You are able to pick and choose what aspects of DevOps work for your organization — whether it’s something like adopting a BizDevOps approach or focusing on fully automating your testing. By making DevOps, however you interpret it, part of your pipeline, you help the organization achieve those goals of speed and delivering better quality to customers.
So to those that wonder if the term “DevOps” has run its course, I would say it’s just getting started — and it’s going to continue to be an amazing ride.