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

Organizing And You: Lessons from Labor History

    I made a joke on Twitter a while ago: Do I need to post the Thomas M Comeau Organizing Principles again? https://t.co/QQIrJ9Sd3i — Jerome Comeau says Defund The Police (@Heronymus) July 15, 2021 and it recently came back up because a member of my family got their first union job and was like "every job should be offering these sorts of benefits" and so I went ahead and wrote down what I remember of what my dad told me. My father had many jobs, but his profession was basically a labor union organizer, and he talked a lot about the bedrock foundation items needed to be serious about organizing collective action. Here's what I remember.    The Thomas M. Comeau Principles of Organizing -- a fundamental list for finding and building worker solidarity from 50 years of Union Involvement. This list is not ranked; all of the principles stated herein are coequal in their importance. Numbering is a rhetorical choice, not a valuation. 1) Be good at your job. Even in an at-will

Activision, Blizzard, Game development, IT, and my personal role in all of that.

 I'm pretty sure if you spend any sort of time at all on Twitter and/or spend any sort of time playing videogames, you are by now at least aware of the lawsuit brought forth by the State of California's Department of Fair Employment and Housing versus Activision Blizzard, Inc., et al. From this point on, I'll add a Content Warning for folks who are sensitive about sexual assault, suicide, and discrimination based on sex, gender, and skin color, as well as crude humor around and about sexual assault , and what the State of California refers to as "a pervasive 'frat boy' culture" around Act/Bliz, especially in the World of Warcraft-associated departments.   Just reading the complaint is hard rowing, even with the clinical legalese in place. The complaint itself is relatively short; 29 pages laying out ten Causes of Action (basically, "these are the legs on which our lawsuit stands"). I'm not sure I have the vocabulary to properly express how a

Money and Happiness as a fungible resource

Money really does buy happiness. Anyone who tells you differently has a vested interest in keeping you poor, unhappy, or both. I know this because I grew up on the ragged edge of poor, and then backed my way into a career in IT, which is where the modern world keeps all the money that isn't in Finance. So I am one of the extreme minority of Generation X that actually had an adulthood that was markedly more financially stable than my parents. And let me tell you: money really does buy happiness. To be clear: at 45 years old, I'm now in a relationship and a period of my life where our household is effectively double-income, no kids. I live in the city, but I own a house, and can only afford to do that because of our combined income. We also have two cars -- one new, one used (though neither of them is getting driven very much these days) -- and we have a small discretionary budget every month for things like videogames, books, and the like. What my brother used to call DAM -- Dic