Depends on who you ask
DevOps is notoriously difficult, even controversial, to define.
Indeed, there are so many definitions of DevOps that if you ask 10 people, “What is DevOps”, you’re likely to get more than 10 answers (opensource.com).
DevOps is a broad concept that covers many areas of expertise, so it might have a different definition depending on a person’s background or point of view.
In this post, we’ll look at a few definitions of DevOps to see if they are actually describing different pieces of the same beast.
DevOps is: Project Management
One description for DevOps says, “DevOps [...] requires establishing cross-functional teams that integrate and work together to solve business needs. By doing so, DevOps increases efficiency and delivers faster.” (techtowntraining.com)
🤔 ...teams working together on business solutions by sharing skills and knowledge…
By that definition, DevOps sounds like Project Management which can be defined as, “the application of processes, methods, knowledge, skills, and experience to achieve the project objectives.” (apm.org.uk)
So, is DevOps just Project Management?
Let’s look at another definition.
DevOps is: Agile
Another definition for DevOps says, “DevOps is a software development method which focuses on communication, integration, and collaboration among IT professionals to enable rapid deployment of products.” (guru99.com/agile-vs-devops)
🤔 ...people communicating, working together, and rapidly producing things…
Now, DevOps sounds a bit like Agile which is defined here as, “an iterative development methodology that values human communication and feedback, adapting to changes, and producing working results.” (capterra.com)
Okay.. So, DevOps is just Agile?
Let’s take one more definition.
DevOps is: Continuous Delivery
DevOps can be defined as, “DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably.” (atlassian.com/devops)
🤔 ...people communicating, working together, and rapidly producing things…
Well, now DevOps sounds really close to Continuous Delivery, which is “a practice or set of principles that teams follow to deliver software safely, quickly, and in a sustainable manner.” (harness.io)
Great! So, DevOps is basically Continuous Delivery?
Cut to the chase
We could dance around with definitions like this for some time, but, instead, let’s take the advice of a wise man who said:
“When there’s an elephant in the room, introduce him.”
- Randy Paush
DevOps is: An Elephant?
DevOps is not an elephant.
DevOps is certainly not a literal elephant, and in this case DevOps is not a figurative one either.
Instead, in this analogy about some people investigating different parts of an elephant, I suggest that the elephant itself represents what many refer to as the DevOps Toolchain, which is a very important part of DevOps, to be sure.
However, a solid DevOps toolchain does not necessarily good DevOps make.
What is DevOps?
So, if DevOps isn’t the elephant, then that, of course, begs the question: What is DevOps?
I postulate that in this (rather absurd) example, DevOps is the contract agreed to—whether verbally, in ink, in code, etc—by the individuals investigating the elephant to set out with their various skills and expertise to try to understand what this big thing is in their neighbors yard, and they have all agreed to come back and discuss what they have found.
It has a tusk. It has a big foot. It has a big, broad side.
They will discuss these things and try to come to an understanding of what this thing is.
DevOps is that agreement, that collaboration mentality that they take when approaching a problem.
Additionally, DevOps includes the fact that every individual knows—whether by a meeting in which they were all told, a bulletin board on which a notice was placed, or some other means of knowledge transfer—that one of them, the man on the far left of the image, has a tool, a stethoscope, that can be used to do some listening.
Conclusion
So, now we have another, rather ridiculous, definition of DevOps to toss onto the pile of many, many definitions.
I’m sure this post did not provide thorough insight into what DevOps actually is in practice, but I do hope that it sparked some curiosity about DevOps that can serve as motivation to set out and investigate.
Further Reading
Original Talk
What is DevOps
- Visualizing a DevOps mindset
- DevOps is an Ethos
- How to achieve DevOps Consensus?
- Donovan Brown: What is DevOps
- Amazon: What is DevOps
The Rise of DevOps
- Grand View Research: DevOps Market Size
- The Rise of DevOps Engineers in the Current Market
- The State of DevOps Adoption and Trends in 2017
- CloudBees: DevOps-Fad or Here to Stay?
- Forbes: DevOps Dollars: Why There’s Big Money in Fast Software Development
Communication and Collaboration
- TechRepublic: What Is DevOps
- Atlassian: DevOps
- Puppet: What is DevOps
- Donovan Brown (Principal DevOps Manager with Microsoft): What is DevOps
- OpenSource.com: What is Devops
- Wikipedia: DevOps
- Gartner: DevOps a Culture Shift, Not a Technology
- Jeff Sussna: The Essence of DevOps
Chat with us about DevOps
What do you think of this post? Do you have a DevOps definition to share? Come chat with us; We’re always available in the Bitovi Community Slack: #devops channel.