vege - Fotolia
Given the fast, responsive nature of both models, agile works well within the DevOps equation. But what about DevOps vs. waterfall? Not all businesses use the agile process to build software, so is it possible to effectively execute DevOps and waterfall in the context of their culture?
The short answer is no, because “effectively” was the operative word in that question. While it's possible to use DevOps tools to optimize processes in either development or operations – through automation, for example – the waterfall approach will ultimately stymie any journey to full DevOps optimization. No matter how quickly devs finish the build, with a waterfall approach, they'll still have to wait until the next release cycle to actually deliver it to users. Similarly, the operations team can streamline the deployment and delivery of code, but they'll be left tapping their feet if they have to wait for devs to make it through the months of testing that the waterfall approach demands.
Therein is the benefit of agile over waterfall in this context, which allows for shorter cycles and, ultimately, faster delivery. That's why, as we discussed in a previous post, DevOps is essentially an evolution of agile: it builds upon the accelerated business value that agile brings to the table by knocking down barriers between teams to further improve the process as a whole.
You can attempt DevOps in a waterfall world, but it's not a good idea; there's no value being gained from a DevOps waterfall model, from optimizing just the parts over the whole. When the optimization exists in silos and the software development and delivery process is reliant upon hand-offs, teams won’t be on the same page. And if teams aren't working together closely enough to ensure that they're moving forward at roughly the same pace, this effectively undermines any of the benefits that DevOps could offer the enterprise.