DevOps purists will tell you that you are not doing DevOps unless you are implementing full continuous deployment. On the theoretical level, this has always rankled me because DevOps is a practice that is based on LEAN theory, which is really focused on continuous improvement. So, wouldn’t a DevOps purist be focused on continuous improvement rather than reaching some “endpoint”? In other words, it’s not about the destination, it’s about the journey.
But, I didn’t think that a theoretical argument really mattered. It wasn’t until my colleague Maya Ber Lerner and I had the opportunity to speak at a couple of DevOps conferences this summer that we realized why the DevOps purist argument is so dangerous. At each conference, we were besieged (in one case, an audience member grabbed my shoulders and shook me while saying “thank you”) by participants after speaking because we talked about why continuous testing is so difficult and why so many companies struggle with, and may never really achieve continuous deployment. It was as if people were just happy to hear SOMEONE telling it like it is, and still encouraging them to continue with their journey toward DevOps. In addition, the speakers who were the most popular were from companies that everyone believes have achieved DevOps nirvana – like Facebook and Netflix. These speakers were talking about DevOps as their journey and in every single case, they talked about their continuing efforts to improve their processes, even after 5 years or more of working on DevOps.
So, the idea that you can’t be doing DevOps unless you are implementing perfect automation from the first line of code to deployment into production is just plain wrong. Every company needs to deliver software faster – and every company is a software company nowadays – so they all need to work on DevOps. But any step forward toward DevOps practices and automation will result in improved speed of delivery. And the next step will result in more speed of delivery.
So, DevOps purists be damned, let’s all just get started with DevOps. Because the journey will never end and it doesn’t have to.