アヒルに話すだけで自己解決能力や論理的思考能力が身に付く!? ラバーダッキング法とは
本記事はアジアクエスト Advent Calendar 2024の記事です。
目次
はじめに
この記事では自分が定期的に行なっているラバーダッキング法についてご紹介しようと思います!
この手法を使うことで見直しやミスの発見に繋がり、自己解決能力や客観的に見ることができる力、
より質の高い成果物の作成に繋げることができるので是非実践してみてください。
ラバーダッキング法とは?
ラバーダッキング法とは、「ラバーダック」というゴム製のアヒルのおもちゃに向かって、
自分が抱えている問題やコードの内容を第三者に説明するように言語化することで、問題点を発見したり理解を深めたりする方法です。
このラバーダッキング法ですが、話しかける相手はラバーダックではなくても大丈夫です。
持っているぬいぐるみやフィギュア、ボイスレコーダーなど、
声に出すことがラバーダッキング法では大事になってくるので身近な物であればなんでもいいです。
自分がよく行うのはひとりごとのように小さい声で口に出して見直しを行ったりしています。
現在書いているこの記事も口に出して見直ししています。
「1人で声を出すのも何か恥ずかしい...」と思うのであれば、最初はメモ帳に話している風でテキストを書くのでも大丈夫です。
ラバーダッキングで得られる効果は?
ラバーダッキングで得られる効果には、6つのポイントがあります。
ポイント1:言語化することで理解をより深めることができる
問題点を口に出して相手に伝えることで、自分の理解が深まります。
理解を深めることで新たな点に気づくことができるようになります。
ポイント2:客観的な視点になることで俯瞰して見ることができる
他人に説明することで、自分の思考を外部から眺められる客観的な視点(俯瞰)になります。
そのため説明している最中に矛盾点やミス、あるいは新しい視点に気づくことがあります。
ポイント3:自己解決能力の促進
問題を第三者に説明することで、曖昧になっていた自分の考えが明確になり、
自分が理解しきれていなかった部分や間違っている部分がわかるようになります。
ポイント4:遠慮や気を使わなくていい
人に直接聞きたいことがある場合、「今は忙しくないか」など相手の都合がいいかどうかを気にしてしまいがちです。
また聞く人が上司や目上の人となると、ちょっと話しづらいと思ってしまう人もいるかもしれません。
ですがラバーダッキング法だと相手のことを気にする必要がないので遠慮や気を使うことがありません。
そのため定期的に説明を行うことができ、上記3つのポイントに繋げることができます。
ポイント5:論理的な思考を身につけることができる
論理的思考(ロジカルシンキング)とは、論理で物事を理解する考え方です。
直感や感覚とは違い、物事の結論までの筋道を立てていく考え方が論理的思考と言われています。
ラバーダッキング法を行うことで複雑な物事であっても理解を深めていける力や、ミスや矛盾点を発見することができる解決力など、
論理的思考に必要な力が自然と身についていきます。
ポイント6:コミュニケーション力を上げることができる
ポイント5で上げた論理的思考が身につけば、人に説明できる力も高めることができます。
実際に人に説明する時やプレゼンなどの場面でも、ラバーダッキング法を用いて鍛えた論理的思考で、
物事を説明することができるため、自信もつけることができ、どんどんコミュニケーション力を上げることができます。
「自分で言葉を発し」、「それを聞き取って理解する」、の繰り返しなので、
「伝える力」と「聴く力」、つまりそれを合わせたコミュニケーション能力を高めます。
上記の得られる効果を見ると、理解力の促進や客観的な視点などが挙げられます。
プログラミングなどで自分が作成したものは、基本的に見慣れてしまっており、理解していると思いがちです。
そのためミスを見落としてしまい、原因不明のエラーになって対応に時間をかけてしまうことになります。
ですがラバーダッキング法を行うことで、上記の各ポイントを押さえることができ、違和感やミスの発見に繋げることができます。
例えば、仮にみなさんが作成したプログラムが思ったように動いてくれずにプログラミングに詰まってしまうとします。
そして有識者の方に「どう動かしたいか」、「該当するプログラムはここ」など説明を行います。
しかし処理の順序を説明をしている時に、矛盾点に気づきミスを発見、
その場で有識者に頼ることなく自己解決しちゃった。という経験がみなさんにもあるのではないでしょうか。
今回の例はプログラミングでのお話でしたが、プログラミングに関わらずこのラバーダッキング法はビジネスや勉強などでも使われることが多いです。
ラバーダッキング法を使っての場面
プログラミングに関わらずこのラバーダッキング法はビジネスや勉強などでも使われることが多いと言いましたが、
実際にどの場面で使われることが多いのでしょうか。
ここではいくつかの具体的な場面をご紹介します。
1. プログラムのバグ解決時
- 場面
- 自分が作成したプログラムを実行したが、エラーが表示されてしまいエラーの原因も分からない
- 活用方法
- 「このプログラムはこの処理を使って情報を受け取ります。
この処理では〇〇テーブルと〇〇テーブルから情報を取得して、処理を行います。
その後はこの処理を使って...」
というように説明を行うことでコードの理解力を深めることができ、問題点があるかが見えてくるようになります。
2. 実装方針についての検討
- 場面
- この機能を追加したいが、どうやって処理を実装するか悩んでいる
- 活用方法
- 「利用者がこのボタンを押下することで利用情報の更新が行われます。
更新処理では〇〇テーブルに対してデータの更新を行うようにして...
でもこのタイミングで他の利用者も同じデータに対して更新しようとすると競合してしまうから対策を考えないといけないかも...」
というように説明を行なっている途中で矛盾点や欠点に気づくことができます。
3. ロジック、処理フローの確認
- 場面
- この処理が複雑すぎるため、ちゃんと動作するか不安
- 活用方法
- 「まずこのプログラムはこの処理から行われる。
データの取得をここで行なって、その後のこの処理で...
あれ、このコードだと〇〇テーブルに登録した時に〇〇テーブルへの登録も必要なのに登録処理がない...」
と説明中に処理の抜け漏れ、問題点の発見に繋げることできます。
4. チームメンバーへの共有の準備
- 場面
- チームメンバーにこの情報を共有しようと思っているが、ちゃんと説明できるか不安
- 活用方法
- 「顧客先から新たな検討用資料を受領しました。
この資料は以前〇〇さんからお話を頂いていた機能についてで...
この資料だけだと説明しにくいから以前使っていたあの資料も用意する必要がありそうだな...。」
と説明の内容を整理することができ、他に必要な準備物がないかなどの発見に繋げることができます。
5. 学習内容の整理
- 場面
- 新しいことを学んだけど、自分の理解が本当に合っているか怪しい
- 活用方法
- 「これは〇〇を使っていて、こういうことができます。
まずはここの計算は...」
と説明することで、自分の理解力を確認することができ、何が理解できていないか、そのために何を見直す必要があるかなどを見つけることができます。
6. 何かに行き詰まってしまった場合
- 場面
- 同じ問題に長時間取り組んでいて、行き詰まってしまっている
- 活用方法
- 「そもそもここでは何をやっているんだっけ。
ここで行われるのは...」
と一度振り返るように最初から説明を行うことで見逃していたミスや思い込みによる矛盾を見つけることができます。
というように、ラバーダッキング法を用いることで
「自分に何が足りていないかを自覚する」 ことができます。
ラバーダッキング法は、デバッグだけでなく物事の整理・理解や自己解決の促進など
様々な場面で使用することができます。
さいごに
今回初めてこのような執筆をしたため説明が至らない場合があるかもしれません。
ですがITエンジニアに関わらず、何かを作ったり・学んでいる全ての人におすすめしたい手法なので、
さまざまな記事などを参考にさせていただいて執筆しました!
ラバーダッキング法についてもっと知りたいと思った方は、参考にさせてもらった記事も読んでみるのもいいかもしれません。
ぜひこちらのラバーダッキング法を用いて1人でも多くの方の力になれたら幸いです。
最後まで読んでいただきありがとうございました!
参考記事
アジアクエスト株式会社では一緒に働いていただける方を募集しています。
興味のある方は以下のURLを御覧ください。