ラバーダッキング法とは?悩みや問題解決に効果的な実践方法をご紹介!
thum__rubberducking_01
ラバーダッキング法とは?悩みや問題解決に効果的な実践方法をご紹介!
アンドエンジニア編集部
2024.02.13
この記事でわかること
1.ラバーダッキングは、無生物に対して問題点や疑問点を投げかけること
2.言語化することによって自己解決能力や論理的思考能力が身に付く
3.ラバーダッキングを実践するには、問題を言葉にする・細かく分析する・結果を共有することが重要

ラバーダッキングとは

img_rubberducking_01

問題解決手法の1つに、「ラバーダッキング」というものがあります。IT用語的にいうと「ラバーダック・デバッグ」とも呼びます。ラバーダックはゴム製のアヒルの玩具で、幼児がお風呂に浮かべて遊ぶ姿を見たことがあると思いますが、あのアヒルの玩具です。そんなものが問題解決にどう役立つのか信じられない方もいますよね。

ここでは、ラバーダッキング法を活用した問題解決方法について紹介していきます。

具体的にはなにをするのか

やり方は非常にシンプルです。

・机の上など、目につくところにラバーダックを置きます。(ラバーダックが入手できなければ、小さなマスコットキャラクターでも可)

・現在、頭を悩ませていることをラバーダックに向かって、声を出しながら話します。

ただこれだけのことですが、声に出して悩みを説明する過程で、「何について悩んでいるのか」「その解決策は何か」ということが次第に見えてきます。

なぜ今ラバーダッキング?

IT系のエンジニアなら、誰もがプログラムのデバッギングで悩まされた経験があるはずです。自信を持ってコーディングしたプログラムが仕様書の通りに動かない、予想と違った結果を示す、そうした時に私たちは頭を抱えてしまいます。なぜなら、自分の作成したプログラムが正しいという認識があるから、それと正反対の結果に混乱し、悩むのです。

バグの原因は分かってしまうと大抵は単純なミスなのですが、プログラミングをした本人にとっては疑心暗鬼の罠にはまってしまい、解決の糸口が見つからなくなることがあります。ITは急速に発展し、アジャイル開発手法の浸透によってシステム開発のハードルが随分下がりました。中にはAI技術を用いた開発も登場し、初期の頃と比べるとシステム開発は効率化されています。

しかし、プログラマーやシステムエンジニアの頭脳や思考に依存する部分は決して小さくはありません。AIは与えられたことは正確に実行しますが、発想やアイデアは苦手です。発想やアイデアまでAIにやらせようという動きはあっても、最終的な判断はやはり人間です。

その人間が悩みを抱いた時、それを解決できるのは最終的には本人しかいません。ラバーダッキングは何とも前時代的なアナログな問題解決手法ですが、意外にも大きな効果が確認されています。AIの時代だからこそ、ラバーダッキングが必要とされるのかもしれません。

心理学の世界でもよく知られている問題解決方法

ラバーダッキングによる効果は、心理学的にも広く知られています。悩みや疑問を言語化することで、どういった部分を改善しなければならないかが明確になっていきます。さらに、問題を具体的にまとめることができるため、自分がどうしたかったのかがクリアに分かり、早期解決や自己解決能力が向上します。

ぬいぐるみやフィギュアを使用することも

ラバーダッキングは、必ずしもラバーダックを使用しなければならないという決まりはありません。中には、クマのぬいぐるみや人型のフィギュアを使用するケースも多く見られます。あくまでも問題解決がメインなためラバーダッキングの対象は自由です。自分の好みに合わせて、1番しっくりくるアイテムを選びましょう。

AIプログラマーとは?その年収や市場性について解説!

ラバーダッキング法のメリット4つ

img_rubberducking_02

