システム開発工程と各職種のポジション

皆さんは、システムがどのように開発されているかご存知ですか?

一つのシステムを開発するためには、様々な職種の人が携わっています。
また、システムが完成されるまでにはいくつかの工程が存在し、工程ごとに関わる人が異なります。
ここでは、システム開発の工程と主な職種のポジションについて見ていきましょう。

各職種のポジション

下の表は、システム開発の工程と各職種のポジションを表しています。職種ごとに携わる工程が異なることが分かります。IT業界研究にもなるので、是非参考にしてみてください。

各工程の仕事内容

要件定義

要件定義は、システム開発において必要になる機能や性能、システム化する範囲などを明確にしていく工程です。

顧客(一般的にエンドユーザーと呼ぶ)の要求が文書化された資料や打ち合わせでのヒアリングから、顧客がどのようなシステムを望んでいるのかを明らかにしていきます。(要求分析)

それを踏まえて、顧客の現状業務やシステムを分析し、「今後はどのようなシステムが必要か」、「どのような技術を使って実装していくか」を考え、併せてプロジェクトを進めるための人員数や時間、リスクなども検討していきます。

全体像が決まったら、「要件定義書」と呼ばれる資料に文章でまとめます。

この工程で顧客側とシステム開発者側で認識のずれが生じると、後に致命的な結果を導く場合があるため、非常に重要な工程になります。

基本設計

要件定義でまとまった内容をもとに、システムの基本的な構成を検討していきます。基本設計は「外部設計」と呼ばれることもあり、主に顧客が関わる部分を設計します。

「どのような操作画面や操作方法なのか」、「どのような機能が使いやすいか」など、顧客のことを第一に考えた設計を心がける必要があります。

詳細設計

詳細設計は「内部設計」と呼ばれることもあり、基本的に顧客が関わらないような内部処理方法を決定します。つまり、システムを開発するために必要なものを明確にする工程です。

「開発はどのような環境で行うのか」、「実装予定の機能に対し、どのような技術や仕組みで実現するのか」などを取り決めていきます。

ここで決まった内容は「仕様書」と呼ばれる設計書のようなものにまとめられ、実際に開発を担当するプログラマ(以下、PG)に渡ります。PGは、仕様書をもとにプログラミングを行い、システムを開発します。

開発

開発は主にプログラミングを行う工程です。基本設計・詳細設計で定められた「仕様書」をもとに、実際にプログラムを作成します。コーディングとも言います。

テスト・総合テスト

開発が完了したら、システムが正常に動作するかをテストします。品質を安定させるための重要な工程です。

システムはいくつかのパーツに分けて開発されるため、初めはパーツごとに動きを確認する「単体テスト」を行います。その後、パーツごとのデータ受け渡しや画面移動が正常に行われているかをチェックする「結合テスト」、実際に運用する際の環境に近づけた状態での「総合テスト」を経て、いよいよ顧客にお披露目です。テスト工程でバグが発生した場合は、PGに修正を依頼し、改めてテストを行います。

システム開発側のテストはここまでです。その後は顧客がテストを行う「運用テスト」を経て、問題が無ければ完成です。

導入(本番移行)

全てのテストが終わると、実際に顧客のもとへ導入されます。
納品、本番移行、システム移行、リリース、カットオーバーなど、様々な呼び方があります。

運用保守

導入後も、システムの運用や保守をサポートします。不具合があった場合の修正や、新しいコンテンツの開発・追加などを行います。PGや、運用管理・保守を専門とするオペレーションエンジニアが担当します。