発注の基本

システムライフサイクル しすてむらいふさいくる

ライフサイクル要件定義開発・導入運用・保守システム更改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 アジャイルの構造比較

ウォーターフォール ① 企画・要件定義 ② 設計 ③ 開発・実装 ④ テスト ⑤ 運用・保守 ▼ 一方向・順番に進む アジャイル スプリント①(2〜4週間) 計画→開発→テスト→リリース スプリント②(2〜4週間) 計画→開発→テスト→リリース スプリント③(2〜4週間) 計画→開発→テスト→リリース スプリントN …繰り返す ▼ 短いサイクルで反復

関連する規格・RFC

規格番号内容
ISO/IEC 12207ソフトウェアライフサイクルプロセスの国際標準規格。開発・運用・保守の各プロセスを定義
ISO/IEC 15288システムライフサイクルプロセスの国際標準。システムエンジニアリング全体を対象とする

関連用語