開発の基本概念

ソフトウェア開発ライフサイクル そふとうぇあかいはつらいふさいくる

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の原則を定めた宣言文

関連用語