Prosaic Paradise

Campaign for the Mundane

What I Do aka “Getting Software Requirements Right”

Filed under work by at 12:42 pm on Jun 08 2009

I was faced once again last week with trying to explain to someone what it is I do all day at my job. I mean, I can explain it in real terms with details and what-not. But usually people start looking for an excuse to escape within 3 seconds if I do that. Or I can just mention my title, and let people sort of puzzle about that. (It’s “Systems Analyst”.) I wish that made me seem like some kind of woman of mystery, but really it just makes me seem like another nameless cube drone.

Instead I was forming an analogy, a more fun way to visualize what it is I do, tell me if this makes any sense:

Imagine a large gymnasium. At the far end are 120 buckets. The are “their” buckets. Here at the near end are 95 buckets, full of various items. There are “our” buckets. Some have one item, some have a couple of items. In between stands a really smart engineer who has to build a robot that puts all the items from my buckets into their buckets.

Standing near their buckets is a “referee” who is holding a 300 page rule manual for how things should go in their buckets. My job is to read that manual and write directions for the engineer to build the robot that picks up the items and puts them in the proper destination bucket.

Naturally, these buckets aren’t alike. Sometimes the thing in bucket 5 on this end goes in bucket 5 on that end. Sometimes the 3 objects in bucket 85 on this end go in buckets 4, 67, and 113 on their end. Sometimes there are rules that say that if we put something in bucket 24, we also must put things in buckets 110, 111, and 117. We might not have things that go in those buckets and we have to make shit up. Sometimes the items have to be flipped over before going in the other bucket, because there is a precise way it must be oriented. Or the robot has a bucket of paint and it has to paint the things a different color on the way.

This doesn’t seem too bad, really, except that every once in a while, a messenger runs in and hands the referee an updated version of the manual. Or, and this has been particularly painful for me, the manual lies. We go through the long and expensive project to build the robot, and the engineer has moved on to build another robot in another gymnasium, and the referee comes over and says “You were supposed to fill bucket 74. Please fix that.” “But it says we only have to fill that bucket on Tuesdays” “I don’t care, fill it every time.”

And so I call the busy engineer to come back, remove the “Tuesday Only” arm of the robot, and replace it with an “every day” arm. We put all the things in our buckets and try it again and I hold my breath and hope the referee doesn’t call another penalty on me.

Oh, and by the way, the stuff that is in the buckets is essentially people’s money. So, no pressure.

For a long time my boss was trying to get me into a professional class called “Getting Requirements Right”. They kept canceling the class due to lack of signup. Many jokes were made about how until they could hold that class, we would just have to keep getting our requirements wrong. We began to wonder why no one else wanted to get requirements right.

We have now been to the class! But I suspect we will still get them wrong sometimes. Plus – I know plenty of software developers who have to make their own shit up as they go along, since their company is too cheap to get someone to write requirements. So it’s not so bad. (And I don’t have to write code, which I can’t do and perhaps loathe.) It’s just sort of mentally taxing in a way that’s hard to explain to people. Until now, perhaps.

5 Responses to “What I Do aka “Getting Software Requirements Right””

  1. 1 Jenon 08 Jun 2009 at 1:03 pm

    This doesn’t seem too bad, really,

    No, actually, even up to that point it seemed pretty demanding and possibly quite confusing! Thanks for the metaphor. It does help!

    [Reply]

    Kim Reply:

    I guess the theoretical “ease” of the job is that it really is just facts and rules and logic. Everything has hard edges. I guess it’s just the sheer volume of rules, facts, and logic.

    What bowls me over is the stuff the developers think of. They do so much work beyond what our requirements. If I write “If bucket 24 has been filled, then fill buckets 65 and 95 with the items from bucket 33, else do not fill buckets 65 and 95” they do a whole bunch of mystical coding logic that I could never do. And that is a really simple example!

    I maintain my lifelong awe of programmers.

    [Reply]

  2. 2 Jenon 08 Jun 2009 at 1:51 pm

    Oh totally! Programmers and coders are on their whole own level, especially the really good ones. There have been a few times when our lead programmer will go over something with me, step-by-step, in debug mode in visual basic and after a while I’m like, “Uh, I’ll just stay over here making sure people file their timesheets correctly and stuff.”

    [Reply]

  3. 3 Genieon 08 Jun 2009 at 8:58 pm

    I absolutely loathe writing code or troubleshooting products that deal with money because people tend to lose their Goddamn minds over it. It may as well be software to pump hearts for tiny little babies.

    [Reply]

  4. 4 Prosaic Paradise » Girls Rock Camp has ended, long live Girls Rock! DCon 17 Aug 2009 at 10:35 pm

    […] vacation which involved several 10 hour work days that seemed far, far harder than that junk I do sitting at a desk the rest of the […]

Trackback URI | Comments RSS

Leave a Reply