Skip to main content

DevOps as a critical investigation of our fucked up business culture

I was having dinner with a friend the other night, and we were talking about a bunch of things, including the state of the current culture of the Technology Industry, which is where we all work... me, my friend, my spouse, most of my social circle, etc. And we were talking about definitions and the corporate tendency to take interesting philosophies and turn them into undifferentiated pablum designed to keep labour fighting amongst themselves. Take, for instance, "Agile". It started, I understand, as a philosophy to help developers work together better as teams instead of a mass of individuals, as the modern codebase has for the most part moved beyond the idea of the artisanal coder, carefully banging away at his (almost always his) codeforge to craft the perfect piece of individual bespoke software for the discerning, carefully chosen consumer-slash-patron. As software development turned into a team sport, and the experience of coding became an assembly line function, the question was "how do we convince rabid individualists to work better together at a fundamentally creative process?" So the idea was to use this concept of Agile: light, nimble, heavily-communicated, careful processes that encouraged folks to work as teams and keep each other in the loop about what was working, what wasn't, and what they could do about it to get stuff out the door. There are a ton of tools that can be used to facilitate Agile methodologies, but the actual tools aren't nearly as important as everyone understanding the philosophy.

Of course, as is usual, the people who make the money and the people that have MBAs and the people who run the companies as a profit center for shareholders often don't understand (or can't be bothered to understand) this philosophy; it doesn't have anything to do with them (they think) and also their bottom line is "what shipped, when, and how much can we charge for it", not "are the people who do the work cooperating with each other to be creative in a way that minimizes difficulties and maximizes creative opportunities". Which often leads to the teams that are utilizing Agile methodologies to try and sum up the concepts in a 5 minute recap as part of a 30 minute meeting, and one-sheet recap emails, and "executive summaries" and then we end up with people who use "Agile" as a verb, and now Agile doesn't actually mean anything, it's just another buzzword to be tossed around during sales pitches and recruiting calls. And there are lots of people making moderate amounts of money by writing books and giving seminars and doing corporate training gigs on "how do to Agile" which is fine, I guess, if you can't be bothered to take it to heart and build the tools that help your team work best, because the philosophy and methodology is more important than the specific tools. "Agile: where the stories are made up and the points don't matter" isn't just a funny line; it's both a disappointment AND a core tenet of the methodology (and yes, both can be true, because the point of view on that core tenet is what matters). Context matters.

And that brings us to the Next Big Thing in labor cost reduction productivity: DevOps. This is a great one, because it sounds sexy and it's a portmanteau (and IT loves portmanteaus) and from the corporate perspective it means whatever they want it to mean, especially if it means "we don't have to hire those pesky Ops people because they're expensive and annoying and notoriously difficult when it comes to releasing the Big Feature Rollout". You are already paying for the developer's time, and a hefty amount too, so now you can just add them to the pager rotation and have them do support functionality, because labor costs are fixed and work hours are infinite. The thing is, that's not what DevOps is about.

My understanding (having worked in IT for a couple of decades) is that DevOps, like Agile, is a philosophy, rather than a concrete item. DevOps doesn't mean that all your coders should be sysadmins and all your sysadmins should be coders, and if you think that you're going to be perpetually disappointed in both. DevOps means that everyone in your organization has an understanding: that software must be developed in a way that is easy to support and maintain (especially in a degraded or failed state), and that deployment of software is a key step in the lifecycle of the success of a company. DevOps means a breakdown of the mythical wall between departments, and an understanding that that wall was always imaginary anyway -- that the teams working together are stronger and better off than the teams working against each other. It's not actually a new concept; the operational and development team being colocated in the same physical space (and sometimes the same physical body) goes back to the invention of mechanical computing and the work that Admiral Hopper did with the original thinking machines. The "tiger team" concept at NASA in the 60s was a definitive example of the DevOps concept. Not everyone has to know the same things or work the same way, but they do have to work together and they must have an understanding of the concepts and capabilities of the team as a whole.

