The ideas behind the DevOps movements undeniably changed the software development world for the better - but by now, the term “DevOps” has lost all meaning.
Sometimes an idea is so good, that you can’t argue with it. I’m not saying that the original idea behind “DevOps” was perfect - I’ve written about some of the specific issues I’ve seen. That said, I think there is enough data and research behind the core ideas by now that there are very few companies willing to admit they don’t “do DevOps”. They’re afraid they’ll look like they’re behind the times.
If I were to generalize, I’d say most of the companies I’m picking on fall into one of two categories:
- They believe in DevOps ideas, but they’re unwilling to invest in changing their ways.
- They aren’t convinced that some of the scarier ideas (like deploying multiple times per day) will help after all.
It’s not like DevOps methodologies solved all of the industries’ problems in one fell swoop. However, because the industry as a whole has bought into the mantra, “DevOps good”, I think companies feel that if they aren’t going to “do DevOps”, they need to rebrand the term “DevOps” to mean “what we happen to already do”.
To me, the most egregious example of this is when a company simply changes the job titles of all its ops people. John use to be an “IT Operations” guy, but now he’s a “DevOps Engineer”.
Luckily for me, I now run Boot.dev full-time so I get to put my own ideas into practice. I guess I’ll find out if they are any good after all.
Agile has the same problem
It’s worth mentioning that I think that the “Agile” movement falls into this same category. Generally speaking, I have more criticisms of Agile (and particularly Scrum) than I do of DevOps, but the same goalpost-moving is happening. It can be career suicide, especially as a manager, to admit that you’re against Agile development. I mean, just look at the branding at work:
“I don’t buy into all the ideas behind agile, particularly some of the Scrum-specific ceremonies.
“So you’re saying you’re not an agile team?”
“Well, we’re agile, we just don’t do Agile…”
It doesn’t sound great.
So, again, the pressure is on to find a way you can tell everyone you’re practicing Agile, even if you don’t feel like actually changing the way you do things.
We need better definitions for these terms
Words aren’t super useful if they don’t have clear meanings. I’m not saying I’m the arbiter of truth regarding what “DevOps” or what “Agile” means, but I think as an industry we need to hold each other more accountable when we’re talking about these things.
For example, if your “DevOps” and “developer” teams are completely separate, and your developers don’t understand how or where their code is deployed, it’s pretty clear to me that you haven’t adopted much of what “DevOps” was meant to be.
Admit when you don’t like something
If you take issue with a popular idea, that’s okay! I always love hearing opinions that deviate from the mainstream - especially if they’re well-argued.
For example, I take issue with Scrum. I don’t pretend to like it. I don’t try to redefine Scrum to just mean “the style of Kanban I happen to like”. As a result, I disagree with some people, and that’s okay. On the other hand, the people that do agree with me tend to really like working with me. It’s okay to work with like-minded people!
Admit when you don’t want to invest in something
If you do think an idea is good, but don’t have the money or time to invest in it, again, just admit it! There’s nothing wrong with saying:
“We want to automate our deployment process, but we think it’s going to take awhile and our current project is make-or-break for this company.”
If your reasoning is sound, and you work with good people, you should be able to convince whoever it is you’re talking to. If it’s not, you probably deserve to have your mind changed.