IT業界やプロジェクトで、エンジニアが関わってくる場面ではよく耳にする単語である「PM」「SE」「PG」。
どれもエンジニアを指す言葉で、それぞれ役割によって分けられていますが、違いはしっかりと理解していますでしょうか?
それぞれの違いと役割を紹介したいと思います。
(厳密に言えばPMは役割、SEとPGは職種の名称になるため、少し異なりますがよく一緒に使われる言葉ですので、一緒に紹介します)
「PM」の役割
「Project Manager」の略で、開発プロジェクトの取りまとめを行うとても重要な存在です。
仕事自体はシステムの構築ではなく、“プロジェクトやメンバーのマネジメントを行うこと”が主になっています。
お客様との間での納期の取り決めなどの様々な決裁権を託されています。
また、顧客折衝という部分でお客様との調整を行うところから、随時発生するトラブル対応の式やSE・PGの工程管理、メンバーの様子にも気を配り全体の士気を高めることまで、その仕事は多岐にわたっています。
ちなみに①
PMの下に「PL」という役割があることがありますので、ご紹介します。
これは、「Project Leader」の略で、プロジェクトが中規模~大規模になってくると立てることが多く、役割としてはPMの補佐やSE・PGのまとめをし、PMよりも細かくチーム内のメンバーに情報の伝達などを行います。
また、プログラミングなどにも参加したりするPMとSEの間のような役割を行います。
ちなみに②
PMを調べていると「PMO」という言葉も含めて出てきたので、少しだけご紹介します。
PMOは「Project Management Office」の略で、大規模プロジェクト内で乱立してしまっている細かいプロジェクトのマネジメントを担当する役割を持っています。
そのため、仕事の内容的にはPMと似た部分が多く、プロジェクトの品質や進捗を管理するのが主になっています。
「SE」の役割
「System Engineer」の略で、プロジェクトチームの中で開発メンバーの一員として担当業務が割り振られます。
主な役割としては、PMが作成した工程表に沿って、割り振られた担当業務をこなしていくことや、お客様との間での要件の確定や仕様の検討など、主に上流工程の仕事をします。
しかし、“SE兼PG”としてSEがPGの役割も同時にこなしていくことも、プロジェクトの中ではよくあることです。
SEは、「言われたことや与えられたことだけをやればいい」という受け身ではなく、能動的に動くことが求められています。
先に述べたように、システム開発の工程において上流工程を担当するのがSEなので、もしプログラミングで致命的なバグが発生することがあれば、上流の設計工程に戻ってやり直さなければなりません。
その場合、仕事の影響範囲が大きくなることやリカバリー作業にかかるコストも高くなるため、SEの仕事はPGよりも責任が重くなります。
職種としてのSEを言えば、「システムの設計・開発・テストを行う」というものになります。
「PG」の役割
「Programmer」の略で、SEが要件定義で用意した仕様書をもとにプログラミングを行い、そのシステムが予定通り動くかどうかのテストを行うのが主な役割です。
一般的に、PGが成長してSEになるという流れなのですが、この二つに明確な違いはありません。
職種としてはSEとほとんど違いはありませんが、前項で述べた通り、SEは上流の工程を行うことが含まれているため、その部分で違いが生まれています。
まとめ
- 「PM」・・・開発プロジェクトの取りまとめや、お客様との間の取り決めなどを行う.プロジェクトの遂行のための様々な決裁権をもっている。
- 「SE」・・・PMから割り振られた担当業務をこなすことや、お客様との間での要件の確定や仕様の検討などの上流工程の仕事を行う。
- 「PG」・・・SEが用意した仕様書をもとにプログラミングやテストを行う。一般的にはPGが成長するとSEになる。
今回は、「PM」「SE」「PG」の違いと役割をご紹介しました。