Can you explain what you do to a rubber duck?

rubber-duck.png

Many people have the experience of being stuck on a problem, or finding that they have to explain what they know or have done to someone else.

You might face this when trying to create some software, work on a business process, repair a leaky pipe or when you’re trying to explain what you do during a sale.

So how can you make this easier to do?

One approach explained in the book “The Pragmatic Programmer: From Journeyman to Master”, by Andrew Hunt and David Thomas is rubber duck debugging.

The method is simple:

  1. Get a rubber duck.
  2. Tell the rubber duck that you need a minute of its time.
  3. Explain to the duck what you’re trying to achieve and then go over your code or problem in detail, line by line.

Somewhere during this process, you’ll realize that what you’re explaining to the duck is not what you are actually doing – and this leads you in the direction of a solution.

Alternatively, as you explain the problem to the duck, the solution will pop into your mind and you will know what to do next to resolve the situation.

It’s quite important, it seems, to talk out loud to the duck. It’s the process of explanation and thinking out loud that gets your mind to loosen up and allows solutions to tumble out.

Of course, you could ask someone else. The only thing is that if it’s someone who knows what they are doing and you haven’t taken the time to formulate your question well, you’ll look stupid and they’ll feel like you’re wasting their time.

You could also ask a co-worker, but the main advantage of a duck is that it sits there, doesn’t talk back to you or judge you or suggest that it has a better solution and is much smarter than you are.

If this approach seems a little silly to you, perhaps you need to consider what it actually makes you do and how it helps you do better work.

  1. Your brain has to stop and switch tracks – from doing something to explaining what you are doing.
  2. You need to slow down – you can’t assume the duck already knows what you know and cannot take things for granted.
  3. You have to go line by line through your program or process, focusing on the details that you might be tempted to otherwise overlook.
  4. It forces you to try and work through and answer your problem or situation yourself, engaging your brain, before asking someone else.

Of course, the duck’s powers are limited. If you have talked to the duck and are still stuck, you should go and talk to a colleague or someone who might know more than you about the problem.

The chances are that you will come up with a much better question for them this time around.

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