I came across a really great interview of Kurt Bittner, Principal Analyst at Forrester Research by Dana Gardner, Principal Analyst, Interarbor Solutions. It’s a long, in-depth, and worth reading but I wanted to draw attention to a few things in particular Kurt said.

Kurt was asked, what is broken about the software development process that DevOps needs to fix? Agile has been around for the best part of two decades, wasn’t it supposed to fix all our problems?

Bittner explained that Agile is part of the solution, but there are many Agile teams that would like to be more agile. They’re held back by lack of testing environments. They’re held back by lack of testing automation. They’re held back by lack of deployment automation. They, themselves, have lots of barriers.

So, Agile is part of the solution in the sense of involving the business more on a day-to-day basis in the project decision-making. It also provides the ability to break a problem down into smaller increments, and at least demonstrate in smaller increments, but it doesn’t actually deliver into production in smaller increments.

You need to have other capabilities to do that. One illustration which Bittner described of how DevOps helps to accelerate Agile, came from his dealing with a large manufacturing organization that was making the transition to Agile.

This company had a problem in that they weren’t able to get to development or test environments for months. IT operations processes had been set up in a very siloed way. Development and testing environments got low priority when other things were going on.

So, as much as the team wanted to work in an Agile way, they couldn’t get a rapid test environment. In effect, they were completely stopped from any forward progress. There’s only so much you can do on a developer workstation.

This is but one example which illustrates that not only is DevOps necessary but it benefits Agile as well, by enabling Agile to really fully realize the promise that it’s had.

“Continuous delivery is, more precisely, a process by which you make small changes. You optimize the delivery cycle, removing waste and hand-offs to make that as fast as possible with a high degrees of automation, so that you can get out there and get the feedback as quickly as possible. It needs not just fast delivery, but a number of techniques that are used to improve that delivery.”

“It is inevitable, and over the next five years, what we’ll see is that the word (DevOps) itself will probably fade, because it will simply become the way that organizations work.”
- Kurt Bittner, Principal Analyst at Forrester Research