DevOps got its name over 10 years ago, and what started as a hashtag has grown into a cultural movement in IT. This philosophy encourages developers to move fast, experiment, and iterate. DevOps has become intrinsically connected with digital transformation. But when it comes to IT terminology, a decade is plenty of time to accrue varying definitions, interpretations, and confusion around what DevOps actually means.
Is DevOps the same as agile? Is it a methodology? Is it just another way to say collaboration? What do DevOps engineers actually do – do we need this title, or is it all hype?
[ Some people get confused about Agile vs. DevOps. We break it down: Read Agile vs. DevOps: What’s the difference? ]
Because DevOps encompasses many different concepts (continuous delivery, continuous integration, automation, etc), it can be hard – especially for those who are most passionate about it – to try to boil DevOps down into a sound bite. But, let’s remember, sound bites can be helpful, whether you are trying to sell the idea up the chain or explain what you do to someone at a party. So, for now, let’s put aside the nuance around specific DevOps terms and focus on the big picture.
What is DevOps? 6 definitions and analogies
We asked DevOps experts how they explain DevOps in the shortest, simplest words so that anyone could understand its value, regardless of their technical background. See below for a few punchy definitions and some helpful analogies to help you tell your DevOps story.
1. DevOps is a cultural movement
“DevOps is a cultural movement where both key stakeholder groups (software developers and IT operations) agree that software is not really adding any value until it is used by somebody – customers, clients, employees, etc,” says Eveline Oehrlich, chief research director at DevOps Institute. “Due to this, both teams are ensuring together that software is delivered with speed and quality.”
[ Want DevOps best practices? Watch the on-demand webinar: Lessons from The Phoenix project you can use today. ]
2. DevOps empowers developers
“It’s commonly stated that DevOps allows for faster delivery to production by implementing and leveraging automated processes. To me, it’s far more fundamental,” says Jai Schniepp, senior product owner, secure DevOps platforms at Liberty Mutual. “DevOps empowers developers to own, run, and manage the end-to-end delivery of an application or piece of software. It eliminates the confusion around ownership and drives team toward an automated, developer-managed infrastructure.”
3. DevOps is a collaborative approach to building and delivering software
“Simply stated, DevOps is an approach to building and delivering computer software in which everyone works together,” says Gur Steif, president, digital business automation at BMC.
4. DevOps is like an assembly line
“I would compare DevOps to a manufacturing assembly line,” says Steif. “The idea is to design and build all the parts up front, in a way that allows all the pieces to fit together. For an assembly line to work, components must be designed to combine seamlessly. The folks who design and build engines must think about the chassis and motor mounts. The folks who build brakes must think about the rims and tires, and so forth. That’s how it needs to be in software. The developers who write the business logic or the user interface must think about the database that stores customer information, the security that protects user data, and how it all operates when the service is exposed to what may be millions of users.”
“Getting people to collaborate and think about work being done by others rather than focusing on their individual task(s) is the biggest obstacle to overcome. If you manage to achieve that, you stand an excellent chance of achieving digital transformation,” Steif adds.
5. DevOps is a recipe – combining people, process, and automation
Jayne Groll, CEO at DevOps Institute, has a great cooking analogy for explaining DevOps: “DevOps is a recipe that relies on ingredients from three major categories – people, process, and automation,” she says. Most of the ingredients can be adapted from other well-known practices and sources such as Lean, Agile, SRE, CI/CD, ITIL, leadership, culture, and tools. The secret behind DevOps is how these ingredients are blended and in the right proportions (like any good recipe) in order to increase flow and value to the customer.”
6. DevOps teams are like NASCAR racing crews
“When I talk about desired outcomes for a DevOps initiative, I mention NASCAR or F1 racing,” says Chris Short, principal technical marketing manager, cloud platforms, Red Hat, and publisher of the DevOps’ish newsletter. “Crew chiefs for these race teams have one mission: Finish in the best place possible with the resources they have available while overcoming the adversity thrown at them. Race teams don’t think from start to finish; they flip the table to look at the race from the finish line to the beginning. They set a goal, a stretch goal, and then begin working backward from those goals to determine how to get there. Work is delegated to team members during race week to push towards the set of objectives that get to the desired outcome."
“Race teams practice pit stops all week before the race. They are in weight training and cardio programs during the week to keep them physically ready for the grueling conditions of race day. They continually collaborate to address any issue that might come up. Similarly, software teams should practice releases often. If the safety systems are in place and practice runs have been going well, release to production happens more frequently. Speed makes things safer in this mindset,” says Short.
“It’s not about doing the ‘right’ thing,” he adds, “it’s about addressing as many of the things that could keep you from your the desired outcome as possible. Collaborate and adjust based on the real-time feedback you observe. Expect anomalies and work to improve quality so the impact of those anomalies on the goal is minimized. These are the expectations for everyone in a DevOps world.”
[ For more wisdom on DevOps, check out these books: 5 must-read DevOps books ]
What is a DevOps engineer?
A cultural movement, a methodology, a recipe for success – notice how no one referred to DevOps as a role. Yet, DevOps engineer has been prominently featured on Glassdoor's best jobs in America list every year since 2017. Does it make sense to tag the word "DevOps" onto an individual's title when entire IT organizations are being asked to work in a new way?
Some firmly believe the answer is no.
"DevOps is a methodology, not a role," says Neelan Choksi, president and chief operating officer at Tasktop. "Rather than labeling your engineers 'DevOps engineers,' you should acknowledge that the role of the engineer in both development and operations has evolved – and it is continuing to do so. Because divisional siloing is a thing of the past, ceaseless change is no longer one department’s job and another department’s problem."
In fact, focuses too much on individual roles can hold organizations back, says Choksi. "If DevOps culture is instead viewed as a singular job or role, you might still make small, local improvements by adopting DevOps best practices, but the impact of those practices will be limited."
On the other side of the debate, some argue that titles are meaningful – especially when industries are going through major transformations. Including the term DevOps on a resume or job description signifies a level of skill that is currently hard to find, says Oehrlich.
"I have been following the DevOps transformation as an industry analyst since its beginning," Oehrlich recently wrote. "Today’s usage of the DevOps methodology is at 74 percent (aside complementary methodologies) with enterprise wide adoption of 24 percent and project (or multiple project) adoption at 42 percent, according to the Upskilling 2020: Enterprise DevOps Skills Report."
"The number one challenge facing DevOps is the finding and attracting skilled DevOps people. 58 percent of respondents said that finding skilled individuals is a huge challenge, whereas 48 percent say the retention of skilled DevOps individuals is a challenge," says Oehrlich.
No matter where you stand in the ongoing DevOps engineer debate, both Choksi and Oehrlich have advice for what to look for in the people leading DevOps in your organization:
"DevOps engineers should focus on problem-solving skills and on their ability to increase efficiency, save time, and automate manual processes – and above all, to care about those who use their deliverables.," says Choksi. "The future-proofed engineer is able to work across teams and functions – not only within IT but across the business. They are able to leverage specialists and incorporate the optimal frameworks and methodologies that deliver value at the speed of the competitive environment with the quality required by customers."
"The title of DevOps engineer describes a different way of engineering," says Oerhlich. "While there are core foundational responsibilities for a DevOps Engineer (coding, scripting, re-engineering, automating, collaboration, and communicating) the role itself is an engineering role. Engineering is about innovation, with creativity being a basic human trait that drives the development of new technologies and new products, processes, or services. The combination of the words of 'DevOps' and 'engineer' puts forth that the future is about innovation around how development and operations is done together: The title 'DevOps engineer' highlights that spirit."
[ How can automation free up more staff time for innovation? Get the free eBook: Managing IT with Automation. ]
Editor's note: This article was originally published in August 2019 and has been updated.
Subscribe to our weekly newsletter.
Keep up with the latest advice and insights from CIOs and IT leaders.