Friday, August 20, 2010

How Feminism and Software Development are alike

So, in follow-up to Flora's post (thanks for both the kind words and thoughtful remarks, yo), some parts of that post started to fall over a little bit, at least in retrospect. Not so much in the underlying message, but in how the message was conveyed and therefore perceived.

Not just here, but several places around the sphere o' blog, there is the recurring theme that basically breaks down to I've never been repressed, and I'm not that worried about it. I said basically – this is a general concept, not stenography (and I’m a little annoyed that this needs to be said, but it does).

Anyway … it's good that people exist that haven't experienced the kind of hurt that others have. It gives me hope that the universe will not fall into asshat-ish entropy. Nevertheless, there are those that will tell you that they are marginalized by the tyranny of the mob, and it's for them that we feel compelled to represent.

You know the rules, and so do I

Let’s switch venues for a moment.

As I have been going about my business at work recently, I have been dealing with mayhem. Our entire department has been turned on its ear. After years of having QA under development’s thumb, our VP finally saw the light and made us an independent entity once again. Now we begin the work of rebuilding, and one thing that we’re rebuilding is The Rules. Or, in our lingo, the Process.

QA (as opposed to testing) is by and large a process-oriented entity. We have a road map onto which every software feature is templated, and part of our job is to ensure that all the little bits in that template are completed. The source code is cleanly implemented on one branch, which no strays on the ‘base’ branch. The code does not conflict with others’ work. Final testing is done on a recently refreshed code branch. Deployment has been analyzed. And so forth. The point being, there is a path that is taken.

Now here’s the kicker: we shouldn’t have to be be doing this. By which I mean, all of the 'process' things we oversee and verify and enforce are things that are already in our best practices 'bible', and they should be doing by default. It’s the Right Thing To Do.

In this way, I see parallels with the whole idea of feminism, and similar efforts, in our society; most people that “violate the rules” in this regard know they are doing so, know it is wrong, and are doing it anyway. Why? Because nobody is calling them on it.

Give them an inch …

Back to my job.

Over the years we have had to implement all these checks and balances in our internal process because as time goes by, the technical managers become less strict in enforcement of “the rules”; an engineer will discover he can get away with final testing on a stale branch, and next time his expectation will be that he can do it again. He will become quite perturbed if someone actually opposes it. He will assert that nobody objected last time, and therefore he doesn’t understand why they are this  time. (Which, by the way, is a lie. He knows, but he’s being disingenuous about it. See last article on my affection for this strategy).

(Incidentally, this isn’t a “just suppose”. This is a real-life case study from my pathetic life. :) )

So, when we (QA) reassert the goodness of the process (the “rules”) onto this bunch of people, we get backlash, and lots of it. We become the bad guys to them, because they’ve just gotten used to being sloppy and resent that we want to put an end to that.

So, by way of analogy, a lot of the time you will see confusion and anger from people in real life or in-game when they’re called on bad behavior towards those of other race, gender, or orientation. They create an environment that those “others” are uncomfortable in, but those “others” are told that, since they are in the minority, they need to suck it up and just deal with it.

Is it really that bad?

At work, I have the 'process' to fall back on in this situation. We educate, we guide, we provide positive feedback where we can. We operate from the position that the developers we are watching over aren't bad, per se, but merely temporarily confused. Those that aren't, tend to convince themselves that they're too uber for us and ends up working for the competition :)

Now here's where the analogy gets shaky.

In a game where sexism and bigotry and prejudice can exist so openly, is it merely because the players don't know any better, or because they actually are that awful in reality?

In my work situation, even when QA was under development's thumb, we weren't treated unfairly, generally, but just ignored, which is one form of marginalization, and probably the least malevolent.

In game, the equivalent situation can often turn out to be people with some sort of real power (e.g. raid leaders, guild masters, guild officers, etc) being the source of said marginalization, and that case it ends up with real (as real as a video game can get) consequences, such as no invites to raid, no access to guild resources, and so forth.

How does the approach of inform, guide, and positive feedback work in this situation, from a position of (dare I say it?) weakness?  (Oy, he said it!)

Honestly, I don't know. My standard approach right now is that if I don't like the environment, I leave. But my ambitions are few, and I have too small a stake in staying. I haven't faced the stress of being trapped between the ability to raid, or not to raid, versus rewarding bad behavior or not.

It was my turn once, though

Back once more to the well that is and was my job. There was a time, as I said, when the inmates ruled the asylum, and QA was reduced to "just test the damned thing and tell me I'm a genius!" rather than actually contributing to the quality of the software.

I quit.

I left the company, and found one in which QA was a major part of the development cycle.  For the most part I was happy, but I kept thinking back to my old job, and what a damned shame it was that good people were being ground up by this high-powered frustration engine.

But then I got a phone call, from my old QA manager, who was still there and just as frustrated as before. But he wanted me back, working for him, with the intended result of making things better.

And we did, but that's not the point.

The point is, had he not known that I felt the same as he did about the situation, I may have missed out on an opportunity to do something that to me is really meaningful.

And that's where we are

I believe that all of the posting on the topic that has taken place in the past two or so weeks has been very useful in the same way. Every now and then the word needs to get out.

No, you're not alone.

No, you don't have to just sit back and take it.

Yes, you're a person too, and your feelings matter as much as anyone's.

If you were all alone and never heard a peep about how other people felt your situation was bad, you might just quit playing, or shrivel up into a gaming zombie, or something.

But if even one person gets the message that he or she doesn't have to take this kind of crap, and takes positive action, it's a win.