I wish I could remember the young lady’s name. She was from a European DevOps tooling and consulting firm and she did an interview with me at one of the TechWell Star conferences. I believe it was StarWest at the end of 2016.
She was interviewing speakers to get their take on the implications of DevOps in agile, testing, and across software methodologies.
I recall vividly that she referred to DevOps as an evolutionary step beyond “agile” in nearly in every question she asked. And I told her I struggled with that idea. She was also very automation centric and extremely tools centric in her questions – referencing and emphasizing various DevOps oriented tools at every opportunity.
It’s not that I was defending agile. It’s that I have a very different view to DevOps and what it means than I was hearing from my interviewer. And I continued to explain and amplify my view in nearly every answer.
At the end of the interview, I felt that she understood my point of view. And that she had rationalized it against her own to create a more cohesive mental model for DevOps. I asked her to send me the link to the final interview, but to-date, I haven’t heard back.
And I continue to get questions during my coaching and consulting around DevOps, so I was inspired to write this post as a means of sharing my views.
How do I view DevOps?
First, it’s not about the tools. Or having a tool-first mindset. The fact that so many interesting, powerful, useful tools are thought of in the DevOps discussions, only muddies the waters. At its heart, DevOps is NOT a tools play.
Second, it’s not only about testing or more specifically test automation. Of course, automation at all levels plays a strong part in DevOps. But again, it’s NOT an automation play.
So, what is it then Bob?
At its core, DevOps is a mindset shift. Have you heard of the notion of “shift left” or shift-left thinking? I consider the heart of DevOps to surround this mindset.
In an agile team context, the team considers operational readiness and operational robustness in everything they do. They design with it in mind. The develop with it in mind. They test with it in mind. And they deploy with it in mind.
They are continuously considering, worrying about, and factoring in operations (DevOps) in everything the team does. Everything!
Essentially, we’re shifting left on testing and operational considerations to the earliest possible moments within an iterative delivery model.
Why?
So that we’re creating more robust solutions to our customer or client challenges. Solutions that avoid the rework cycle and delays associated with considering testing and operations too late in the lifecycle.
So, what about automation & tools?
Given my perspective, of course, automation and tooling play an incredibly important part in enabling DevOps. But they are NOT DevOps in and of themselves. The power and impact are in the mindset.
Wrapping Up
Coming back to my interviewer. Do I consider DevOps to be an evolutionary step for agile? The answer is truly, no.
Remember, a fundamental part of agility is a laser focus on continuous improvement. So, the shift-left thinking around software testing and now operations are a healthy improvement in agile approaches. But they are not separate from the agile mindset. They are instead, a central part of it.
Stay agile my friends,
Bob.