開発者からPMに挑戦! 業務内容の違いに苦しむ
2つめのエピソードは、3年目にしてPMにチャレンジした時のこと。出前館の加盟店ユーザーがAPI連携をするためにWebサイトを新規で構築するという「デベロッパーサイト」プロジェクトが立ち上がり、リードしてきた先輩が育休にはいったこともあって、イ氏自ら手を挙げてPMを担当した。
これまで一開発者として「何を作るか」が決まっている状態で、「プロダクトをどう作るか」を考えることがメインだったが、PMでは企画から開発リリースまですべての工程において責任を担い、さらに「なぜつくるのか」「何をつくるのか」をほぼゼロから考える役割・業務へと変わった。これにより、自身の能力不足を痛感する自体に陥ったという。
まず1つめの、“つまずき”は要件定義の工程で起きた。プロジェクトでは、ある手動プロセスの自動化が目的の1つだったが、現状の安全性問題について十分に理解しないまま、自動化の効果がないプロセスまで改善する案を出してしまったことで、レビューを受けた際に指摘を受け、手戻りとなってプロジェクトの進行に影響を与えてしまった。
そして、2つ目のつまずきはコミュニケーションだ。多くの関係者と頻繁にコミュニケーションをとりつつプロジェクトを進める必要があったが、説明がうまく伝わらず、意図を理解してもらえずに、何度もミーティングを開催する必要が生じ、スケジュールの遅延につながった。
そこでイ氏は、なぜこうした問題が起きたのか、どうすれば改善できるのかを把握するために、上司からフィードバックを受けた。そして、現在のプロセスがなぜ生まれたか、どう行われているかを知った上で、プロセスの自動化の目的を理解し、企画を立てる必要があったことを指摘される。つまり、「なぜ作るか」という現在問題に対する本質的かつ論理的な思考が不足していたというわけだ。そして、コミュニケーションについても原因が同じところにあると指摘を受け、作成した資料や話し方が、論理的に整理されていなかったことに気づいた。
そもそも「論理」とは? 論理的思考の構造を捉える
これら2つのつまずきから、イ氏は自身の弱点が「論理的な思考」にあると気付き、そこを鍛えるための学びを開始した。だが、そもそも「論理的な思考」とは何なのか。ピラミッド構造や帰納法、演繹法などとも言われるが、なかなか説明が難しい。そこで、イ氏は「論理とは?」を深堀りし、「結論を支える理由・根拠が明確に繋がっている構造」と理解した。繋がることで、納得・理解・説得が可能になる。
つまり、「論理的思考」とは、「明確な理由と根拠に基づいて、結論を導き出す思考」のことであり、これができれば、理由と根拠から結論を導き出し、それを整理・構造化して伝えられる。なお、「理由」とは主張に対して「なぜそうすべきか」に対する考えや論理的な側面であり、「根拠」とは主張に対する背景、情報、データなど事実的な側面を指す。つまり、「傘を持っていく」という主張に対し、「雨が降りそうだから」が理由、「黒い雲が広がっているから」が根拠という関係となる。
このような論理的思考ができるようになると、常に理由と根拠に基づいて結論を考えられるようになり、的確な問題解決が可能となり、コミュニケーションも円滑になる。
イ氏は、この論理的思考力を鍛えるために、いくつか意識して行動様式を変えたという。そのポイントについて、下記のように説明した。
- 論理的に考える習慣を持つ:日々起きる出来事に、なぜそうなるのか、理由と根拠、背景などについて論理的に考える習慣をつける。
- 話が上手な人を真似する:話が上手い人=論理的な話し方ができている人の話し方、資料の書き方、仕事の進み方など観察し、全てを真似する。
- 思考を書き出すようにする:考えるだけではまとまりにくいため、文章や図を書き、考えを具体化する習慣を身につける。
- 考えをわかりやすく伝えることに意識する:ピラミット構造など、論理的に伝えやすくする方法論を学び、構造化して相手にわかりやすく伝える。
イ氏は「論理的な思考力は重要ながらすぐに身に着けられるものではない。1年目から論理的思考力を高めることを意識することが望ましい」と語った。そして、あらためて「自分が知らないことを知り、計画的に学習し、アウトプットを出すことで、より良いエンジニアとして成長できる。そして、エンジニアとして上流工程から携わるには、論理的思考力が必要となる」と繰り返した。「ぜひ、エンジニアを目指す学生、新卒、若手エンジニアの参考としてほしい」と訴え、セッションを終えた。