DevOps in plain english

What DevOps Isn't

Anyone who's talked with me for five minutes knows I'm passionate about people abusing and misappropriating the word "DevOps". The worst of which is the proliferation of DevOps job titles. DevOps is a concept, an idea to be applied to a problem, and I'll stop laughing at "DevOps Engineer" when I have peers with the job title "Senior Object Oriented Programmer" and we report to the "Economies of Scale Manager".

The Only "Tool" in DevOps is the Person Who Calls Themselves "Director of DevOps"

--Nathan Harvey

What DevOps Is

While anyone who's talked with me for more than five minutes knows that I'm passionate about what DevOps is not, I'm not great at explaining what it is.

I run through idioms about developers throwing stuff over a wall, Japanese proverbs in broken english, lamenting about sysadmins who can't program, and summarizing DevOps' manifesto "The Phoenix Project"... poorly, yammering about how long pottery takes to bake in a kiln.

If you've somehow made it long enough for me to start quoting Deming, I've already confused you long before I get to the point.

Jonathan Blow continues to be much more eloquent than me: DevOps is a cost-benefit analysis on software development operations.

That's all DevOps is.

All the old examples still apply. I've worked with teams that avoiding continuous integration because they didn't have unit tests, which is fine, but this kept deployments largely a manual process and forced a development team to own more than their fair share of operations.

I'll still hold in my heart that DevOps is the understanding that the work I do will be consumed by someone else. Software development is a team sport, and any corners you cut will be picked up by someone else.

DevOps had the power to be revolutionary because that "someone else" often fell to a person in QA because of regressions unit testing would have caught, or creating build manager roles, not because of ownership and responsibility, but due to dependency inversion of libraries, or the on-call rotation that was hours too long because error states weren't documented.