アヒルの玩具に話しかけるという大変シンプルな問題解決法の「ラバーダッキング」ですが、そのメリットを改めて確認しておきましょう。問題解決に役立つという以外に、副次効果を含めて次のようなメリットがあります。元手要らず・手間要らず・便利なラバーダッキング法をぜひ試してみてください。

悩みを自己解決できる

元々はプログラミングのバグ潰しに活用された「ラバーダック・デバッグ」ですが、あらゆる問題の解決に有効であることが実証されており、問題解決手法としても注目されています。人間は悩む動物と言われ、どんな人も悩みはあり、なかなか解決に至らず人を苦しめます。しかし、ラバーダッキング法を用いると、意外に簡単に悩みを解決できることがあります。

例えば、「お金がない」という悩みを抱えていたとしましょう。これをラバーダッキングで言葉に整理していくと、「いくらあれば悩みを解決できるのか」「いつからお金がないと悩むようになったのか」「なぜお金がないと感じるのか」「収入が少ない?」「支出が多い?」「支出を減らす方法は?」というように、問題点や課題を書き出していきます。

そうすると、収入は増えていないのに支出が増えているなどがハッキリし、支出が増えた原因が携帯電話料金の増加にあると分かります。解決策としては、「格安スマホに切り替える」という案に至ります。これは簡単な1例ですが、悩みを言葉に表し、詳細を調べ、文字にしていくことで解決策が見えてくるということです。

このようにラバーダッキングはプライベートでも大いに役立つ問題解決法です。

悩みを話すときに気を使わなくて済む

友人や同僚に悩みを打ち明ける際、相手の都合や自分の都合を合わせて日時をセッティングする必要がありますが、ラバーダッキング法だとその必要がありません。相手の時間を消費することへの罪悪感や「こんなこと言って迷惑かな」などの不安感に襲われる必要もありません。

自分とラバーダックのみの空間で、悩みや問題を遠慮なく吐き出すことができます。その結果、疑問点が細かく言語化されることで早期解決につながります。

論理的思考が身に付く

ITエンジニアは、ITによって課題達成や問題解決を図る役割を担います。その活動においては「論理的思考」(ロジカルシンキング)が欠かせません。論理的思考は複雑な物事を体系的に整理して、結論までの筋道を矛盾なく分かりやすくする思考法です。それはとくに問題解決を必要とする場面で力を発揮します。

ラバーダッキングではこの論理的思考が身に付き、問題解決能力が高まります。ITエンジニアにとっては、うってつけの手法です。

コミュニケーション能力を高める

論理的思考が身についてくると、交渉や説明を必要とする場面においてその威力を発揮できます。論理的思考はプレゼン力を高め、提案力を向上させます。自ら問題を言葉にし、それを自ら理解するという反復が、「伝える力」と「聴く力」すなわちコミュニケーション能力を高めます。

ラバーダッキングを実践する

img_rubberducking_03

プログラマーの世界では「ラバーダック・デバッグ」と言われるデバッグ法があり、これがラバーダッキング法の始まりと言われています。プログラマーは、相対的に自分の中で物事を解決する傾向があるそうです。プログラミングは基本的に1人で行い、単体テストやデバッグの業務も1人です。自力で解決できなくなった時に、ラバーダックを利用するというのは理解できます。

これから、ラバーダッキングをベースにした問題解決の手順について解説していきます。これはプログラミングだけではなく、システム開発の随所でも利用でき、個人的な悩みの解決にも役立つでしょう。ぜひ参考にしてください。

1.問題を言葉にする

ITエンジニアには独り言の多い方をよく見かけますが、彼らは思考を言葉にすることで、答えを見出しているのかもしれません。ラバーダッキングの第1歩は、問題を言葉で表すことです。

ラバーダックがあれば、それに話しかけるのが良いですが、話しかける対象がなければ独り言でも構いません。紙に書きだしても構いません。書くのが苦手なら、パソコンの画面に向かってWordなどで打ち込んでも構いません。言葉に出さず、自分の頭の中で話そうとすると、思考が堂々巡りしやすくなります。とにかく外に出すことを意識し、言葉としてアウトプットしてください。

