システム開発の工程とは?要件定義からテスト・運用までの流れと成果物を一覧でわかりやすく解説

この記事の結論
システム開発の工程とは、企画から運用までの作業を段階に分けたものです。要件定義・設計・製造・テスト・運用の順に進み、工程ごとに成果物が決まっています。
- 基本の流れは要件定義・設計・製造・テスト・リリース・運用
- 設計の工程とテストの工程は、V字モデルで一対一に対応する
- アジャイルでは、短い期間で全工程を何度もくり返して進める
📖 読了時間:約11分
システム開発の工程とは、システムを企画してから運用するまでの作業を、順番に区切った段階のことです。一般的には「要件定義→基本設計→詳細設計→製造(プログラミング)→テスト→リリース→運用保守」の流れで進み、工程ごとに作るべき成果物が決まっています。
工程を区切るのは、大勢の人が関わる開発で「いま何が決まっていて、次に何をするか」をそろえるためです。工程の名前や区切り方は会社によって少しずつ違いますが、考え方の土台は共通しています。
以下では、工程の全体像と成果物の一覧、各工程の内容、設計とテストの対応を示すV字モデル、開発手法による違い、工程の経験の伝え方の順に解説します。
こんな悩みはありませんか
- システム開発の流れを一通り理解したい
- 要件定義や基本設計など、工程の名前と中身が結びつかない
- 自分が担当している作業が、全体のどこにあたるのか知りたい
- スキルシートや職務経歴書に、担当工程をどう書けばよいか迷う
この記事で分かること
- システム開発の工程の全体像と、工程ごとの成果物
- 要件定義から運用保守までの各工程の内容
- 設計とテストの対応関係(V字モデル)
- ウォーターフォールとアジャイルでの工程の違い
- 担当した工程を経歴として伝えるコツ
この記事を読めば、システム開発の全体の流れと、自分が担当している工程の位置づけが分かります。まずは無料でスキルログに登録し、これまでに担当した工程を案件ごとに整理してみましょう。
システム開発の工程とは、企画から運用までの作業を、成果物で区切った段階のことです。国内ではIPAの「共通フレーム」が、工程を共通の言葉でそろえるための参考になります。
システム開発では、顧客、営業、システムエンジニア、プログラマー、テスト担当など多くの人が関わります。全員が同じ順番と言葉で仕事を進められるように、作業を工程に分け、各工程の終わりに「何ができていればよいか」を成果物で決めておきます。
工程を分ける理由
- 進み具合を測る:どの工程まで終わったかで、全体の進捗が分かる
- 手戻りを減らす:決めたことを成果物に残し、後から食い違わないようにする
- 役割を分ける:工程ごとに担当者や会社を分けて、分業できるようにする
- 見積もりを立てる:工程ごとに必要な人数と期間を見積もれる
IPAの共通フレーム2013
IPA(情報処理推進機構)の「共通フレーム2013」は、ソフトウェアの開発や運用に関わる作業を、立場の違う人どうしが同じ言葉で話せるように整理した枠組みです。国際規格のISO/IEC 12207をもとに日本独自の内容を加えたもので、作業は「プロセス」「アクティビティ」「タスク」の階層で定義されています。発注者と開発会社が、作業の範囲や役割分担を確かめるときの参考にできます。
システム開発の工程一覧と成果物
要件定義から運用保守まで、工程ごとに作業の目的と成果物が決まっています。
一般的なウォーターフォール型の開発での、主な工程と成果物を一覧にまとめました。工程の名前は会社によって異なり、基本設計を「外部設計」、詳細設計を「内部設計」と呼ぶこともあります。
| 工程 | 主な作業 | 主な成果物 |
|---|---|---|
| 要件定義 | 顧客の要望を聞き、作る範囲と必要な機能・性能を決める | 要件定義書 |
| 基本設計(外部設計) | 画面、帳票、機能、データなど利用者から見える部分を設計する | 基本設計書、画面設計書 |
| 詳細設計(内部設計) | プログラムの構造や処理の手順など、内部の作り方を設計する | 詳細設計書 |
| 製造(プログラミング) | 設計書にもとづいてプログラムを書く | ソースコード |
| 単体テスト | 部品(関数・画面など)ごとに正しく動くか確かめる | 単体テスト仕様書・結果 |
| 結合テスト | 部品を組み合わせて、つなぎ目が正しく動くか確かめる | 結合テスト仕様書・結果 |
| 総合テスト(システムテスト) | システム全体が要件どおりに動くか確かめる | 総合テスト仕様書・結果 |
| 受入テスト・リリース | 顧客が確認し、本番の環境に移す | 受入テスト結果、移行計画書 |
| 運用保守 | 稼働を見守り、障害対応や改修を行う | 運用手順書、障害報告書 |
上流工程と下流工程
要件定義から基本設計までを「上流工程」、詳細設計や製造、テストを「下流工程」と呼ぶのが一般的です。上流で決めたことが下流の作業をすべて左右するため、上流の誤りほど後から直すのに大きな手間がかかります。
工程の略語も覚えておく
現場では、要件定義をRD、基本設計をBD、単体テストをUTのように略語で呼ぶことがよくあります。主な略語と英語表記は開発工程の略語一覧でまとめています。
システム開発の各工程でやること
各工程は、前の工程の成果物を受け取り、次の工程に渡す成果物を作ることが仕事です。
要件定義:何を作るかを決める
顧客が抱える課題を聞き出し、システムで実現することと、しないことを決めます。業務の流れ、必要な機能、性能や安全性などの条件をまとめ、顧客と合意します。進め方と成果物の詳細は要件定義とは?進め方・成果物・例で解説しています。
基本設計・詳細設計:どう作るかを決める
基本設計では、画面や帳票、機能の一覧、データの持ち方など、利用者から見える部分を決めます。詳細設計では、それを実現するためのプログラムの構造や処理の手順を決めます。2つの違いは基本設計と詳細設計の違いで比較しています。
製造:プログラムを作る
詳細設計書をもとに、プログラミング言語でコードを書きます。チームで開発する場合は、書いたコードをほかのメンバーが確認するコードレビューも、この工程の大切な作業です。
テスト:段階的に確かめる
小さな部品から順に、単体テスト、結合テスト、総合テストと範囲を広げながら確かめます。各テストの違いと観点は単体テストと結合テストの違いで解説しています。
リリース・運用保守:動かし続ける
本番の環境に移した後も、システムは使われ続ける限り、障害への対応や法改正に合わせた改修が必要です。開発にかかった期間より、運用保守の期間のほうがずっと長いシステムも珍しくありません。
自分が担当している工程を、この流れの中に位置づけておくと、経歴を説明するときにも役立ちます。スキルログなら案件ごとに担当工程を入力できるので、その位置づけをそのまま記録として残せます。
V字モデルで見る設計とテストの対応
設計の工程で決めたことを、それに対応するテストの工程で確かめる、という関係を示したのがV字モデルです。
V字モデルとは、左側に設計の工程、右側にテストの工程を並べ、どの設計をどのテストで確かめるかを対応づけた図のことです。工程を順に並べると左から右へV字の形になることから、こう呼ばれます。
| 設計の工程(左側) | 対応するテストの工程(右側) | 確かめること |
|---|---|---|
| 要件定義 | 総合テスト・受入テスト | 業務で使える状態になっているか |
| 基本設計 | 結合テスト | 機能どうしが正しく連携するか |
| 詳細設計 | 単体テスト | 部品が設計どおりに動くか |
テストの計画は設計と同時に考える
V字モデルの考え方では、テストの観点は設計を書いた時点で決められます。設計の段階で「これをどう確かめるか」を考えておくと、あいまいな仕様に早く気づけます。
開発手法による工程の進め方の違い
ウォーターフォールは工程を一度ずつ順に進め、アジャイルは短い期間で全工程を何度もくり返します。
| 観点 | ウォーターフォール | アジャイル |
|---|---|---|
| 工程の進め方 | 要件定義から順に一度ずつ進める | 1〜4週間ほどの短い期間で全工程をくり返す |
| 仕様の変更 | 後の工程での変更は手戻りが大きい | 期間ごとに見直し、変更を取り込みやすい |
| 向いている開発 | 仕様が固まっている大規模な開発 | 仕様が変わりやすい新しいサービスの開発 |
アジャイルでも工程がなくなるわけではない
アジャイル開発でも、何を作るかを決め、設計し、作り、確かめるという作業そのものはなくなりません。短い期間の中に小さく詰め込み、それを何度もくり返すのが違いです。
2つを組み合わせることもある
要件定義と基本設計はウォーターフォールで進め、その後の開発をアジャイルで進めるなど、両方を組み合わせる進め方もあります。2つの違いと選び方はアジャイルとウォーターフォールの違いで詳しく比べています。
担当した工程を経歴で伝えるコツ
工程の名前だけでなく、その工程で何を作り、どんな役割を担ったかまで書くと伝わります。
転職や案件探しでは、「どの工程を担当できるか」が評価の大きな基準になります。経歴を書くときは、次の3点をそろえると伝わりやすくなります。
- 工程:要件定義、基本設計、製造、結合テストなど、担当した範囲
- 成果物:作成した設計書やテスト仕様書の種類と量
- 役割:一人で担当したのか、チームをまとめたのか
担当した工程は、経歴の中でも読み手が特に知りたい情報です。ただ、ExcelやWordで経歴を書き足していくと、案件ごとに書く項目がばらつき、担当した工程の範囲や役割があいまいになりがちです。スキルログで記録すると、次の点で楽になります。
- 項目がそろう:案件ごとに期間・役割・プロジェクト規模・チーム規模・業種・担当工程・成果を同じ項目で入力するので、書き漏れがなく、案件どうしを比べやすい
- 体裁を整える手間がない:入力した内容はPDF出力で体裁の整ったスキルシートになり、新しい案件を足したらそのまま出し直せる
- 伸びたスキルが見える:スキルごとにS・A・Bなどの自己評価と経験年数を並べて確認でき、次に伸ばすところが分かる
登録した経歴をもとに、自分の経験で狙える求人や案件、年収や単価の目安を、転職・案件相談で一緒に確かめることもできます。
まとめ
システム開発の工程は、決める・作る・確かめる・動かし続けるの流れを、成果物で区切ったものです。
システム開発の工程は、要件定義、基本設計、詳細設計、製造、テスト、リリース、運用保守の順に進みます。各工程で成果物を残し、次の工程に引き継ぐことで、大勢が関わる開発でも認識をそろえられます。
設計とテストはV字モデルで対応しており、アジャイルでは短い期間で全工程をくり返します。自分が担当している工程を全体の流れの中で理解しておくことが、次に担当できる工程を広げる第一歩です。
よくある質問
システム開発の工程についてよく寄せられる質問をまとめました。
システム開発の工程で最も重要なのはどこですか?
要件定義です。ここで決めたことが後の工程すべての前提になるため、誤りや抜けがあると、後になるほど直す手間が大きくなります。
基本設計と外部設計は同じ意味ですか?
ほぼ同じ意味で使われます。利用者から見える部分を決める工程を、会社によって基本設計とも外部設計とも呼びます。同様に、詳細設計は内部設計と呼ばれることがあります。
プログラマーはどの工程を担当しますか?
主に詳細設計の一部、製造、単体テストです。経験を積むと、結合テストや基本設計まで任されるようになります。
開発全体の期間はどれくらいですか?
規模によって大きく異なります。小さな改修なら数週間、新しい大規模なシステムなら1年以上かかることもあります。
未経験者が最初に担当するのはどの工程ですか?
テストや製造が多いです。決められた手順で確かめる作業から始め、仕様を理解しながら担当できる範囲を広げていくのが一般的です。
ここまでの内容を踏まえて、まずはスキルログに無料で登録し、これまでに担当した工程と成果物を、案件ごとに入力してみましょう。
あわせて読みたい
- 要件定義とは?進め方6ステップと要件定義書の項目・記載例、よくある失敗と対策を解説
- 基本設計と詳細設計の違い|外部設計・内部設計との関係と決めること・成果物を例で解説
- アジャイルとウォーターフォールの違い|比較表と選び方の基準・契約・組み合わせ方を解説
- 上流工程と下流工程の違いとは?含まれる工程・年収の差・どっちが向いているかをわかりやすく解説
- 単体テストと結合テストの違い|総合テストとの関係・観点・テスト仕様書の例をわかりやすく解説
- 開発工程の略語一覧|RD・BD・DD・UT・IT・STの意味と英語表記、現場での使い方
- アジャイル開発とは?特徴・メリット・デメリットを現役エンジニアが徹底解説


