Here’s a question I get asked often: Is it Agile and DevOps? Or is it Agile vs. DevOps? You’ll find that the answer changes from person-to-person and day-to-day. The truth is, Agile and DevOps can be apples and oranges in some scenarios, and two peas in a pod in others; they each serve a specific function that can either work together hand-in-hand or operate individually.
Understand yet? OK, let’s simplify—how does Agile compare to DevOps, and what are their respective functions?
Think of Agile like a coin: On one side, you have the mindset, or the “BE,” if you will. It is the brainpower behind the action, as explained by the values and principles set forth by the Agile Manifesto. On the other side of this coin—the “DO” side—Agile defines the varieties of process frameworks and role definitions in which to accomplish the “BE.” These are the governing tools that allow the “BE” to be enacted effectively. Without the “BE,” the “DO” is rarely effective.
According to the Agile Manifesto, Agile is defined by the following four values and 12 principles:
So, now that we’ve covered what Agile is, what is it not? Contrary to a widely held belief, Agile is not just Scrum, Kanban or any other specific development framework. While it’s true that these frameworks do complement Agile, Agile is a standalone concept. In the same vein, Agile involves more than just building a product backlog for a development team; it is an entire mindset shift that is meant to reshape the way that a team—which can be from any department, not just IT or web development—produces work.
It’s also not just the literary definition of agile, which is the ability to move quickly or easily. While Agile does emphasize producing quality work faster, it’s only one facet of a much larger work strategy.
Unlike Agile, there is no defined methodology, framework or manifesto—and likely, there never will be. Instead, the priority lies in the order: people, then process, then tools. And, depending on different models, this can be accomplished in a number of different ways. But whichever method is chosen, the outcome must support minimal disruption and optimize the communication between the development and operations teams.
DevOps follows three key “ways” and three specific focus areas to help teams deliver software in the most reliable way possible:
The Three Key Ways
The Three Focus Areas
A common misconception is that DevOps is dependent on other development methodologies—such as Agile, XP or Waterfall—to be effective. But the truth is, it can be effective on its own because it carries its own culture and ways to accomplish software delivery; it doesn’t require a framework or methodology to deliver like Agile does. Each of the previously mentioned frameworks will feed into DevOps to reinforce an ecosystem of reliable software delivery.
DevOps is also not just about prioritizing speed or creating a software delivery pipeline—it’s about establishing a reliable order that leads to consistent, quality software delivery.
Most practitioners will find themselves working primarily with either Agile or DevOps depending on their backgrounds. And, over the years—given the dogmas attached to each of these—clients are finding it harder and harder to understand how these two can work together.
Stay tuned for our next blog, where I’ll explain how DevOps and agile can work together to provide a seamless software creation and delivery process, while providing excellent quality code and more reliable deliveries to customers.
Want to learn more about DevOps and agile, and what they can do for your company? Contact us!
Contact us to share the challenges you’re facing and learn more about the solutions we offer to help you achieve your goals. Our job is to solve your problems with expertly crafted software solutions and real world training.
For a better experience on the web, please upgrade to a modern browser.