DevOps is Different Things to Different People
Sometimes, it seems like the worst term to come out the DevOps movement was "DevOps". After all these years, it still seems to have different meanings to different people. Case in point, an absolutely wonderful post recently from Jeff Knupp: How DevOps is Killing the Developer. If you haven't already done so, give it a read.
In the article, Mr. Knupp provides what I personally thought was a pretty good definition of what "DevOps" is (or was?):
"DevOps" is meant to denote a close collaboration and cross-pollination between what were previously purely development roles, purely operations roles, and purely QA roles.
One comment in particular that stood out for me was this one:
I think that this misses the point a bit. DevOps is more about automating the release/QA/ops process than it is about getting developers to actually spend most of their time *doing* release/QA/ops things.
Which was followed up with:
That's the "new" meaning. Author is correct in that the original aim was to bring both sides (Ops and Devs) together.
This one is from the Hacker News comments:
It's about more than just "unix duct tape". It's about 'Infrastructure as Code', treating servers like programming objects. It's about using configuration management tools like Chef and Puppet instead of writing bash scripts which only work on one system.
I've been following a lot of the folks initially involved in the DevOps movement and I must say that I missed the shift in focus of DevOps from a philosophy that all too often stressed that it was not so much about automation and tooling to a movement that seems to be more about automation and tooling and less about "dev" and "ops".
On The Hierachy of Usefulness
An interesting thing happened in the original article: A lot of good points were raised (which might not have done a good job drawing a line between DevOps and the perils of 'Full Stack Development') and then comes "The Totem Pole" section:
...but there is a hierarchy of usefulness of technology roles in an organization. Developer is at the top, followed by sysadmin and DBA. QA teams, "operations" people, release coordinators and the like are at the bottom of the totem pole.
A number of thoughts came to mind after reading this. First and foremost was my perception of the DBA reaction: "Aww...isn't that adorable? 'Developer is at the top...'!" This was then followed by my sympathy for the Security and Network folks at this organization who didn't seem to make it into the "Hierarchy of Usefulness", (unless, of course, they're being lumped into the '"operations" people' bucket). I don't think I'd have used a totem pole analogy because this hierarchy seems more pyramid shaped and, well, 'hierarchical' but I digress.
All in all, a fun post to read. I can't say I agree with everything posted in it but it certainly did a good job in starting a discussion.