ソフトウェアプロセスモデル
定義
ソフトウェア開発の活動をどの順序・構造で行うかを定めたフレームワーク。
主要モデルの比較
| モデル | 構造 | 向いているケース |
|---|---|---|
| ウォーターフォール | 直線的・順次 | 要件が固定・変更が少ない |
| インクリメンタル | 小さなウォーターフォールを反復 | 優先度の高い機能から段階リリース |
| エボリューショナリー(スパイラル) | リスク駆動で反復 | 要件が不明確・リスクが高い |
| アジャイル(スクラム等) | 短いイテレーション・フィードバック重視 | 変化が速い・顧客関与が高い |
なぜ重要か
プロセスモデルの選択ミスは、プロジェクト後半での手戻りやチームの混乱につながる。 「どのモデルを使うか」より「なぜそのモデルが自分たちのコンテキストに合うか」を説明できることが重要。
Pressmanの視点
どのモデルも「コミュニケーション → 計画 → モデリング → 構築 → デプロイ」の5活動を含む。 違いはその繰り返し方と順序。
関連概念
出典
実践ソフトウェアエンジニアリング(Pressman)第2章