ソフトウェア開発ライフサイクル そふとうぇあかいはつらいふさいくる
SDLCウォーターフォールアジャイル要件定義テストDevOps
ソフトウェア開発ライフサイクルについて教えて
簡単に言うとこんな感じ!
家を建てるとき「設計→基礎工事→内装→検査→引き渡し」みたいな順番があるよね。ソフトウェア開発も同じで、「要件定義→設計→開発→テスト→リリース→保守」って決まった流れがあるんだ。その一連の流れのことを SDLC(エスディーエルシー)って呼ぶよ!
ソフトウェア開発ライフサイクルとは
ソフトウェア開発ライフサイクル(Software Development Life Cycle、略して SDLC)とは、ソフトウェアを企画・設計・開発・テスト・リリース・運用・廃止するまでの一連のプロセスを体系化したフレームワークです。「何を作るか」を決める要件定義フェーズから始まり、各工程を順序立てて進めることで、品質の高いシステムを効率よく届けることができます。
ビジネスパーソンにとって大切なのは、SDLCを理解することで「いつ・何を・誰が決めるべきか」が明確になる点です。たとえば要件定義フェーズはビジネス側が主導する場面であり、ここで曖昧なまま進めると後で大幅なコスト増や手戻りが発生します。システム発注の担当者がSDLCを知っておくことは、ベンダーとの交渉や進捗確認でも非常に役立ちます。
SDLCにはウォーターフォール・アジャイル・スパイラルなど複数の「手法(モデル)」があり、プロジェクトの性質に合わせて選択します。近年はDevOpsの考え方を取り入れ、開発と運用を統合した継続的なサイクルへと進化しています。
開発フェーズの構造
| フェーズ | 英語名 | やること | 主な成果物 |
|---|---|---|---|
| 要件定義 | Requirements | 何を作るか・何が必要かを決める | 要件定義書、RFP |
| 設計 | Design | どう作るかを設計する | 基本設計書、詳細設計書、ER図 |
| 実装・開発 | Implementation | 実際にコードを書く | ソースコード |
| テスト | Testing | 正しく動くか確認する | テスト仕様書、バグ管理票 |
| リリース | Deployment | 本番環境に展開する | リリースノート、移行計画書 |
| 運用・保守 | Maintenance | 安定稼働・改善・障害対応 | 変更管理票、運用手順書 |
覚え方:「要設実テリ保」
フェーズの頭文字を並べると 「ようせつじつてりほ」 !
要 (件定義)
設 (計)
実 (装・開発)
テ (スト)
リ (リース)
保 (守)
「要設実テリ保」と唱えれば、どのタイミングで何を確認すべきかが自然と頭に入るよ。
各フェーズの発注側の関与度
| フェーズ | 発注側の関与 | 主なアクション |
|---|---|---|
| 要件定義 | ★★★ 高い | 業務要件を伝える・承認する |
| 設計 | ★★☆ 中程度 | レビュー・承認 |
| 実装・開発 | ★☆☆ 低い | 進捗確認 |
| テスト | ★★☆ 中程度 | ユーザー受入テスト(UAT)の実施 |
| リリース | ★★★ 高い | 本番移行の最終承認 |
| 運用・保守 | ★★☆ 中程度 | 障害報告の受領・追加要件の依頼 |
歴史と背景
- 1960年代 — 大型コンピューター向けに「開発の流れ」を標準化する概念が米国防総省(DoD)などで登場
- 1970年 — Winston W. Royceが論文でウォーターフォール型モデルを体系化(実は論文内で「欠陥がある」と警告していたが、後世に誤解される形で普及)
- 1988年 — Barry Boehm がスパイラルモデルを提唱。リスク管理を重視した反復型の先駆けとなる
- 1994年 — 米国政府GAO報告書で、大型ITプロジェクトの大半が予算超過・遅延していると判明。SDLC見直しの機運が高まる
- 2001年 — アジャイルマニフェストが発表。12の原則をもとに反復型・協調型の開発スタイルが急速に普及
- 2010年代 — DevOps が登場し、開発(Dev)と運用(Ops)を統合。CI/CDによる継続的デリバリーが標準化
- 2020年代 — AI支援開発(GitHub Copilot等)が普及し、実装フェーズの高速化が進行中
ウォーターフォールとアジャイルの比較
| 比較項目 | ウォーターフォール | アジャイル |
|---|---|---|
| 進め方 | フェーズを順番に完了 | 短いスプリントを繰り返す |
| 要件変更への対応 | 難しい(コスト大) | 柔軟に対応できる |
| 向いているプロジェクト | 要件が明確・変更が少ない | 要件が変わりやすい |
| 成果確認のタイミング | 完成後 | スプリントごと |
| 日本での一般的な契約形式 | 請負契約が多い | 準委任契約が多い |
| 代表的な適用例 | 基幹システム・官公庁 | Webサービス・スタートアップ |
関連する規格・標準
| 規格・標準名 | 内容 |
|---|---|
| ISO/IEC 12207 | ソフトウェアライフサイクルプロセスの国際標準規格 |
| CMMI(能力成熟度モデル統合) | 開発プロセスの成熟度を5段階で評価するフレームワーク |
| PMBOKガイド | SDLCをプロジェクト管理と結びつけるグローバル標準(PMI発行) |
| アジャイルマニフェスト(2001年) | アジャイル開発の4つの価値・12の原則を定めた宣言文 |
関連用語
- ウォーターフォールモデル — フェーズを順番に進める直線型の開発モデル
- アジャイル開発 — 短いスプリントを繰り返す反復型の開発手法
- DevOps — 開発と運用を統合し継続的デリバリーを実現する文化・手法
- 要件定義 — 何を作るかをビジネス側とIT側で合意するフェーズ
- ユーザー受入テスト(UAT) — テストフェーズで発注側が行う最終確認