ラバーダックデバッグ【rubber duck debugging】

「ラバーダック」とは、ゴムやポリ塩化ビニルなど柔軟な防水素材で作られたアヒルの玩具で、英語圏では子どもが入浴時に浮かべて遊ぶ定番の玩具として知られている。ラバーダックデバッグでは、この玩具を手元に置き、コードの各処理について目的や入力、出力を一つずつ言葉にして説明していく。黙って画面を見つめているだけでは見落としていた前提条件の誤りや処理手順の抜け、変数の扱いの不整合などが、説明の過程で明らかになることがある。
対象は必ずしもラバーダックである必要はなく、ぬいぐるみやフィギュア、アクリルスタンドなど手近な無生物であれば何でもよいとされる。聞き手から助言や反応を得ることが目的ではなく、説明を言語化・外化する行為そのものが思考を整理し、認知的な効果をもたらすとされる。すぐに相談できる相手がいない状況でも一人で実践できる。
この考え方の背景には、考えが行き詰まったとき他者に説明しているうちに自力で解決策を思いつくという経験則がある。ラバーダックデバッグはその「聞き手」は人間である必要はなく、無生物でも一定の効果が期待できるとする考え方である。日本語で「壁打ち」と呼ばれる思考整理法にも通じる。
この名称は、1999年に刊行されたアンディ・ハント(Andy Hunt)氏とデイビッド・トーマス(David Thomas)氏の共著『The Pragmatic Programmer』(邦題:達人プログラマー)に由来するとされる。同書では、ラバーダックを持ち歩きコードを一行ずつ説明しながら問題を調査する開発者の逸話が紹介され、これが広まった。現在ではソフトウェア開発の現場や教育の場でも用いられる手法となっている。
(2026.6.30更新)