はじめに
PM(プロジェクトマネージャー)という言葉はよく耳にしますが、具体的な役割や意味はさまざまに捉えられています。
特にエンジニアがPMを目指す場合、現場での技術的な経験をどう活かすか、どのようなスキルを新たに習得すべきかを考える必要があります。
本記事では、自分の理解をもとにPMの役割や重要性について考えていきます。
PMの役割
PMの役割を考えるにあたり、まずはPMの定義を確認してみます。
PM(プロジェクトマネージャー)とは?
プロジェクトマネージャーには明確な定義がなく、その仕事内容も企業や文献によって多少の幅があります。ここでは、IPA(情報処理推進機構)のプロジェクトマネージャー試験の情報をもとに紹介します。
プロジェクトマネージャーとは、Q(Quality:品質)・C(Cost:プロジェクト原価)、D(Delivery:納期)といったプロジェクトの目的を達成する役割を担い、目標を達成するためにさまざまなマネジメント業務を行う職種です。また、プロジェクトチームメンバーだけではなく、ステークホルダー(利害関係者)との信頼関係や協力関係を結ぶ役割も求められます。
引用記事
https://doda.jp/engineer/guide/it/043.html
自分が考えるPMの役割
上記記事の引用ですが自分の中で一番腑に落ちたPMの定義です。
要するに、PMとはプロジェクトを完遂させるために責任を負う存在としての役割が与えられていると理解しています。
もちろん、会社やプロジェクトによってPMの役割範囲は異なる場合があります。しかし、共通して求められるのは以下のような3つの要素です:
-
ソフトスキル
問題解決力やコミュニケーション能力といった、チームをまとめたり調整したりする力。 -
ハードスキル
スケジュール管理やリソース配分、コスト管理など、プロジェクト運営に必要なマネジメントスキル。 -
テクニカルスキル
業界知識や技術的な理解を深め、エンジニアやステークホルダーとの効果的な対話を可能にする専門知識。
これら3つの要素をバランスよく持ち合わせ、プロジェクトの円滑な進行を実現するのがPMの本質的な役割だと考えます。
PMに求められるスキル
では、PMの役割を果たすためには、具体的にはどのようなスキルが必要でしょうか?
私が考えるPMに求められるスキルは以下の通りです。
-
コミュニケーション能力
チームメンバーやステークホルダーと効果的に情報を共有し、信頼を築く能力です。
PMはプロジェクトを円滑に完遂させるため、チーム内外の連携を深めるコミュニケーション力が求められます。
この能力には、会議や議論を円滑に進めるファシリテーションスキルも含まれます。 -
技術的知識
プロジェクトによっては、PMが開発リード的な立ち位置を担う場合もあります。この場合、PMにも技術的な知識が求められます。
さらに、PMには技術的な専門用語や制約を理解し、それを非エンジニアにも分かりやすく説明するスキルが求められます。
これにより、技術的なリスクや決定事項を全員で共有しプロジェクトを効率的に進めることが可能となります。 -
問題解決能力
リスクや課題を早期に発見し、迅速かつ的確に対応する能力が求められます。
特に問題発生時には、冷静に状況を分析し適切な対応策を見つける力が重要です。
これは製造メンバーとしてプロジェクトに入る際よく感じることですが、問題解決能力のおいては、特に初動が非常重要だと考えます。
何かしらトラブルが発生しても初動が適切であれば問題が大きくなる前に収束させることができますが、初動が遅れたり誤った判断をした場合、その影響がプロジェクト全体にも広がる可能性があります。
-
計画力
プロジェクト全体のロードマップを作成し、スケジュールやリソースを適切に管理する能力です。
良いPMと悪いPMの違いが最も顕著に現れるのが、このスキルと私は考えます。
以前、上司から言われた言葉がとても印象に残っています。それは、「プロジェクトの忙しさは、PMの計画力次第で大きく変わる」というものでした。
良いPMが進めるプロジェクトでは、要件定義や開発フェーズにおいて非常に忙しい時間が続きます。しかし、この時期にしっかりとした計画と段取りを整えることで、その後の製造フェーズではスムーズに進行し、プロジェクトの終盤にはむしろ手が空くほど落ち着いた状態になります。
一方で、悪いPMのプロジェクトは最初の進行が緩やかで一見順調そうに見えるのですが、製造フェーズに入ってから計画の甘さが露呈し、次々とトラブルが発生します。その結果、プロジェクト終盤にトラブル対応が集中し、大きな混乱を招くケースが多いです。
エンジニアがPMになるために必要なこと
エンジニアとしての経験を活かしながらPMを目指すには、以下の3つのポイントを意識して日頃の業務を取り組むと良いでしょう。
-
技術(知識)の習得
エンジニアとして既にプログラミングスキルを持っている方も多いと思いますが、PMを目指す上ではこれらの知識をさらに広げ、プロジェクト全体を俯瞰できる技術的な基盤を築くことが大切です。
単にフレームワークを習得するだけではよくなくて、ネットワーク全体の基礎知識やシステム全体のアーキテクチャ設計の理解を深めるとともに、最近では生成AIなど新しい技術を活用した効率化の手法を学ぶことも身につけなればいけません。 -
経験の積み重ね
PMとして成長するには、とにかく現場で経験を積むことが重要です。
小規模なプロジェクトやチーム内でのリーダーシップを取ることからなど、小さなところから経験していき徐々に大きなプロジェクトで実践的なスキルを磨いていくのが理想的です。
社内でチャンスがあったらとにかく手を挙げてみるべきだと思います。 -
リーダーシップ
リーダーシップは、習得しようとしてすぐに身に付くものではありませんが、経験を積み重ねることで身に付いてい苦ものと考えます。
リーダーシップの習得のためには、意思決定の積み重ねが重要です。たとえメンバーレベルであってもプロジェクトの一部で自分が主体的に判断をし、他のメンバーを巻き込むことで部分的に経験を積めるのではないかと考えます。
まとめ
PMは、単なる管理者ではなく、プロジェクトやプロダクトの「推進力」として重要な役割を果たします。私自身も日々学びながら、より良いPMを目指して仕事に取り組んでいます。