ロジカルシンキングとは?
物事を考えるための手段や道具を適切に用い、論理的に思考すること。
なぜロジカルシンキングが必要か?
世の中に転がっている問題を解決するために最短で最適な解決策を発見できたら最高に効率的ではないでしょうか?きっとその答えは Yes だと思います。
ロジカルシンキングを取り上げる理由は?
社会人として働く身としては、一人でも多くの人が効率的に思考し、最大の成果をあげて欲しいと考えたため。
かつて、PMBOK のようなプロジェクトマネジメントで利用する各種フレームワークだったり、開発で活用する UML のようなフレームワークだったり、それを知っているだけで使っているだけ、というロボット状態に陥っている人を見てきた。きっとその人がロジカルシンキングできていたなら、最適なアイテムを選択し、最適なプロジェクトマネジメントができていたのでは?と思いを馳せている。
どうすれば身につくか?
個人差はあるが、適切なフレームワークを用いてトレーニングを繰り返すことで身に付くと信じている。
そのフレームワークにはどのようなものがあるか?
知っている範囲では、5W思考、目的思考(指向?)、といったものがある。
5W思考とは?
What/Who/When/Which/Where を用いて思考すること。
目的思考とは?
要求事項(Requirement)や正当性(Justification)を元に、目的(Purpose)を達成するための手段を思考すること。大まかなイメージとしては 5W 思考に Why を追加して考える。
どんなシーンで使われるのか?
5W 思考
例えば、UML のユースケース図やビジネスフロー図では人や企業間等のワークフローを扱い、シーケンス図ではシステムやクラスのプロセスフローを扱い、データフロー図ではその名の通りデータフローを扱う。
これらを利用する意味を理解するためには 5W 思考が非常にしっくりとくるので、そのフレームワークの例をまとめようと思う。
ワークフロー
ユースケース図では、
- 誰が(Who)/何をするか?(What Do)
- 誰が(Who)/何を使って(What Use)/何をするか?(What Do)
のようなことを記述する。
例として、
- 社員全員が/勤怠システムを使って/就業時間を登録する
- 社員全員が/勤怠システムを使って/年休を登録する
といった作業の流れを絵や吹き出しで表現することになる。
実際のプロジェクトでは、この内容を実現するためにはどのような勤怠システムを構築する必要があるか?ということをさらに深掘りしたり、実際にどのようなプロセスフローを組みこみべきか?どのようなデータフローにすべきか?といったことを考えることになるだろう。
プロセスフロー
シーケンス図では、
- どの処理が(Which Process)/何をするか?(What Do)
- どの処理が(Which Process)/どの処理に(To Which Process)/何を送信するか?(What Send)
- どの処理が(Which Process)/どの処理に(To Which Process)/何を受信するか?(What Recieve)
のようなことを記述する。
例として、
- 就業時間登録処理が/就業時間用データベース登録処理に/就業開始時間を送信する
- 就業時間用データベース登録処理が/就業開始時間をデータベースに登録する
といった処理の流れを絵で表現することになる。
データフロー
データフロー図では、
- 何が起きた時に(What Happen)/どのデータが(Which data)/どこに送信されるか?(To Where Send)
- 誰が(Who)/何をしたときに(What Action)/どのデータが(Which Data)/どこに登録されるか?(To Where Be Stored)
- どの操作をしたときに(What Actiohn)/どの画面に(Which Page)/どのデータを表示するか?(Which Data Be Shown)
のようなことを記述する。
例として、
- 社員が/就業開始時間を送信したときに/就業開始時間が/データベースに登録される
といった処理の流れを絵で表現することになる。
目的思考
こちらは PMBOK のようなプロジェクトマネジメント側で効果を発揮すると考えられる。
例えば、カスタマーから「ユニバーサルデザインを意識した Web サイトに刷新して欲しい」というような要求を受けたとする。しかし、これを実現するためには何かが足りない。何かがモヤッとする。そう、目的が無い。このままでは、誰をターゲットにするのかはっきりしないため、中途半端なものが完成しそうである。そこで重要な役割を果たす要素が Why である。
なぜ、ユニバーサルデザインを意識した Web サイトに刷新したいのか?とそのまま問いかけるだけでも効果はある。さらに何をターゲットにするのか?という問いかけを追加すれば、要求事項が拡充され、真の目的に到達するだろう。
その考えを元にあなたはカスタマーに熱心にヒアリングし、「老若男女や障がい者、パソコンスキルの高低関係なく直感的に使いやすいものにしたい」という明確な目的をようやく導き出せた。この成果によって、さらに問題をブレイクダウンすることができ、視力問題、色覚問題、スキル問題、といった解決すべき課題を抽出できるようになった。
きっとこの後、この目的や要求、課題をどのレベルまで解決し実現するかをカスタマーと話し合い、プロジェクトスコープを作成、そして開発に着手していくことになるだろう。
練習問題
その1
あなたはカレーを作るように依頼を受けた。5W 思考を参考に、ワークフロー、プロセスフロー、データフローの観点からカレーを完成させる道筋を考えて欲しい。
なお、ワークフロー = 人の動き、プロセスフロー = 人の作業、データフロー = 人や材料や道具の流れ、として考えてみよう。
※より複雑にしたい場合は設定を大人数の料理を大人数で調理するように変更してみよう。
その2
学校の勉強が社会に出て役に立つのか?そんなことを考えたり、人から言われたことはないだろうか?ちょうど良いので、目的思考を用いて説明してみて欲しい。(要求事項は社会生活上で必要とされたり求められたりすることとして考えてみよう。)
その3
ロジカルシンキングのトレーニングの一環としてここの課題3について考えてみよう。
その4
なんでも良いので、今まで知った理論や公式、定義等について、それを使うと便利なことやわかることを考えてみよう。