Any organization's first principle after instantiation by default becomes 'secure the continued existence of this organization', or the organization itself fails. And so, sixty years later, we have the cultural mythos of the 10x software engineer deftly whipping up the perfect solutions to any given software problem and then dumping those brilliant lines of code onto the surly, recalcitrant systems administrator who either refuses to make the change, or does the change and somehow fucks it up. (And note, please, that the "creative" work is done by an 'engineer' while the "maintenance" work is done by an 'administrator', and let's not talk about salaries and job titles right now or this will turn into an even longer screed and I'll get distracted by the whole "full stack" thing and we'll be here all night.) But that's almost never how it works, on either end; it's a myth from soup to nuts. In my entire career, I may have known exactly one engineer who would be considered "10x", and he was always, always cognizant of the difficulties of deployment in a live environment. Conversely, I've only ever known one surly sysadmin, and he was so disruptive to the team morale that he didn't make it to his 90-day review.

DevOps, like Agile, is a philosophy. It's not something you can enter on a spreadsheet or write a purchase order for, no matter what the C-level executives would like to believe. It's an understanding that your managers have with their team members and your team has with each other and with the organization as a whole. It's not something that goes on an audit list and gets checked off during the rundown. And the failure of organizations to understand that is both costly and pointless in the long run.

Comments

Popular posts from this blog

The default state of technology is broken.

Score one for DRM making me a pirate. I had bought a blu-ray player for my new computer so I could watch hi-def movies on my entertainment-center projector. Apparently, despite paying extra for the hardware, I needed software to play the blurays. OK, fine, I said, and the person who helped me build the machine downloaded some software that would play the blurays. Then, tonight, I went to watch my copy of Inception, and it played for 4 minutes, at which point the software stopped working and insisted that the bluray disc wasn't valid, unless I ponied up $60 (59.95, 25% off for the new year!) to "upgrade" to the latest, licensed version of the software. So, not only did I have to pay extra for the hardware, and extra for the media, I now have to pay extra for the software. Pardon my language, but FUCK THAT SHIT. So, now I'm working on finding a less-expensive way to watch the movie (well, actually, the extra content) that I ALREADY BOUGHT. I've also uninstalled th

Occasional Media Consumption: Swordheart, by T. Kingfisher.

I'm not sure how to say what I want to say without saying it wrong. I don't think I have been this excited for a new author's work since I was in the rapid process of discovering and then chewing through the back catalog of C.J. Cherryh, who at that point had just published Foreigner and grabbed me by my whiskers and screamed (metaphorically) "Look! Here is an author whose style of prose and choice of character speaks directly and entirely to you!" Or that moment in my high school years when I stumbled upon Melissa Scott's Trouble and Her Friends and I suddenly knew, with a certainty that has still not yet left me, that I wanted to be a part of the future (and the culture) of technology. And yet that's not fair, because T. Kingfisher, nee Ursula Vernon, is her own writer, her own voice, her own authorial person, and doesn't deserve to be compared to others.   To say that Kingfisher's prose style and choice of genre (which is to say, a

What I did on my Spring Vacation -- Day 3, Tuesday

We arose on Tuesday morning quite early, as we needed to get across town from Hollywood to Anaheim. Note on geography in LA:  I have no mental map of anything that has to do with Southern California.  I only know that every time we got in a car, it took two hours to get where we were going.  That was as true of the 100-mile drive on Monday as it was for the 1 mile drive from the hotel to the nearest In N Out on Thursday.  So no idea what that was about. We had tea and coffee with Damon, waiting for Ryan and his friend Megan to arrive, which they did around 7:30.  From there, we said a teary goodbye to Damon and headed out to Disneyland! A note on Disneyland:  I'd never been before.  This was my first trip and I was not exactly expecting anything special.  However, everyone around me (including Jean, Ryan, and our friend Donna) was very excited, so I was ready to be happy but underwhelmed.  Boy, was I wrong. We reached the parking lot just before 9 AM, and there was plenty