Have you ever been asked about the difference between the terms “agile” and “DevOps” – or heard someone use the terms interchangeably, as if they’re one and the same? It’s one of those tech term debates. (Some CIOs even tell us they refuse to use the term DevOps; that it’s wonky.)
“DevOps is a natural extension of Agile,” says Melanie Achard, DevOps SME at SolarWinds. “Some say DevOps ‘began’ when teams started extending Agile principles to the infrastructure, and more specifically, to systems administration.”
Indeed, Agile and DevOps have a shared past. That leads to some lingering misunderstandings about the terms.
Whether you’re trying to help others understand the difference or you could use a reboot yourself, we asked Achard to refresh the history of Agile and DevOps and the various principles and practices they share. Then we’ll make sure we understand the fundamental differences between the two – because they’re not actually the same thing.
[ Is “DevOps engineer” a useful title? Read The great “DevOps engineer” title debate. ]
What Agile and DevOps have in common
While some Agile principles can be traced way back in time, the advent of the modern methodology is commonly attributed to the 2001 publication of the Manifesto for Agile Software Development.
As the title indicates, Agile was at first preeminently concerned with development – and that’s it. Achard notes that as teams essentially realized “hey, this stuff works!”, they decided to extend Agile principles elsewhere.
“The success of Agile resulted in organizations releasing software more quickly, which initiated extending Agile to system administrators and adopting tools and processes to support ‘Agile Systems Administration,’” Achard says. “The shift from focusing Agile on developers to systems administrators began at the Agile conference in 2008, with [Patrick] Debois and [Andrew] Schafer, and picked up steam [from there].”
The discussion between Debois and Schafer at that conference is typically credited as the birthplace of the term DevOps as a more comprehensive set of principles and practices that also included IT infrastructure, not just development.
“The [subsequent] discussions focused on the finger-pointing between development and operations teams during deployments, and how this pain point was repeated even more frequently with continuous delivery: ‘There is nothing wrong with my code – it’s your machine,’” Achard says.
The tools and processes born out of this shift, such as release automation, continuous integration, and continuous delivery tools, are now paramount to DevOps, Achard adds.
As their shared DNA suggests, Agile and DevOps have plenty in common. “If you look at the principles of Agile and compare them to DevOps, they are remarkably similar,” Achard says. Here’s how she outlines their common traits:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
- Continual feedback loop – Build, test, release, monitor, plan
How Agile and DevOps differ
This does not mean, however, that Agile and DevOps are the same thing. DevOps doesn’t inherently “replace” Agile simply because it arrived later.
“First, let’s make sure that we don’t position Agile and DevOps as incompatible frameworks,” says Jerry Gamblin, principal security engineer at Kenna Security. “In fact, when used correctly, they can serve complementary roles and make even the largest organization work as smoothly as the lean startup everyone imagines.”
The fundamental difference between the two, according to Achard, is scope.
Agile is a fad. DevOps is a fad on top of a fad.