About Software Development
開発はどのような流れで進められるのか?
どんな業務を行っていくのか?
それぞれのフェーズでどんなメンバーが関わりながら仕事をしていくのか?
このページでは、ソフトウェア開発の流れをご紹介します。
開発プロジェクトの取りまとめを行う役割であり、プロジェクトが成功するか失敗するかもPMの手腕次第と言っても過言ではないくらい、とても重要な存在です。そのためプロジェクトの遂行にまつわるさまざまな決裁権を託されています。PMの仕事はシステムの構築ではなく、プロジェクトやメンバーの “マネージメント”が主になります。納期の取り決めなど、顧客折衝という部分でお客様との調整を行うところから、随時発生するトラブル対応の指揮やSE・PGの工程管理、メンバーの様子にも目を配りながら全体の士気を高めるようなことまで、その仕事は多岐にわたります。
開発プロジェクトが小規模の場合は立てないことも多くあります。中規模~大規模プロジェクトとなり、メンバーが増えてPMが全体に目を配ることが難しくなってくると、PLを立ててしっかりと管理ができる体制を整えていきます。PMの補佐のような役目ではありますが、内向きな管理になることが多い傾向があります。例えばSEやPGが工程を厳守するあまり、プログラムの品質が落ちていないかをチェックしたり、チーム内の各グループ間でしっかりと情報伝達が行われているかなど、より細かいところに目を向けながら、プロジェクトを動かしていきます。システム仕様についてもしっかりと理解しながら、メンバーの管理も行います。
プロジェクトチームの中ではメンバーという扱いになり、開発メンバーの一員として担当作業が割り振られます。そしてPMが作成した工程表に沿って、自分の担当業務をこなしていきます。主な作業は、担当のお客様と打ち合わせしていく中での要件の確定や仕様の検討など、主に上流工程の仕事をしていきます。
ただし“SE兼PG”として、SEがPGの役割を同時にこなしていくこともよくあります。プロジェクトを成功させるためにはPMの存在が重要だと先に述べましたが、SEも「言われたことだけ、与えられたことだけをやればいい」という受け身の精神ではなく、能動的に動くことが求められます。プロジェクトとはチーム一丸となって成功させるものなのです。SEだとしても、工程と品質に対する意識を高くしながら仕事をしていかなければなりません。
SEの手足となって、SEが用意した仕様書をもとにプログラミング・単体テストを行うのが主な作業となります。
ただし、近年ではPGが担当する工程を人件費の安い海外諸国に発注するオフショア開発も盛んになっています。
要望以上のものを
提案できる
ソフトウェア開発では、最初にお客様からの要望をいただき、それに沿って作業を進めますが、突き詰めていく中でさらに良い解決策が生まれることがあります。お客様のオーダーに応えるだけでなく、それ以上のものをご提案できることが喜びになります。
幅広く多彩な
仕事がある
ソフトウェア開発といっても、プログラミング前の設計作業や、プログラミング後の検証作業など様々な工程があります。また予算取りやお客様へのヒアリングを通じて業務フローを分析しストラテジーを立てるなど広範な仕事があり、幅広い経験ができます。
将来はクリエイティブに専心
これからのソフトウェア開発は、生産性を上げるツールやパッケージ、AIを活用して自動的に開発していく時代になっていくと考えられます。システムエンジニアは、人間にしかできないクリエイティブな業務に専心していくことで、より時間を効率化すべきと考えています。