The method is simple: Talk to the duck. Explain to the duck. Discuss with the duck. Don’t throw the duck.
By discussing and breaking down whatever challenge you are toiling over, you’ll likely figure out the solution. Describing what your code is supposed to do and then talking through what it actually does and why, the differences should become apparent and will likely guide you to the problem you need to solve.
Once you identify the problem, describing your approach to solving it out loud (and simply enough that a duck could understand) typically forces you to think through your approach thoroughly and in-depth, often guiding yourself right into a successful solution.
At CAPSHER we really encourage our team to get out of their offices and talk to each other, to lean on the expertise and experience of the people around them to work through challenges, learn and grow. In a pinch, or early on in the problem-solving process, rubber ducks are great!
There is real psychology behind the practice of Rubber Duck Debugging. Breaking down your situation and describing it to an inanimate, unintelligent object will guide you into a new perspective and fresh thinking.
The idea of consulting an outsider to try and work your way through challenges is nothing new. The rubber duck itself, well, we’re not quite sure how it became the mascot for this practice, but it works!
When you’re deep into programming mode, or worse, deep into programming mode AND frustrated, it can be difficult to break out of the way you’ve been planning and thinking about accomplishing your goals. Simply put, getting out of your own head can help you get into position to think through your challenge more efficiently and effectively.
Be the Outsider
Consider your challenge from an outsider’s perspective. Fresh eyes and fresh ears lend a new take on what you’re encountering. Breaking out of your current thinking frees you up to take a new approach, or ten.
Listen to Your Own Problem
Hear your problem from the listener’s point of view, and really listen. While you’re describing it to the duck, get specific and explain everything. Chances are you’ll uncover something to tip yourself off, and pave the way for busting through whatever is blocking your progress.
Explain How You Got Where You Are
Typically, there are a lot of assumptions and design decisions that were made in creating what you’ve got now. Explain it to the duck, and walk that path again, maybe you’ll identify something to reconsider or reevaluate. Often, you’ll guide yourself right into a fix.