Is DevOps a replacement for Agile?
I saw a picture that hinted that DevOps was a substitute or successor for Agile. This made me consider the question “Is DevOps a replacement for Agile?”. It had a chart that represented time from left to right, and suggested that Agile was “waterfall with shorter iterations” and that DevOps was “agile with even shorter iterations”. Here is a re-creation of the original chart.
The problem I have with this is that it doesn’t fairly picture what both Agile and DevOps have been moving towards: continuous everything. Since Continuous Integration became a thing, software development teams have been looking to turn the dial up to ten across the entire lifecycle. Hopefully this already hints at my conclusion to the original question.
So, my problem with the chart is that it makes things look like shorter versions of the same thing. (As an aside, the article that accompanied the chart did read differently to the chart itself.) I worked at a financial company a long time ago that basically made their waterfall process fit that chart. Based on Royce’s original concepts you can shorten documents by investing in small increments. When the increments are small enough, you can drop entire parts of the waterfall process.
But the way I have been installing Agile into teams doesn’t look like that. It has been congruent with the Agile Manifesto and principles, and draws a great deal from Extreme Programming (XP). What is so special about XP compared to other methods? It looks for technical practices that reduce the lifetime cost of software, and then dials them up to ten.
This is fundamental, because while the tools, architectures, and practices evolve over time; the task of finding the ones that squash the cost curve and then applying them lots still applies.
DevOps is really an evolution of Agile and of Extreme Programming. Bringing the role of operations into the team is part of building a truly cross-functional self-organising team. Finding things that reduce the cost curve for software when they are done more is Extreme Programming.
In fact, both Agile and DevOps can best be shown with this updated chart.
This better reflects the continuous everything mindset that really makes things so effective. If you want evidence on the impact of this approach, pick up a copy of Accelerate.