Requirements are like Ogres

If ever I think I know everything I spend a little time talking to my eight year old daughter.

She’s very good at asking questions I can’t answer, or at least have to think hard about. The thinking hard bit is important because she cuts through bullshit quickly. When she was five and her mother had been sending her to Sunday School, out of the blue one day she asked me:

“If God made us, and God loves us, why would God let us get sick?”

What would you have said?  My first impulse was “ask your mother” but that has limited effectiveness.  My eventual answer was some lame variation of “what doesn’t kill us makes us stronger” but I squeaked by.

When she asks me about my work I give her real answers and frame them in a way that makes sense to her.  It’s good practice for explaining IT concepts to management types.  She’s smarter than most of the managers I have to deal with but I figure if I can explain something clearly to her I only have to dumb it down a little bit more for managers. 

Recently she wanted to know if everyone who worked with computers was a programmer.

“No,” I responded. “I’m not, I’m a Business Analyst.”

“Do you know how to program computers?”

“Not really, no.”

“And it’s the programmers who make the computer work?”

“Basically, yes.”

“So why do programmers need you?”

“That’s what they keep saying to me.”

“I’m serious Daddy, what do you do?”

“I write the business requirements. I work with the programmers to make sure the computer ends up doing the right thing.”

“Does that mean you’re in charge?”

“I wish. First, I talk to the people in charge about what they want. I work out what their requirements are, that’s why we call it business requirements.”

“Don’t they know what they want?”

“Not always.”

“That’s silly, everyone knows what they want.”

“Not always. And people aren’t always good at explaining to someone else what they want. How about if I told you I wanted you to buy me a car, what car would you get me?”

“Ummm, a Smart car, they’re cute.”

“That’s too small for me.”

“Then I’ll get you a 4WD.”

“That’s too big and slow. I want something faster.”

“I’ll get you a Porsche.”

“I don’t have enough money for that.”

“Well, what sort of car will I get you?”

“See, now you’re asking me about my requirements. I want a Volkswagen Passat.”

“OK, I’ll get you that.”

“What colour did you get me?”

“Red.”

“I don’t want red, I want black.”

“Why didn’t you say so?”

“You didn’t ask.”

“Is this what you have to do all day?”

“Pretty much, yeah.”

“No wonder you’re angry all the time.”

“I AM NOT ANGRY ALL THE TIME!”  

This conversation was slipping beyond my control quickly.  I decided to try a different approach.  This past school holidays we’d seen Shrek 3 which had led to watching Shrek 1 & 2 on DVD again.  I decided to explain requirement gathering in relation to Shrek.

“See, this is what I have to do – ask the right questions. The programmer is like the car dealer, they can get you whatever car you want. All you have to do is be clear about what you need you car to be able to do.  Usually you have to start by asking big questions and work your way through layers of detail. 

“It’s like in Shrek, when Shrek said ogres are like onions because they have layers.  Requirements have layers and I have to pull them off one layer at a time to get to the middle. Then I know what to tell the programmers.”
“So the people you work with are like onions?”

“I guess.”

“Do they stink?” Gotta love 8 year old humour.

“That’s a bit harsh.”

“Do they make you cry?”

“Sometimes I come close. Usually they make me want to scream.”

“So they really are like an ogre? They’re scary!”

Sometimes they are very scary. And I know I don’t want to find one of them under my bed.
 

23 Comments

Filed under Work

