ハローエンジニア!あなたはアヒルのおもちゃに話しかける人を見たことはありますか?
ソフトウェア開発をしていたら、何をやるべきか行き詰ってしまっているのに、相談できる上司や同僚がいない!
なんてときにおススメしたいのが、「ラバーダックデバッグ」という方法です。
ラバーダックデバッグは、ソフトウェア開発において、自力で課題解決をするための手法です。
エンジニア以外の方でも、ビジネスやプライベートで有効な手法なので、ぜひこの機会に知っておきましょう!
このページの目次
ラバーダックデバッグとは、行き詰った問題をゴム製のアヒルちゃんに説明することで、問題の解決策を見つけ出す手法です。
英語では「Rubber duck debugging」といい、直訳すると「ラバーダックデバッグ法」。通称として「ラバーダッキング」とも呼ばれます。
この手法は書籍「達人プログラマー」(原題「The Pragmatic Programmer」)で紹介されたことで、多くのITエンジニアが知ることとなりました。
完了できない、納期に間に合わない、壊れているといった理由を誰かに報告する前に、いったん立ち止まって自分自身の言い分に耳を傾けてください。ディスプレイの上に置かれているゴム製のアヒルちゃんでも猫でも構わないので、まず話しかけてみてください
引用元:アンドリュー・ハント, デイブ・トーマス 村上雅章(訳)(2016). 達人プログラマー 職人から名匠への道 オーム社
実際には、アヒルちゃんに説明しなくとも、上司や同僚に説明した場合も同様の効果があります。
アヒルちゃんや猫に説明するのは、それが解決の銀の弾丸なのではなく、まずは自分で解決する方法を試すという意味合いになります。
上司や同僚などに課題を説明するとき、あなたはどのように説明するでしょうか?
おそらく、自分の知っている情報をかみ砕いて相手にわかるように説明するでしょう。なぜなら、あなたの知っていることを相手が知らない可能性があるからです。
アヒルちゃんに話しかけるときも同様で、アヒルちゃんが理解できるよう丁寧な説明をします。
アヒルちゃんに説明する際に意識すべきポイントは、次の4点です。
この4点を意識して説明すると、前提の抜けや解釈のズレ、見落としていたミス、試していなかった手法などに気づくことができます。
つまり、ラバーダッキングの最大の効果は思考の整理なのです。
解決しなかった場合でも、ここで整理された情報をもとに質問すれば、上司や同僚も快く協力してくれることでしょう。
もしかしたら、やったことない方はバカバカしいと感じるかもしれません。ですが、「人工知能の父」とも呼ばれる数学者アラン・チューリングでも、講義の前には内容をテディベアに説明してから臨んだと言われています。
「きいてアロエリーナ♪」と悩みをアロエに話しかけるCMがありましたが、あれもラバーダッキングの一種ですね。
完全に余談ですが、CM曲「きいてアロエリーナ きいてマルゲリータ」の作曲者は、ゲーム「MOTHER」「MOTHER2 ギーグの逆襲」のBGM作曲を担当した鈴木慶一さんです。
具体的な事例として、Twitterにおけるラバーダッキングの話題を集めてみました。
行き詰まってるときに誰かに説明すると途中でなぜか自己解決してしまうアレ、ラバーダッキングって言うんだ…。
— なかでい (@nakadeng)April 26, 2021
「ディスプレイの脇に置いたアヒルちゃんに実装した処理を一行ずつ説明する中で実装者自らがバグに気づき、デバグして品質を高める」ラバーダックデバッグっていう手法があるんだけど、絵面だけでも草なのにどうやらマジで効果絶大らしく、もうこんなん大草原不可避だわ。アヒルちゃん買ってこよ。pic.twitter.com/80zqajvdPV
— なかめのくまちゃん (@wgextra)July 5, 2020
物事を考えるときによくラバーダッキング(人形を相手に議論する)するんだけど、この前社内の人にドン引きされたな……ちなみに相談する課題の種類や難易度ごとに相談するぬいぐるみは変えてる
— たかい (@takai_hikui_)August 22, 2021
プロット作業でラバーダックデバック試してみてる(アヒルちゃんに描きたいネタを話しかけながら書き出しています)pic.twitter.com/xwIF7xlxeG
— やしろ醤油 (@yashirosyouyu)July 5, 2020
社畜ちゃん漫画の122話、123話です!٩( 'ω' )و
— ビタワン☃️ (@vitaone_)March 26, 2017
今回はIT業界のあるあるネタ(?)回です!
皆さんは「他人に問題を他人に説明していたら自力で解決策が浮かんだ」みたいな経験はありますか?pic.twitter.com/DmFiPG71kB
社畜ちゃん漫画の最新話です!٩( 'ω' )و
— ビタワン☃️ (@vitaone_)January 10, 2021
ㅤ
社畜ちゃんのピンチに影の実力者、先輩さんがついに動く…!?pic.twitter.com/XR1HUyV7Fg
ラバーダッキングは、ソフトウェア開発において思考の整理をする手法です。
ビジネス分野やプライベートであっても有効なメソッドですので、エンジニア以外の方でも知っていて損はありません。
もしあなたの同僚が、ぬいぐるみやフィギュアをデスクの上に飾っていたら、ラバーダッキングのためかも・・・?