プログラム言語より「論理的思考」を身に付けよう
はじめに
「論理的思考(ロジカルシンキング)」は、ビジネスのみならず、さまざまなシーンで重要だと言われます。PMOにとってもそれは同様で、むしろ論理的思考ができなければプロジェクトを円滑に進行することはできないでしょう。
それにもかかわらず、よく「IT系プロジェクトのPMOはプログラム言語の習得が必要ですよね?」と質問を受けるのです。繰り返しになりますが、私は「それよりもまず、論理的思考を身に付けてください」とお答えしています。
では、PMOに必要とされる論理的思考とは一体どのようなものなのでしょうか。また、そうした思考はどうやって身に付けられるのか、解説していきます。
そもそもなぜ論理的思考が大切なのか
なぜ、論理的思考を最重要視しているのか。それは「論理的思考がなければ、プログラムを正しく動かすことはできないから」です。
もちろん「特定のプログラミング言語のソースコードを書ける」なら「私はこのプログラミング言語ができます」と言うことができるでしょう。しかし、例えば「Aさんにアンケート結果の資料データをメールで送る」というプログラムを作りたい場合、ただ「プログラミング言語が書ける」だけでは不十分なのです。
実行したいことをプログラミングするには、次の4つのステップが必要です。
- STEP1 すべての資料データを拾い上げる
- STEP2 その中からアンケート結果の資料を抽出する
- STEP3 宛先や件名を設定する
- STEP4 送信する
そして、プログラムを正しく動かすには、これらのステップを正しい順序で構成していくことが欠かせません。例えば、もしSTEP3や4がSTEP1や2より先に置かれていたら、Aさんに必要なデータを送ることはできなくなってしまうからです。
また、STEP2では具体的にどのように抽出するかも考えなくてはなりません。別のデータまでピックアップされては困りますし、そもそも該当データが存在しない場合もあるでしょう。起こりうるさまざまな状況を把握してプログラミングしないと、プログラムは途中で止まってしまいます。
さらに、コードの書き方にも思考をめぐらせる必要があります。例えば、アンケートの質問が40問あった場合、単純に「1問目のデータを抽出する、2問目のデータを抽出する、3問目のデータを……」と、合計40行のコードを書けば欲しいデータは抽出できます。しかしコードが増えればミスが起こる可能性も高まりますし、確認テストの手間も増えます。もし将来的に質問数が増えれば、さらにコードを追加しなければなりません。また、データの型が変更になった場合は、40行分すべての修正が必要になる可能性もあります。
それならば、1問分のコードを書いて「これを40回繰り返す」とした方が少ない行で済みます。40行書いても1行書いても結果は同じですが、「優秀なプログラマーはどちらか」と問われれば、言うまでもなく後者ができるプログラマーです。
このように、物事について全体像を把握した上で、思いつきなどではなく、きちんと筋道を立てて解釈する。この能力が論理的思考です。論理的思考があれば「必要な機能を備えたシステムを正しく、効率良くプログラミングすることができる」のです。
論理的思考はPMOにも欠かせない能力
PMOの仕事においても、論理的思考は大いに求められます。プロジェクトを成功させるには「新商品開発」「システム刷新」といった大きな目的に向かって、各部門がどのようなプロセスで動いていけば良いのかを考える必要があるからです。
そして、論理的思考が土台にあると人に物事を伝える力が格段にアップします。複雑なものでも自分の中で理解、整理して話せたり、文章化できたりするので、相手に知ってほしいことを正しく分かりやすく伝えられるのです。この力は多くの部門を横断し、さまざまなメンバーとコミュニケーションを取るPMOには必須と言って良いでしょう。プロジェクトにおいてPMOの役割を果たすためにも、論理的思考は欠かせないものなのです。
論理的思考を身に付けるなら
常に疑問を持って考えること
それでは、どうすればこの論理的思考を身に付けることができるのでしょうか。トレーニングとしておすすめなのは、まず「世の中のあらゆることに対して疑問を持つこと」です。
「いつも行っているこの業務、もっとスムーズにできないかな?」
「このECサイトはすごく使いやすいけど、なぜだろう?」
「ここのレストランのタッチパネルは分かりにくい。どうすれば改善できる?」
「設計書にはこう書いてあるけれど、もっと良い方法があるのでは?」
こういった、日々何となく「こんなものか」と通り過ぎがちなことも、意識的に立ち止まって考えてみるのです。私の場合、いろいろなサービス、書籍や動画などの情報に触れるときも、はじめは「本当に合っている?」「違うやり方はない?」と疑い、必要なときには批判の目を持って見るようにしています。そうすると、まずは現状の仕組みや順序を理解した上で、自分なりの改善策を考えてみるといったことが習慣づけられます。
一方、何に対してもまったく疑いを持たず、与えられた仕事をこなしたり、目の前のサービスや情報をそのまま受け取ったりしていては、前述の「40行のコードを書くプログラマー」と同じで、いつまでも「1行で書く優秀なプログラマー」を超えることはできません。
いくら素晴らしい技術を持った大工でも、建築士が作った設計書に問題があれば良い家は建てられませんよね。そこには「自分の意思で相手が言っていることが正しいかどうかを判断する」ことが求められます。エンジニアも同じです。さまざまなプログラミング言語を使えても、根本の思考が停止していては本当に良いプログラムは作れないのです。
とはいえ「疑問を持ってただ考える」だけでは不十分で、「疑問を持って論理的思考で考える」には、もうひと工夫必要です。
例えば、可能であれば実際に自分でプログラムを作ってみるのも一案です。プログラミングにおいては、少しでも指示や順番を間違えば、エラーがでたり、想定とはまったく異なるプログラムができあがったりします。そのような経験を重ねていくと、
「どんな指示をどんな順番で出せば、作りたいものができるのか」
「どうすれば最短ルートで完成まで辿り着けるのか」
また、最近は論理的思考に関する書籍や動画コンテンツなどもたくさんあるので、そうしたもので知識を深めるのも1つの手です。「40行のコードを書くプログラマー」も大半はそれを数行で書けると知らなかっただけ。知識を身に付ければ、いくらでも優秀なプログラマーになれるわけです。それと同様に、論理的思考の要点を学ぶことは、自分にはない思考力を引き出すカギとなる可能性があります。
それでも「なかなか論理的思考になれない」「物事に疑問を持てない」という場合、普段からいろいろなことに疑問や批判を持っている私のような人物(笑)と関わってみることもおすすめです。その人がどのような思考で物事を考えているのか、観察やコピーをして論理的思考力を鍛えるのです。そのような著者が書いた書籍を読んでみるのも良いでしょう。
おわりに
知識編第5回の今回は、以下のような内容を解説しました。
- 論理的思考は、物事について筋道を立てて解釈する能力
- プロジェクトを成功に導くPMOにも、論理的思考が求められる
- 論理的思考を身に付けるには、何事にも疑問を持ち、思考や学びを続けることが大切
エンジニアは職業柄「お客様に依頼されたことを行う」シーンが多いと思います。そのため「目の前の物事を疑う」習慣がない方もいらっしゃることでしょう。「何事にも疑問を持って、論理的思考で考えよう」というと仰々しく身構えてしまうかもしれませんが、私はもっと軽い気持ちで取り組めば良いと思っています。
例えば、トランプや将棋などのゲームをするときの「もっと良い勝ち方はできないかな?」といった感覚で良いのです。そこから始めて「こんなときはどうか?」「他のゲームならどうか?」「仕事には活かせるだろうか?」と、徐々に思考の幅を発展させていくことを意識してみてください。
次回は、知識編の最終回として「優秀なPMOに求められる能力」について、さらに掘り下げて解説したいと思います。お楽しみに!