Leave your process-related problems to a rubber duck
Imagine that you are at work and you’re faced with a problem which you think you cannot solve, and all your colleagues are too busy to help out. Does this situation sound familiar? Have you ever tried asking for help from a rubber duck? If you haven’t, you should probably take a page out of an IT specialist’s book, as they use this method quite often.
The ‘Rubber Duck Debugging’ is an autonomous problem-solving technique, mentioned by authors Andrew Hunt and David Thomas in their book, The Pragmatic Programmer: From Journeyman to Master. The term refers to the way in which a programmer explains his code-related problems to a rubber duck. This process has the following steps:
- A rubber duck should be procured. It does not matter whether you bought, borrowed or made it. The idea is to have one.
- The little toy should be placed on your desk and you can begin talking to it, whenever you identify a problem.
- Once you’ve laid out the introduction, proceed to explain the problem without skipping any details.
- By the end of your explanation, you should have had a chance to rethink things and your duck will still be there, should you need it for further counseling.
While this may seem like a mere joke – and to a certain degree, the duck part is more or less for fun, there’s some truth to this. The point of this process is to force the user to rethink their approach and explain it to someone, who hasn’t the faintest, what their challenge entails.
By compelling yourself to break down the issue at hand in its simplest of forms, the inherent logic is that you will find what’s causing you to hit a rut.
- It helps clarify your thoughts
When you start talking aloud or writing about your problems, you drive yourself to sequence all of the information you’re thinking about, which may enable you to gain new insight into your issues. This may also give you a better overall perspective over the matter.
- You may discover hidden correlations
This technique is most effective when you assume that your listener has little knowledge of your field or problem. When the other person has no familiarity with the topic, you start explaining everything in great detail, in order to give them a better understanding over the entire matter.
By describing the basics and then building up the concepts, your understanding of the subject deepens as well. You immediately start thinking about what you already know, because you are focused on helping the other party understand the topic.
The bottom line
While many of us were warned by our parents, while growing up, to not talk to ourselves or our toys, as this may come off as peculiar, it would seem that in many industries, the day-to-day reality of things is changing old customs and worldviews.
This doesn’t mean you should go out of your way to cease talking to other people; simply put, if you don’t have someone to talk to and you’re in a rut, a rubber duck may come in handy:
- It will never interrupt you, no matter what you are saying, and it will not break your thought flow
- It will not mind the fact that you are always complaining to it
- These cute yellow friends don’t talk to others, so there is no danger of gossip
- They are always there for you when you need them
It is a fact that programmers are usually very good at solving problems, therefore it shouldn’t come as a surprise that they invented and put into practice a useful & funny way to figure out solutions. With that in mind, the ‘Rubber Duck Debugging’ technique could be useful not only in the field of IT, but in other functional areas as well.
By having a little yellow friend at your side, you will be able to work independently more often, and you will not have to rely on your co-workers that much. You will end up finding out that you know much more than you had thought. So, are you ready to obtain your own rubber duck?