2026年8月7日に加筆・統合しました
「システム開発の流れ」と「システム開発手法」の2本を1本にまとめ、V字工程がなぜV字なのかの説明と、手法の選び方の表を足しました。
この記事について
身のまわりのシステムは、どういう手順で作られているのか。この記事では作る順番(工程)と、その順番をどう回すか(開発手法)をまとめて見ていきます😊
システム開発の全体像
システム開発は、大きく「決める」「作る」「確かめる」の3つに分かれます。この流れを図にすると、アルファベットのVの形になるのでV字工程と呼ばれます。
V字工程の8つの段階
| 工程 | やること | |
|---|---|---|
| 1 | 要件定義 | 「何を作るか」を決める。使う人の要望を聞き取り、必要な機能を洗い出す |
| 2 | 基本設計(外部設計) | 全体像を決める。画面・帳票・データの流れなど、使う人から見える部分 |
| 3 | 詳細設計(内部設計) | プログラムの中身を決める。処理の分け方・データの持ち方・手順 |
| 4 | 実装 | 設計をもとにプログラムを書く |
| 5 | 単体テスト | 1つ1つの部品が正しく動くか確かめる |
| 6 | 結合テスト | 部品どうしを繋いで確かめる |
| 7 | システムテスト | 全体として要件を満たしているか確かめる |
| 8 | 受入テスト | 使う人が実際に確認し、問題なければリリース |
★なぜ「V字」なのか
ただ順番に並べるだけなら、Vの形にする必要はありません。この形にすると、テストと設計の対応関係が見えるからです。
| 決める側 | ↔ | 確かめる側 | 何を確かめているか |
|---|---|---|---|
| 要件定義 | ↔ | 受入テスト | そもそも欲しかったものになっているか |
| 基本設計 | ↔ | システムテスト | 全体として決めたとおりに動くか |
| 詳細設計 | ↔ | 結合テスト | 部品どうしの繋ぎ方が設計どおりか |
| 実装 | ↔ | 単体テスト | 1つの部品が書いたとおりに動くか |
★左と右が対になっている
「単体テストが通ったのに受入で落ちる」のは、部品は正しいが、そもそも欲しかったものと違うという意味になります。どの段階の決めごとが間違っていたかが、テストの落ち方から逆算できる——これがV字にする値打ちです。
1周では終わらない
ここまでが「作る順番」の話です。ただ、この流れを1周回したら終わり、ということはほとんどありません。使ってみて初めて分かることがあるからです。
そこで「V字をどう回すか」に、いくつかのやり方が生まれました。
ウォーターフォール開発
各工程を順番に、後戻りせずに進めるやり方です。滝(waterfall)のように上から下へ流れるので、この名前がついています。
- 向いているとき … 作るものが最初から決まっている。人数が多い。品質の記録を残す必要がある
- つらいとき … 途中で要望が変わる。後の工程で問題が見つかると、前に戻る手間が大きい
アジャイル開発
短い期間(スプリント)で「決める→作る→確かめる」を回し、動くものを少しずつ増やしていくやり方です。
| やり方 | 特徴 |
|---|---|
| スクラム | 1〜4週間の区切りで計画・実施・振り返りを繰り返す。役割と会議の形が決まっている |
| カンバン | 作業を board に並べ、流れを見える化する。同時に進める数を制限する |
| XP | テストを先に書く、2人で1台を使って書く、といった実践の集まり |
早い段階で動くものが見えるので、「思っていたのと違う」に早く気づけます。その代わり、全体の完成時期や総額を最初に確定させるのは苦手です。
ウォーターフォールとの違いを並べると、こうなります。
| ウォーターフォール | アジャイル | |
|---|---|---|
| 進め方 | 全工程を1回、順番に | 短い周期を何度も |
| 動くものが見えるまで | 終盤 | 最初の数週間 |
| 要望の変更 | 苦手(前の工程に戻る) | 前提として組み込まれている |
| 完成時期・総額 | 最初に決めやすい | 決めにくい |
| 記録・書類 | 多い | 必要な分だけ |
| 向く規模 | 大人数・長期 | 少人数・中短期 |
大事なのは「早く出して直せるか」と「最初に確定させられるか」は両立しないという点です。どちらを取るかが、そのまま手法の選択になります。
スパイラル開発
試作を繰り返しながら、少しずつ完成に近づけるやり方です。危なそうなところから先に試すのが特徴で、「本当に実現できるのか分からない」部分を早めに潰せます。
どの手法を選ぶか
| 状況 | 向いているやり方 | 理由 |
|---|---|---|
| 作るものが最初から固まっている | ウォーターフォール | 計画が立てやすく、進み具合が測りやすい |
| 使ってみないと分からない | アジャイル | 早く出して、反応を見ながら直せる |
| 技術的にできるか不安がある | スパイラル | 危ないところを先に試せる |
| 止まると影響が大きい(金融・医療など) | ウォーターフォール寄り | 記録と手順を残す必要がある |
近年はアジャイルを採り入れる場面が増えていますが、どちらが優れているという話ではありません。実際には「全体はウォーターフォール、中の一部だけ短く回す」といった混ぜ方もよく使われます。
まとめ
- システム開発は決める→作る→確かめるの流れ。図にするとV字になる
- ★V字の左右は対になっている。テストの落ち方から、どの決めごとが間違っていたか分かる
- 1周で終わることはほとんどないので、回し方に手法の違いが出る
- 要件が固まっているならウォーターフォール、使ってみないと分からないならアジャイル
- 技術的な不安が大きいならスパイラル。混ぜて使うことも多い
それでは、今回はここまで。最後までありがとうございました😊