Home

Advertisement

Customize

Software Engineering: The Jeopardy Rule

« previous entry | next entry »
Feb. 22nd, 2007 | 11:47 am

"Sorry," says Alex Trebek. "You have to phrase your answer in the form of a question."

"Doh!" goes the contestant.

In the software engineering world, it happens every day.

"Hey," says the user representative, the customer advocate. "I know we're getting close to code freeze, but I just realized we're missing a feature. Mind if I come in?"

"Shoot," says the program manager, in both senses of the word. "What is it?"

"My toddler just learned to walk, you see, and that gave me an idea regarding staircases."

The program manager calls up his most placid expression, and forces himself to say, "Congratulations! Go on."

"Can we invent a special material that, when a person of ordinary adult weight walks on it, behaves identically to a regular staircase; but when a child accidentally falls down the staircase, it becomes a soft, gel-like cushioning substance, so the toddler won't hurt himself, and will land safely at the bottom, or even just get caught halfway? Of course, if the toddler falls face-first, it's important that the substance still allow the child to breathe, so it must pass oxygen; I don't want the kid to suffocate."

There is a button under the program manager's desk. It is labeled "Summon designer. Emergency use only." He reaches down and presses it.

"You see, I just saw this really cool video on Youtube. It was in Portuguese, but I think I got the gist. If you have a mixture of cornstarch and water, you can actually walk on it if you move fast; but if you go slowly, you will sink. I have a sketch here of what it might look like: each step, you see, is a sort of rubber tub of the stuff; and at the top and at the bottom there are doormats where you can wipe your shoes. Underneath there are pressure sensors that will set off an alarm if a child remains on a step for too long."

The lead architect on the software project slips into the room and closes the door behind him. He raises an eyebrow at the program manager.

"We're hearing a suggestion that we replace the staircase with a non-Newtonian fluid that transparently supports the normal adult mode of stair-climbing operations, but in use cases involving a falling child, the staircase becomes a sort of shock-absorbing colloid."

"Right!" gushes the user representative. "I thought that might be a possible design idea for this solution, but I can see that it'll take some incremental R&D. But I'm sure this justifies pushing back the ship date; it's an important feature and will competitively distinguish us in the marketplace!"

"If I make a suggestion, will you promise not to get upset?" asks the architect.

"Yes? You know of a better way? Some sort of high-tech oxygen-bearing fluid, better than cornstarch and water?"

"Well, no, not really," says the architect. His placid face, thinks the program manager, is even better than mine.

"A baby gate. You install it across the top of the staircase, and you keep it shut, so toddlers don't fall down the stairs. The mechanism is childproof."

"Oh," says the user representative. He sags; he looks like a man who just dropped his toothpaste.

The program manager tries to explain. "What you had there was a requirement, disguised as a feature, grasping at a design."

"Next time," says the grizzled architect. "Do try to phrase your feature in the form of a requirement."

Link | Leave a comment | Add to Memories | Tell a Friend

Comments {5}

mengwong

Purl calls this the XY Problem

from: [info]mengwong
date: Feb. 22nd, 2007 09:24 pm (UTC)
Link

16:22 <freeside> purl, xy problem?
16:22 <purl> They ask how to do X, but that's because they really want to do Y but think X will get them there and most of the time they are WRONG (see XY probability) or SEE ALSO xyz problem or TOO MANY GUY GEEKS

Reply | Thread

yDNA d'Oblivion

(no subject)

from: [info]ydna
date: Feb. 22nd, 2007 10:03 pm (UTC)
Link

I wish I could share this with my "user representatives". But I just don't think they'd get it. They'd laugh, sure. Maybe they'd see the humor in it. Then they'd say, "oh, hey. That reminds me, could we..."

I've got to work on my placid face.

Reply | Thread

mdoar

I count three

from: [info]mdoar
date: Feb. 22nd, 2007 10:36 pm (UTC)
Link

> "Shoot," says the program manager, meaning both senses of the word.

I count three senses: faecal; go ahead; and "just shoot me now and get it over with."

Reply | Thread

Scott Ventura

(no subject)

from: [info]tfofurn
date: Mar. 29th, 2007 10:26 pm (UTC)
Link

I was mostly here to thank you for SPF, but now I get to thank you for this, too. Thank you!

Reply | Thread

Jim

(no subject)

from: [info]internet_addict
date: Mar. 31st, 2007 07:35 am (UTC)
Link

Reminds me of a lesson I just learned:

No matter what the time rush is on a project, don't write anything until there's a full spec of what will and won't be in it. Run this spec by a full room of people representing a cross-section of functions to shake out any details not in the spec.

It sucks re-architecting portions of code because there's consensus later that it should behave differently than it does.

Still, this is the most fun I've had at a job in years.

Reply | Thread

Advertisement

Customize