システムライフサイクル しすてむらいふさいくる
ライフサイクル要件定義開発・導入運用・保守システム更改SDLC
システムライフサイクルについて教えて
簡単に言うとこんな感じ!
システムにも「人生」があるんだよ!「企画→作る→使う→引退」という流れのことで、発注するときはどのフェーズにいるかを意識するだけで、判断がグッと楽になるんだ!
システムライフサイクルとは
システムライフサイクル(System Life Cycle)とは、ITシステムが「構想・企画」から始まり、「開発・導入」「運用・保守」を経て「廃棄・更改」に至るまでの、一連の過程全体を指す概念です。英語では SDLC(Software/System Development Life Cycle) とも呼ばれます。
人間に「誕生→成長→働き盛り→老齢→引退」という一生があるように、システムにも同じようなサイクルがあります。発注側のビジネスパーソンがこの概念を理解しておくと、「今どのフェーズで何を決めなければいけないか」「どこで費用が大きくかかるか」が見えるようになり、ベンダーとの会話や社内の意思決定がスムーズになります。
特に重要なのは、ライフサイクル全体のコストを見越した判断をすることです。開発費だけに目が向きがちですが、実際には運用・保守フェーズのほうが長く、トータルコスト(TCO: Total Cost of Ownership)の大半を占めるケースが多くあります。
システムライフサイクルの各フェーズ
システムライフサイクルは一般的に以下の5つのフェーズに分かれます。
| フェーズ | 別名 | 主な活動 | 発注側がやること |
|---|---|---|---|
| ① 企画・構想 | プランニング | 課題整理・投資判断・ベンダー選定 | 要求をまとめ、予算を確保する |
| ② 要件定義 | 要件フェーズ | 「何を作るか」の仕様確定 | 業務要件を伝え、合意する |
| ③ 開発・導入 | 開発フェーズ | 設計・実装・テスト・リリース | 進捗確認・検収・ユーザー研修 |
| ④ 運用・保守 | 運用フェーズ | 日常運用・障害対応・機能追加 | SLAの監視・改善要望の整理 |
| ⑤ 廃棄・更改 | 移行フェーズ | データ移行・旧システム廃止 | 次期システムの企画開始 |
💡 覚え方:「企・要・開・運・廃」
「企画→要件定義→開発→運用→廃棄」の頭文字で「きよかいうんぱい(奇妙な運配)」と覚えると順番が頭に入りやすいですよ!
ライフサイクルとコストの関係
一般的に、フェーズごとのコスト配分はこんなイメージです。
[コストのイメージ]
企画 :★☆☆☆☆ (小)
要件定義:★★☆☆☆ (準備コストはここが大事)
開発 :★★★★☆ (大)
運用保守:★★★★★ (最大:数年〜10年以上続く)
廃棄更改:★★★☆☆ (移行コストを忘れずに)
歴史と背景
- 1960年代:大型汎用機(メインフレーム)の登場とともに、ソフトウェア開発の管理手法が求められ始める。「ウォーターフォールモデル」が生まれ、フェーズを順番に進める考え方が定着
- 1970年代:米国防総省(DoD)がシステム開発の標準プロセスを整備。SDLCの概念が広く普及
- 1980〜90年代:オープン系システムの普及により、企業のITシステムが急増。ライフサイクル管理が経営課題になる
- 2000年代:アジャイル開発の台頭で、ライフサイクルの「フェーズを厳密に区切る」考え方が見直される。繰り返し(イテレーション)による継続的改善モデルが登場
- 2010年代〜現在:クラウドの普及により「オンプレミス(自社設置型)からSaaSへの移行」が加速。ライフサイクルの概念がソフトウェアのバージョン管理やSaaS更新サイクルにも適用されるようになる
主なライフサイクルモデルの比較
システム開発のアプローチによって、ライフサイクルモデルには複数の種類があります。
| モデル名 | 特徴 | 向いているケース |
|---|---|---|
| ウォーターフォール | フェーズを順番に一方向で進める | 要件が明確・変更が少ない大規模システム |
| アジャイル | 短いサイクルで繰り返し開発・改善 | 要件が変わりやすいWebサービスなど |
| スパイラル | 試作を繰り返しながら拡張していく | リスクが高い・新規性の高いシステム |
| DevOps | 開発と運用を継続的に統合・自動化 | 頻繁なリリースが必要なシステム |
ウォーターフォール vs アジャイルの構造比較
関連する規格・RFC
| 規格番号 | 内容 |
|---|---|
| ISO/IEC 12207 | ソフトウェアライフサイクルプロセスの国際標準規格。開発・運用・保守の各プロセスを定義 |
| ISO/IEC 15288 | システムライフサイクルプロセスの国際標準。システムエンジニアリング全体を対象とする |
関連用語
- 要件定義 — システムに「何をさせるか」を明確にするフェーズ
- ウォーターフォールモデル — フェーズを順番に進める伝統的な開発手法
- アジャイル開発 — 短いサイクルで繰り返し改善するモダンな開発手法
- TCO(総所有コスト) — 導入から廃棄までのトータルコストを示す指標
- SLA(サービスレベル合意) — 運用フェーズで品質基準を定める契約上の取り決め
- RFP(提案依頼書) — 企画フェーズでベンダーに提案を求める文書
- 保守・メンテナンス — 運用フェーズでシステムを継続的に維持・改善する活動
- システム更改 — 老朽化したシステムを新しい仕組みに置き換えること