Settings

Theme

Rubber Duck Problem Solving

codinghorror.com

71 points by kpanghmc 14 years ago · 10 comments

Reader

Bo102010 14 years ago

After reading Ridiculous Fish's version of this (http://ridiculousfish.com/blog/posts/The-app-that-was-fixed-...), I use a mental version of Dr. House.

It's worked out a couple of times... "How can the process have failed when the logs indicate success?" "Everybody lies." "Oh, so maybe the log is written at some point before the process actually finishes?" "Treat with steroids."

cafard 14 years ago

I've been the duck.

Years ago when I was doing tech support a fellow on Long Island would call up and start explaining his problem--at a rate of speech that made me get out of breath listening. Usually, about 3 minutes into the call he'd arrive at the answer that had been occurring to me, thank me, and hang up.

phear_the_ceal 14 years ago

I sometimes do this while writing an essay. I simply imagine I'm talking to someone about the topic and when something good comes out of my mouth I write it down.

pmr_ 14 years ago

I remember reading the term for the first time in The Pragmatic Programmer by Hunt and Thomas. They give the experiences of one of the authors as the origin of the term, but I would really be interested where the term was used the first time. Personally, I'm sticking with the technique ever since. Although I've never managed to use it in an office environment with other people. I don't know if this is caused by the environment or if it simply feels too awkward to me.

  • jeffclark 14 years ago

    When I'm working in a coffee shop or library or whatever, I do the same thing, but in an empty email.

    Just writing out what I'm trying to do in a hypothetical email to someone who has no knowledge of the problem usually unties the knots in my brain.

  • rmgraham 14 years ago

    In an office environment any co-worker can be a rubber duck for you. Of course, if all you can find are people who are knowledgeable about what you're working on, you may not need a rubber duck.

    • steverb 14 years ago

      Please don't do this. If you can figure out the solution by explaining the problem to someone else, then you've just wasted the time of your co-workers.

      At least take the time to sit down and write up a detailed explanation of the problem first. Do your due diligence before consuming the time of another developer.

dazbradbury 14 years ago

I know a number of project managers who read Jeff Atwood's blog intently. I really hope they don't go out and buy stuffed animals and put them in meeting rooms so people can ask the animal questions. Unfortunately, I think some will.

The theory is definitely sound, but simply saying "phrase your question in an email to me, making sure to be detailed" should suffice. Talking to stuffed animals is probably unnecessary!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection