Monday, August 19, 2013

Ask the rubber duck...

Have you ever been moving along on a project and - BAM! - you hit a brick wall of a problem where it isn't obvious to you on how you should handle the problem?

I had that happen last night while I was working on a personal project. I had just read a post on codinghorror.com that mentioned a problem solving technique which involves asking a rubber duck whatever question you might have about a problem before you go to a teammate or boss. The idea is that if you take the time to formulate the question in an understandable way, and ask the question out loud, then you have a good chance of figuring out a solution to your problem by yourself.

I've had numerous times where I will start talking to a teammate about a problem I'm having and the solution will come to me while I'm explaining the issue.  While it is really helpful to be able to talk to a teammate to work through the problem, it is a lot less distracting to others, and much more rewarding, to work through the problem on my own.

I thought it might look a bit awkward if I started talking to inanimate objects at the house with my wife and kids there, so I decided to talk through the problem with my wife instead.  Of course it worked great!  I spent 5 minutes (maybe less) talking about the problem, and the solution came to me.  Next time I think I will go in the garage and talk out the problem.

I've also had similar success when going for walks.  I will specifically not think about the problem at first. About half way through the walk I will start to think about the problem I'm having, and the problem will usually seem a lot less confusing.

In any case, rubber duck or no rubber duck - talking through problems is extremely helpful.  You might look a bit crazy if you start talking to rubber ducks, but at least you will be able to get your work done.


No comments:

Post a Comment