Agile and DevOps: The Definitive Primer
Breaking down two concepts that are rewriting software development.
Agile and DevOps are among the most popular software development methodologies in use today, yet they still cause endless confusion in business circles.
What are agile and DevOps really, and how do they compare and contrast with each another? To find out, we spoke with Kieran Taylor, senior director, product/solutions marketing at CA Technologies, and Christine Hudson, senior principal, product marketing at CA Technologies, about the intersection of these two strategies that are rewriting modern software development.
“Both are customer-centric management models that capture the ideas of lean thinking, and both represent wholly different ways of operating your business,” says Hudson.
But agile and DevOps are not mutually exclusive. Actually the reality is quite the opposite, says Taylor. “They tend to go together—it’s unlikely that organizations will achieve the software delivery speed and effectiveness needed for digital business strategies with just agile methodologies, and DevOps typically isn’t successful without agile. You can’t truly do DevOps without agile.”
For the uninitiated and insiders alike, here’s how to think about agile and DevOps in today’s enterprise context.
“[Agile and DevOps] are customer-centric management models that capture the ideas of lean thinking, and both represent wholly different ways of operating your business.”
— Christine Hudson, senior principal, product marketing, CA Technologies
Got its start with a bang in 2001 with the Agile Manifesto, written by a group of 17 developers looking to dramatically re-engineer software development.
A more recent idea, this experience-based movement began in 2009, and the term was coined as a way to rethink collaboration and bridge the gap between two major groups: development and operations.
Generally Accepted Definition
A cooperative, iterative approach to development—or any problem-solving process—that favors multiple, small, rapid releases over fewer large-scale ones.
Sans a manifesto, DevOps doesn’t have a single, commonly accepted definition, and there is significant disagreement even among proponents about how far it should go. Many apply DevOps strictly at the production level, while others see DevOps as a broad cultural shift throughout the enterprise. Either way, collaboration is key. The goal of DevOps is not to simply make existing work more efficient; it is to reimagine the work itself, finding new ways to deliver more value and exceptional experience to customers faster and more reliably.
As Hudson notes, agile has evolved beyond early ideas about teamwork and now clearly defines a way to run a business. The keys? Embrace change and focus on customer desires and feedback. All this allows agile businesses to provide almost immediate responses to shifting customer demands.
Taylor says DevOps, in its simplest form, works to overcome the inherent conflict between the traditional goals of development (change) and operations (stability) teams and takes steps to resolve them, enabling faster deployment with fewer errors. Both teams should have the same ultimate goals in a DevOps environment, higher quality software delivered more frequently to customers.
There are several: 1) The Sprint system (cyclical periods of rapid production followed by a brief customer review); 2) SAFe® at the enterprise level, a framework for improving metrics like time to market and employee engagement; 3) Scrum, defined by having a cross-functional development team work as a single unit to achieve a major goal (Scrum is agile’s most enduring tactic.); 4) Kanban, a method of visualizing work that limits the amount of work in-process.
Less prescriptive than agile, DevOps implementations tend to differ greatly from organization to organization, and there is no commonly accepted framework. (It has been argued that any notion of a “DevOps framework” misses the point of DevOps entirely.) But DevOps typically combines techniques like test-driven development, build and release automation, and continuous integration, with collaboration, and lean, agile principles.
Who Is Impacted?
Created by developers for developers, agile moves steadily into the broader organization as concepts like visualizing and limiting work and radical transparency and collaboration gain popularity.
Created by IT practitioners for IT practitioners across both development and operations teams, DevOps is also moving into the enterprise driven by the steadily increasing demands of digital business strategies.