コンピューター・プログラマーが、プログラミングにおける「問題解決」の方法として、「ラバー・ダック」を使うという。
この方法は「ラバー・ダック・デバッグ(Rubber Duck Debugging)」という。
「ラバー・ダック」は、ラバー・ダックである。
ゴムでつくられたアヒルの玩具である。
巨大なラバー・ダックがメディアを騒がすこともあり、いつだったか、ここ香港にも巨大なラバー・ダックが「寄港」していた時期がある。
小型のものは、お風呂に浮かべて遊ぶ、あのラバー・ダックである。
「デバッグ」とは、コンピューター・プログラムにおけるミスを見つけて、修正を施すこと。
だから、言葉通りには、「アヒルの玩具を使ったコンピューター・プログラムの修正」である。
さて、どのように、アヒルの玩具を使うのか。
コンピューター・プログラムのコードを、玩具のアヒルに向かって説明するのだという。
コードをラインごとに。
玩具のアヒルに向かって。
この説明のプロセスにおいて、解決策を思いついたりするのだという。
玩具のアヒルである必要はなく、「他者」であればよいようだけれど、プログラミングの著作のひとつが方法を紹介することで、「ラバー・ダック・デバッグ」が知られるようになったようだ。
Wikipediaにおいても、しっかりとページがつくられている(*Wikipedia「Rubber Duck Debugging」。ただし、日本語がない)。
ぼくが、この方法を知ったのは、ダニエル・ピンク(Daniel Pink)の動画からだ。
「Pinkcast」と呼ばれるダニエル・ピンクのヒント動画シリーズのなかで、取り上げられたのだ。
その回は「How a Simple Bath Toy Can Solve Your Toughest Problems」(いかにして、シンプルなお風呂の玩具があなたのもっともタフな問題を解決することができるか)と題されている(*動画はこちらから。英語。89秒の動画である)。
ダニエル・ピンクは、プログラマーでもなんでもなく、以前はホワイト・ハウスでの勤務経験もある作家である。
書籍は日本語訳されており、『モチベーション3.0』や『人を動かす、新たな3原則』などがここ最近は出されている。
そのダニエル・ピンクが、「どんな仕事にも適用できる方法」として適用範囲をひろげて、この「ラバー・ダック・デバッグ」の方法を紹介している。
ダニエル・ピンクの経験が重ねられて、「効果」があることが説明される。
ぼくたちは、友人や同僚などに、言葉で説明をしているうちに、相手が一言も話さなくても、じぶんで「答え」を得たりすることがある。
相手として、コンサルタントやコーチということもあるだろう。
その相手が、「玩具のアヒル」である。
能動的に説明をするプロセスで、考えが整理されたり、その隙間からヒントが出たり、言葉と感情の照らし合わせをしたり、ぼくたちの「内面」ではいろいろな作業が進行する。
だから、これ自体が新しいことではない。
しかし、相手が玩具のアヒルだということ、実際に使われていること、そして実際に効果が出ていることに、感銘を受ける。
ひとりでもできるし、また「玩具のアヒル」はリラックス効果を発揮するのかもしれない。
ぼくは、頭の中で考えたり、書きながら考えを構築していく。
そこで、問題解決の糸口をさぐったりする。
まだ「ラバー・ダック・デバッグ」を本格的には実践していないけれど、当面、試してみようと思う。
でも、「ラバー・ダック」ではなく、代わりのもので。
いや、やはり、多くの人をひきつけてやまない「ラバー・ダック」には、特別なプラスアルファの効果があるのだろうか。