独り言が恥ずかしければ、スマホで電話をしているフリをしながら録音アプリで記録する方法もおすすめです。これだけで簡単に問題が解決してしまうこともあります。

2.詳細を明らかにする

では、次に問題点の整理をしましょう。それはいつ、どこで起きたのか?どのような経緯でその問題に至ったのか?その問題を放置したら何が起きるのか?その影響はどれくらいなのか?などを5W1H(When・Where・Who・What・How)で書き記します。できるだけ第三者に分かりやすく説明するように、平易に書いてください。

それが技術的な問題なら、問題が起きた日時・デバイス・OS・ブラウザ・利用言語など克明に書き出します。また、記したことは重要度や時系列など、できるだけ分かりやすい順番に並べてください。

3.あるべき形は何か?

問題点とは、「あるべき姿と現実」とのギャップです。現実や現状を克明に表しても、「あるべき姿」が分からなければ、問題点が明らかになりません。「あるべき姿=ゴール」を明確に把握することが問題解決には欠かせません。仕様書を充分に読み込まず、誤った仕様の認識でプログラミングをしてしまい、プログラムがうまく動作しないと悩む人がいます。

そんな時は、まずはゴールの正しい姿が何かを改めて確認することが必要です。また併せて、望ましい解決策を示してください。問題点が浮き彫りになると、複数の解決法が候補として上がってきますが、採用してはならない解決法もあります。

例えば、プログラムのバグによって異常にメモリーを消費し、プログラムの動きが悪くなった時に「メモリー増設」という解決策を選択することがあります。これは問題に対する対症療法であって、根本的な解決にはなりません。このように、採用すべきではない解決法は混乱を避けるためにも最初から除外しておくことです。

4.自分で調べる

問題点が明らかになったら、まずは解決策を自分で調べましょう。第三者の助けを借りるのはそれからです。「あるべき姿=ゴール」が明らかで、現在起きている問題の詳細が分かれば、大抵の場合は自力で解決できます。今はインターネットで検索してみると、自分が抱えた問題の解決法が示されていることが多いため、案外簡単に答えがみつかるかもしれません。

5.結果を共有する

自分が抱えた問題や、その解決法がどうしても見つからなければ、ネットのQ&Aサイトなどに投稿してみるのも良いでしょう。この投稿にはかなり準備が必要で、あいまいな質問はスルーされるか、質問が不明瞭で回答不能と指摘されるかもしれません。誰もが理解できるよう問題点を整理してから投稿する必要があります。

誰でも分かるように問題の整理ができたら、自ずと答えが見つかることもあります。問題が解決した時は、それらを整理してぜひ共有してください。上司や仲間で共有しても構いませんし、インターネットの関連フォーラムなどに投稿するのもよいでしょう。そうすることで、あなたが得た知恵が多くの人の手助けになります。

ラバーダッキング法を活用して問題を解決しよう

img_rubberducking_04

ITエンジニアは成長する上で、常に新たな技術を身に付けるという宿命を負っています。スキルアップ、キャリアアップを目指す上で、さまざまな資格試験に挑戦し続けなければなりません。「学生の頃よりもはるかに勉強させられている」と感じるエンジニアにとって、実はラバーダッキングは勉強を効率的、効果的に行うために大変役に立ちます。

勉強しながら分かりにくい点を言葉にし、文字に記し、それを調べて答えを付記します。言葉にする・書き留めるという動作は記憶の定着に大きな効果を及ぼします。恐らく、皆さんは学生の頃からこれを無意識にしてきたことでしょう。

言葉にする時には、「誰かに説明する」イメージで声に出してみてください。このイメトレが記憶の定着に絶大な効果を発揮するはずです。ラバーダッキング法は多くのメリットがあるので、ぜひ試してみてください。

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT