ITエンジニアは問題解決手法「ラバーダッキング法」を身に付けよう
ラバーダッキング
ITエンジニアは問題解決手法「ラバーダッキング法」を身に付けよう
システム開発
アンドエンジニア編集部
2021.03.22
この記事でわかること
1.今、注目の問題解決手法ラバーダッキングの概要とやり方が分かる
2.ラバーダッキングのメリットと活用・応用法が分かる
3.ラバーダッキングを実践することで、論理的思考能力を高めることができる

ラバーダッキングとは

ラバーダッキングとは

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

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

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

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

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

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

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

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

バグの原因は分かってしまうと大抵は単純なミスなのですが、プログラミングをした本人にとっては疑心暗鬼の罠にはまってしまい、解決の糸口が見つからなくなる事があります。

ITは急速に発展し、アジャイル開発手法の浸透によってシステム開発のハードルが随分下がってきました。中にはAI技術を用いた開発も登場し、初期の頃と比べるとシステム開発は効率化されています。

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

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

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

ラバーダッキングの実践

声に出す

プログラマーの世界では「ラバーダック・デバッグ」と言われるデバッグ法があります。これがラバーダッキング法の始まりと言われています。

プログラマーは、相対的に自分の中で物事を解決する傾向があるそうです。プログラミングは基本的に1人で行います。単体テストやデバッグも1人で行います。自分の力で解決できなくなった時に、ラバーダックを利用するというのは理解できます。

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

  1. 問題を言葉にする

ITエンジニアには独り言の多い方をよく見かけますが、彼らは思考を言葉にすることで、答えを見出しているのかもしれません。ラバーダッキングの第一歩は、問題を言葉で表すことです。ラバーダックがあれば、ラバーダックに話しかけるのが良いですが、話しかける対象がなければ独り言でも構いません。紙に書きだしても構いません。書くのが苦手なら、パソコンの画面に向かってWordなどで打ち込んでも構いません。

言葉に出さず、自分の頭の中で話そうとすると、思考が堂々巡りしてしまうことも。とにかく外に出し、言葉としてアプトプットしてください。独り言が恥ずかしければ、スマホで電話をしているフリをしながら録音アプリで記録するのです。これだけで簡単に問題が解決してしまうこともあります。

  1. 詳細を明らかにする

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

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

  1. あるべき形は何か?

問題点とは、「あるべき姿と現実」とのギャップです。現実や現状を克明に表しても、「あるべき姿」が分からなければ、問題点が明らかになりません

「あるべき姿=ゴール」を明確に把握することが問題解決には欠かせません。仕様書を十分読み込まず、誤った仕様の認識でプログラミングをしてしまい、プログラムがうまく動作しないと悩む人がいます。そんな時は、先ずはゴールの正しい姿が何かを改めて確認することが必要です。

また併せて、望ましい解決策を示してください。問題点が浮き彫りになると、複数の解決法が候補として上がってきますが、採用してはならない解決法もあります。例えば、プログラムのバグによって異常にメモリーを消費し、プログラムの動きが悪くなった時に「メモリー増設」という解決策を選択することがあります。

これは問題に対する対症療法であって、根本的な解決にはなりません。このように、採用すべきではない解決法は混乱を避けるためにも最初から除外しておくことです。

  1. 自分で調べる

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

  1. 結果を共有する

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

逆に誰にも分かるように問題の整理ができたら、自ずと答えが見つかることもあります。

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

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

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

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

悩みを自己解決できる

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

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

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

論理的思考が身に付く

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

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

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

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

ラバーダッキング法を活用しよう

活用法

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

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

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

Twitterをフォローしよう!
アンドエンジニアの公式LINEができました! ピッタリの記事や役立つ情報が届きます!

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

eyecatch_visual_coder
Adobe製品を使わない"デザイナー"?「ビジュアルコーダー」が考える、自己満足で終わらないWebデザインとは
三角
2020.06.16

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

お問い合わせ・情報提供
この記事をシェア
Twitter
Facebook
LINE
Hatena
アンドエンジニアの公式LINEができました! ピッタリの記事や役立つ情報が届きます!

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

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