アヒルちゃんと話して解決?ラバーダック・デバッグ法を解説

記事更新日: 2021/09/19

ライター: ナガヤン

ハローエンジニア!あなたはアヒルのおもちゃに話しかける人を見たことはありますか?

 

ソフトウェア開発をしていたら、何をやるべきか行き詰ってしまっているのに、相談できる上司や同僚がいない!

なんてときにおススメしたいのが、「ラバーダックデバッグ」という方法です。

 

ラバーダックデバッグは、ソフトウェア開発において、自力で課題解決をするための手法です。

エンジニア以外の方でも、ビジネスやプライベートで有効な手法なので、ぜひこの機会に知っておきましょう!

 

ラバーダックデバッグとは

ラバーダックデバッグとは、行き詰った問題をゴム製のアヒルちゃんに説明することで、問題の解決策を見つけ出す手法です。

英語では「Rubber duck debugging」といい、直訳すると「ラバーダックデバッグ法」。通称として「ラバーダッキング」とも呼ばれます。

この手法は書籍「達人プログラマー」(原題「The Pragmatic Programmer」)で紹介されたことで、多くのITエンジニアが知ることとなりました。

完了できない、納期に間に合わない、壊れているといった理由を誰かに報告する前に、いったん立ち止まって自分自身の言い分に耳を傾けてください。ディスプレイの上に置かれているゴム製のアヒルちゃんでも猫でも構わないので、まず話しかけてみてください

引用元:アンドリュー・ハント, デイブ・トーマス 村上雅章(訳)(2016). 達人プログラマー 職人から名匠への道 オーム社

実際には、アヒルちゃんに説明しなくとも、上司や同僚に説明した場合も同様の効果があります。

アヒルちゃんや猫に説明するのは、それが解決の銀の弾丸なのではなく、まずは自分で解決する方法を試すという意味合いになります。

なぜアヒルちゃんに説明するとデバッグ効果があるのか

上司や同僚などに課題を説明するとき、あなたはどのように説明するでしょうか?

おそらく、自分の知っている情報をかみ砕いて相手にわかるように説明するでしょう。なぜなら、あなたの知っていることを相手が知らない可能性があるからです。

アヒルちゃんに話しかけるときも同様で、アヒルちゃんが理解できるよう丁寧な説明をします。

 

アヒルちゃんに説明する際に意識すべきポイントは、次の4点です。

  • いま何に困っているのか(課題の説明)
  • 具体的にはどういった状況で起きているのか(状況の説明)
  • それは最終的にどうなってほしいのか(ゴールの説明)
  • そのために何を試したのか(試行錯誤の説明)

 

この4点を意識して説明すると、前提の抜けや解釈のズレ、見落としていたミス、試していなかった手法などに気づくことができます。

つまり、ラバーダッキングの最大の効果は思考の整理なのです。

解決しなかった場合でも、ここで整理された情報をもとに質問すれば、上司や同僚も快く協力してくれることでしょう。

 

もしかしたら、やったことない方はバカバカしいと感じるかもしれません。ですが、「人工知能の父」とも呼ばれる数学者アラン・チューリングでも、講義の前には内容をテディベアに説明してから臨んだと言われています。

「きいてアロエリーナ♪」と悩みをアロエに話しかけるCMがありましたが、あれもラバーダッキングの一種ですね。

完全に余談ですが、CM曲「きいてアロエリーナ きいてマルゲリータ」の作曲者は、ゲーム「MOTHER」「MOTHER2 ギーグの逆襲」のBGM作曲を担当した鈴木慶一さんです。

Twitterで見るラバーダッキング

具体的な事例として、Twitterにおけるラバーダッキングの話題を集めてみました。

ラバーダッキングって言うんだ

 

 

ラバーダッキングを試してみた

 

 

「社畜ちゃん」のラバーダッキング

 

 

まとめ

ラバーダッキングは、ソフトウェア開発において思考の整理をする手法です。

ビジネス分野やプライベートであっても有効なメソッドですので、エンジニア以外の方でも知っていて損はありません。

もしあなたの同僚が、ぬいぐるみやフィギュアをデスクの上に飾っていたら、ラバーダッキングのためかも・・・?

この記事を書いたライター

ナガヤン

著者プロフィール

こんにちは、SEライターのナガヤンです!
サーチバンクをご覧いただき、ありがとうございます。

サーチバンクでは、エンジニア中心のメンバーで、私たちだからこそできる、べんりで楽しくなる情報を発信していきます!

これからの働き方を考えるメディア「JobTier」にて、対談記事を書いていただきました!

この記事に関連するラベル

ページトップへ