23 responses to “Requirements are like Ogres

  1. Jonas

    Hmmm, I know this. Hasn’t this been published before?
    Google says I’m wrong, but it’s too big a deja vu to be real.

  2. Vladimir

    >“If God made us, and God loves us, why would God let us get sick?”

    >What would you have said?
    Hmm…. “Nobody even knows if there’s any God, and whether he loves as, and whether he made us, so there’s neither a way to know, nor a reason to think about why would he blah-blah-blah…” Though, I may want to add something like “you better not to tell that to anyone, because there are so many moronic hypocrites out there….”🙂

  3. Bugs are also like Ogres, sometimes you peel away the big visible symptom only to find more subtle problems underneath…

    Also, I’ve found out why your styling’s all gone for me. Your stylesheet’s hosted on a server which is filtered by work as “social”. Goodness knows why only some of wordpress is filtered.

  4. Jonas: You have a good memory. I did a post a little while ago where I said I’d be repeating some older posts.

    Vlad: That would have scored me a punh in the head from her mum.

    Massif: Yeah, WordPress is ALL about work, what are they thinking?

  5. shadowshian

    i cant wait to finish my education though i prolly wind up specializing in networks and programming. i can allready imagine my self screaming to some poor employee “do that once more i will shove that keyboard so far up your ass that you will shit it out one key at the time!!” ah dont you love “evil” administrators

  6. JCMay

    To Mr. Angry–
    Don’t you just love it when your kids start asking about original sin, or anything that they’ve come across that they’re really not ready, either emotionally or intellectually, to handle? I try to make answers that my little girl will understand, but there’s not much reasoning power in a two-and-a-half year old🙂

    It’s kinda like trying to reason with some of the people I deal with at work!

  7. So are requirements like onions or like ogres? And which one do you cut up and put in your pasta?

  8. Okay… you know I’m *SO NOT* a kid person but THAT conversation was damn precious!!! Dude, your daughter rocks!!!

    “No wonder you are angry all the time” …bwa..ha..ha.ha!!! She nailed it on the head! 😀

    How about cake? Cake has layers. Mr. Angry has layers… I’ve never met nobody who said “Hell NO I don’t want no damn Mr. Angry.” heh..heh..heh.!

  9. I heartily approve of your daughter and her questions.

    I wonder if it would help to make managers who want something irrational have to convince a young kid of their ‘need’ for something before they could have it.

  10. shadow: awesome invective – I can see you will be a force to be reckoned with.

    LCMay: I find my daughter far easy to reason with than my cow-orkers. She seems far more intelligent and responsive to logic.

    Michelle: Requirements are like onions. User are like ogres.

    cinkitty: trust me, even “non-kid” people like my kids🙂

    Robert: I think you have hit on the next great management trend. Quick, write the book now: “How to convince an 8 year old that your company isn’t crap.”

  11. Pingback: Top Posts « WordPress.com

  12. My son asked me about hell. He understood heaven, but wasn’t sure about hell.

    I simply explained it was like France, but the people were nicer.

    I so look forward to when he’s eight and asks more complex questions, like your daughter.

  13. Great article… my 6-year old is getting close at doing that too. I sometimes wonder if I will start asking her how I should do things with the insight she sometimes has….

  14. “The programmer is like the car dealer…” Now that’s just mean! Now if you had said “the consultant is like the car dealer” you’d be a bit more accurate. Overcharging people for things they don’t even want to begin with make me want a cigarette. (Actually, a cigar, but whatever.) Though, I try to refrain from yelling “who’s your daddy” in the office.

  15. Goat Soup: France jokes never get old😀

    Chris: I find kids are often unclouded by the personal doubts it takes us years to cultivate. Their advice is often quite good.

    Brian: You’re reading too much into it😉

  16. Very funny… I love kids – just couldn’t eat a whole one!

  17. Pingback: www.ondska.se » Blog Archive » Håll käften eller dö.

  18. If everybody knew what they wanted, the entire practice of psychiatry would be virtually obsolete. Plus, we wouldn’t have the joy of something to be perturbed about. Then, we would lack quirky, cathartic words like “kvetch,” and I just couldn’t bear to part with them.

  19. Borba Spinotti

    Great post, Mr Angry. My child is still only three months old, so I’ve got some time to prepare for those difficult questions. But come to think of it, perhaps when he’s eight I can explain the requirements issue in terms of his pre-toddlerhood. Picture a user with strong feelings about what they want, but with a vocabulary limited to the utterances “I want!” and “Aargh!” Voila, the semantic battlefield/minefield into which business analysts are born.

    Okay, so your story struck a chord on another level. Having recently started a developer job at a new company, I continually find myself wishing I could ask those eight-year-old questions about The Way Things Are…

  20. Borba: look forward to a year or two from now when “NO!” becomes the main part of their vocabulary. Much like a lot of management people.

  21. Borba Spinotti

    If we try and understand management in terms of an infant’s limited API, this gets interesting. I have empirically determined that my son loves REST but not SOAP, so that particular technology choice should be an easy management sell.

  22. hahahah I love nerd humour!

  23. Medivh

    This is awesome. I teach basic software engineering principles to poor twisted uni students who haven’t had a chance to get bitter yet.

    I hope you don’t mind if I… erm, borrow…? from your genius in order to educate the fools🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s