Much has been written about what DevOps is: A way for developers and operations managers to collaborate; a set...
of best practices for managing cloud applications; an Agile idea that builds on continuous integration, enabling frequent code releases.
The definition of DevOps covers all of these things and more. But since the term has taken on buzzword status, it may be more interesting to ask not what DevOps is, but what it is not. In this article, SearchSoftwareQuality editor Jennifer Lent asked software professionals exactly that. Here is what they said.
1. DevOps is not a job title
Job site postings suggest otherwise, but DevOps is not a job title, said Agile consultant Scott Ambler. "DevOps manager? I don't know what that is." DevOps shouldn't be a role, he said. "DevOps is about developers understanding the reality of operations, and operations understanding what is involved in development." DevOps, the concept, is an important aspect of software development and delivery, Ambler said. "But the DevOps role is a symptom that the organizations hiring [DevOps managers] don't understand what DevOps is really about. They don't get it yet."
Ambler's take on DevOps flies in face of conventional wisdom. DevOps made SearchCIO.com's list of 10 job titles you are likely to encounter in 2013.
2. DevOps is not a software tool category
DevOps is not about tools, it's about culture, said Patrick Debois in a GOTO Conference presentation titled, DevOps: Fools, Tools and Other Smart Things. Debois, who coined the term "DevOps" and founded a conference known as DevOpsDays, said that tools do play an important role in supporting the DevOps approach to delivering and managing software, but DevOps is not about tools per se.
Ambler said the notion that there are "tools that do DevOps" reflects the current reality: DevOps, the buzzword, is still moving up the hype curve. "Every tool is a DevOps tool," adding that while software vendors continue to push their visions of DevOps, "a lot of the discussion is naïve."
3. DevOps is not about solving an IT problem
Despite its many meanings, DevOps is widely understood as a way to solve an IT problem: enabling development and operations to collaborate on software delivery. But that's not its ultimate objective, said Damon Edwards, a managing partner at IT consultancy DTO Solutions, in Redwood City, Calif. "The whole point of DevOps is to enable your business to react to market forces as quickly, efficiently and reliably as possible. Without the business, there is no other reason for us to be talking about DevOps problems, much less spending any time solving them," Edwards wrote in blog post.
SearchSoftwareQuality expert Kevin Parker said the newest challenge DevOps managers face is all of the attention DevOps gets from the business. "What was once an arcane, elaborate coordination and project management task is now part diplomacy, part guardian -- and a whole lot of innovator."
4. DevOps is not synonymous with continuous integration
DevOps originated in Agile as a way to support the Agile practice of more frequent code releases. But DevOps is more than that, Ambler said. "Just because you are practicing continuous integration, it doesn't mean you are doing DevOps." He sees operations managers as key stakeholders that Agile teams need to work with to release software.
5. DevOps is not … going away
Despite the misconceptions around it, DevOps is here to stay and remains important to successful software delivery. "Whether we call it DevOps or not, change and release management is experiencing [exponential] expansion in importance," Parker said. There is real substance to DevOps, added Ovum analyst Michael Azoff. "Of course, there is hype around DevOps. We are still in the first phase. It's where Agile was a couple of years ago."
Do you agree with these DevOps definitions? Email SearchSoftwareQuality.com editors and let us know what DevOps means and doesn't mean to you.