はじめに
こんにちは!エクネスの藤嶌です!
新卒2年目に入ってしばらく経ったころ、あるプロジェクトで「PMをやってみたいです」と自分から手を挙げ、任せてもらう機会がありました。
これまでも機能単位の仕様を考えることはありましたが、1つのシステムを0から作り上げるような規模のプロジェクトは今回が初めてで、正直かなり戸惑いました。
この記事では、右も左もわからないまま2年目でPMを経験して感じたギャップと学びを、できるだけ率直に振り返ってみようと思います。
同じように「PMに挑戦してみたい」と思っている新卒・若手の方の参考になれば嬉しいです
PMを任されるまでの経緯
きっかけは、あるプロジェクトの体制が変わるタイミングがあり、「PMをやってみたいです」と自分から手を挙げたことでした。
コードは書けても、プロジェクト全体を動かした経験はゼロ。関係者が誰で、何を決めれば前に進むのかすら最初はわかっていませんでした。
そんな状態から手探りで進めていく中で、特に大きなギャップを感じたのが次の3つです。
ギャップ1: そもそも計画の「土台」がなかった
- そもそも何の資料を揃えればいいのかがわからない
- スケジュールを引こうにも、指標も根拠もない
- 結局、ある程度プロジェクトが進んでからじゃないと、スケジュールそのものが立てられなかった
特に困ったのが、参考にできる社内の資料や前例が手元になかったことです。過去の類似プロジェクトの資料があるわけでも、決まったテンプレートがあるわけでもなく、まずは『プロジェクト実行ガイド大全』という書籍を参考に、どんなフェーズに分けて進めるべきか、各フェーズで何の資料が必要になるのかを自分なりに検討するところから始めました。
スケジュールについても、最初から精度の高いものを引くことは諦めました。仮のスケジュールをとりあえず引いて、プロジェクトが進むたびに都度引き直すというやり方に切り替えたことで、ようやく前に進められるようになりました。
ギャップ2: 一人じゃ何も進まない
一番苦労したのはここです。コードを書くときは自分のタスクを終わらせれば基本的に完結していましたが、PMになると人に聞きに行く・かかわる場面が一気に増えました。
- 自分より経験豊富な先輩に、タスクをお願いする
- わからないことを、あちこちに聞きに行って意見をもらう
- 業務担当の方とエンジニアの間に立って、双方とMTGを重ねる
特にしんどかったのが、業務担当の方とMTGして、その内容をエンジニアに伝えるためにまたMTGして……という板挟みのポジションでした。双方の話す言葉も前提も違うので、間に立って翻訳するだけでも一苦労でした。。。。
ただPMになると、業務理解や設計力が足りていない場面が次々出てきて、本来なら「わからないことはすぐ聞く」べきなのに、それがなかなかできませんでした。
自分より経験豊富な先輩にタスクをお願いすることはもちろん、困ったときにすぐ声を上げること自体に高いハードルを感じていました。
ちょっとした遠慮が、そのまま認識の違いを生んでしまうこともありました。
「言ったつもり」「伝わったつもり」で進めた結果、後から手戻りになるケースは、正直ほぼ全般で起きていたと思います。
「わかっているだろう」「言わなくてもいいだろう」という思い込みで細かいすり合わせを省略してしまい、認識がズレたまま進んでしまう。
振り返ると、自分自身がその内容を深く把握できていなかったことも一因で、「ここはもっと定義して、共通認識にしておくべきだった」と反省する場面がたくさんありました。
もう一つ苦労したのが、業務担当の方とエンジニアとの会話の違いです。
エンジニア同士なら文字ベースの仕様書でも意図が伝わりますが、業務担当の方には文字だけだとイメージが湧きにくく、結局モックや画面イメージを作ってから話す必要がありました。
この「イメージを用意する時間」を最初は見積もりに入れておらず、地味にスケジュールを圧迫しました。
途中から意識を変えて、イメージを用意してから話すようにしたところ、驚くほどスムーズに物事が進むようになりました。頼ることも、伝え方を相手に合わせることも、怠慢ではなくPMの仕事そのものなんだと学びました。
ギャップ3: サービス・既存システムの理解不足という壁
もう一つ苦しかったのが、サービスや既存システムに対する理解不足でした。正直、ここは困った場面を挙げればキリがないくらい、ほぼ全部起きたと言っていいと思います。
- 関係者との会話で業務用語や前提知識が足りず、話の内容を理解するだけで時間がかかった
- どこからどこまでをシステム化する範囲なのかの認識がズレたまま設計を進めてしまい、後から「そこは対象外だった」と指摘されて手戻りになった
- 現場の運用ルールを知らないまま仕様を検討し、実際の例外対応やルールが仕様から抜け落ちていた
一つひとつは小さなズレでも、積み重なると設計のやり直しにつながり、地味に時間を溶かしました。
今はまだ試行錯誤中ですが、次のようなことを意識するようにしています。
- 分からない用語や前提は、持ち帰らずその場で小さく確認する
- システム化する範囲は、口頭だけで済ませず毎回文章や図で明示的に残す
- 現場の運用ルールは、想像で仕様に落とし込まず実際に現場へ確認しに行く
まとめ
新卒2年目でPMを任されたことで、エンジニアとして働いているだけでは気づけなかったことをたくさん学びました。
- 土台をつくること、資料に残すことが何より大事
- 一人で抱え込まず、遠慮なく周りを巻き込み、相手に合わせた伝え方をすることが大事
- サービス・既存システムの理解が浅いと、関係者との認識合わせからやり直しになる
まだまだ試行錯誤の途中ですが、この経験を通じてエンジニアとしての視点も一段広がった気がしています。
同じように急にマネジメント側の役割を任された方の、何かの参考になれば嬉しいです!