📝
プロセスアジャイルプロジェクト管理 2026年4月1日

ソフトウェアプロセスモデル

📁 概念 👁 -- 閲覧

ソフトウェアプロセスモデル

定義

ソフトウェア開発の活動をどの順序・構造で行うかを定めたフレームワーク。

定義型 vs 経験型

プロセスには根本的に異なる2種類がある:

  • 定義型(Defined): 入力・タスク・成果物が事前に完全定義できる。繰り返し可能で予測可能。要件が安定しているプロジェクトに向く。
  • 経験型(Empirical): 要件や解決策が変化する複雑な問題に向く。検査・適応を繰り返して前進する(Scrum等)。

この違いを理解せずにプロセスを選ぶと、コンテキストに合わないモデルを強制することになる。

主要モデルの比較

モデル構造向いているケース
ウォーターフォール直線的・順次要件が固定・変更が少ない
インクリメンタル小さなウォーターフォールを反復優先度の高い機能から段階リリース
エボリューショナリー(スパイラル)リスク駆動で反復要件が不明確・リスクが高い
アジャイル(スクラム等)短いイテレーション・フィードバック重視変化が速い・顧客関与が高い

なぜ重要か

プロセスモデルの選択ミスは、プロジェクト後半での手戻りやチームの混乱につながる。「どのモデルを使うか」より「なぜそのモデルが自分たちのコンテキストに合うか」を説明できることが重要。

Pressmanの視点

どのモデルも「コミュニケーション → 計画 → モデリング → 構築 → デプロイ」の5活動を含む。違いはその繰り返し方と順序。

実践ルール

  • プロセスを選ぶ前に問題の複雑さ(要件の安定性・リスクの大きさ)を評価する
  • プロセスはチームに合わせて適応させる(従うだけにしない)
  • どのプロセスでもデプロイ後のフィードバックループを組み込む

適用場面

  • プロジェクト立ち上げ時にプロセスモデルを選定するとき
  • チームが「なぜスクラムをやっているのか」を問われたとき
  • 現行プロセスが機能していない原因を診断するとき

関連概念

出典

実践ソフトウェアエンジニアリング(Pressman)第2〜4章