新規システム開発なりシステム移行なり、開発プロジェクトが始まれば、プロジェクトチームが発足されます。ITエンジニアが集まってプロジェクトチームが出来上がるわけですが、それぞれのエンジニアは「PM、PL、SE、PG」と呼ばれる役割に分けられ、プロジェクト遂行のために尽力していきます。
今回はプロジェクトチームにおける「PM、PL、SE、PG」それぞれの役割について、ご説明していきたいと思います。
PM(プロジェクトマネージャー)
PM(プロジェクトマネージャー)は開発プロジェクトの取りまとめを行う役割であり、プロジェクトが成功するか失敗するかもPMの手腕次第と言っても過言ではないくらい、超重要な存在です。そのためプロジェクトの遂行にまつわる、さまざまな決裁権を託されています。
PMの仕事はシステムの構築ではなく、プロジェクトやメンバーの”マネージメント”が主になります。お客様との間で納期の取り決めなど、顧客折衝という部分でお客様との調整を行うところから、随時発生するトラブル対応の指揮やSE・PGの工程管理、メンバーの様子にも目を配りながら全体の士気を高めるようなことまで、その仕事は多岐にわたります。
PMの仕事については以下の記事を参照いただくとよく分かるかもしれません。
PL(プロジェクトリーダー)
PL(プロジェクトリーダー)は開発プロジェクトが小規模の場合は立てないことも多いです。中規模~大規模プロジェクトとなり、メンバーが増えてPMが全体に目を配ることが難しくなってくると、PLを立ててしっかりと管理ができる体制を整えていきます。
PMの補佐のような役目ではありますが、内向きな管理になることが多い気がします。例えばSEやPGが工程を厳守するあまり、プログラムの品質が落ちていないかをチェックしたり、チーム内の各グループ間でしっかりと情報伝達が行われているかなど、より細かいところに目を向けながら、プロジェクトを動かしていきます。
システム仕様についてもしっかりと理解しながら、メンバーの管理もしていかなければなりませんので、コミュニケーション力の低いSEにはちょっと荷が重い役割となります。
SE(システムエンジニア)
SE(システムエンジニア)はプロジェクトチームの中ではメンバーという扱いになり、開発メンバーの一員として担当作業が割り振られます。そしてPMが作成した工程表に沿って、自分の担当業務をこなしていきます。
主な作業は担当のお客様と打ち合わせしていく中で、要件の確定や仕様の検討など、主に上流工程の仕事をしていきます。ただし”SE兼PG”として、SEがPGの役割を同時にこなしていくこともよくあります。
プロジェクトを成功させるためにはPMの存在が重要だと先に述べましたが、SEも「言われたことだけ、与えられたことだけをやればいい」という受け身の精神ではなく、能動的に動くことが求められます。プロジェクトとはチーム一丸となって成功させるものなのです。
SEだとしても工程と品質に対する意識は高くしながら、仕事をしていかなければなりません。
PG(プログラマー)
PG(プログラマー)はSEの手足となって、SEが用意した仕様書をもとにプログラミング・単体テストをするのが主な作業となります。SEとPGの違いについては「プログラマーとシステムエンジニアの違いについて」をご覧ください。
ただし近年ではPGが担当する工程を人件費の安い海外諸国に発注するオフショア開発も盛んになっています。
おわりに
PM、PL、SE、PGそれぞれで役割は異なりますが、それぞれが自分の役割をしっかりとこなしていくからこそ、プロジェクトは成功をむかえるのです。逆に本来メンバーの管理をするはずのPLがSEと同じレベルの仕事をやっていたり、それぞれで作業がかみ合っていないと、うまくプロジェクトを回していくことはできません。
役割ごとに求められる能力も違いますので、SEとしてだけでなくPL、PMとして活躍していきたいのなら、相応のスキルを磨いていく努力もしていきましょう。
【X(旧twitter)でも情報発信中】
Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!