開発プロセス・開発モデル
まず結論
ソフトウェア開発の進め方(開発モデル)には複数種類があります。ウォーターフォール(順序通り)・アジャイル(反復・柔軟)・スパイラル(リスク評価を繰り返す)が試験の頻出テーマです。
ウォーターフォールモデル
① 要件定義
何を作るかを決める
↓
② 設計
どう作るかを設計する
↓
③ 実装
実際にコーディング
↓
④ テスト
動作を確認・バグ修正
↓
⑤ 運用・保守
リリース後の維持管理
各フェーズを順番通り進める。前工程が完了してから次工程へ
メリット
✅ 工程が明確で進捗管理しやすい
✅ 成果物・ドキュメントが整備される
✅ 大規模・要件が固定のプロジェクト向け
デメリット
❌ 要件変更に弱い(後戻りが困難)
❌ 動作するソフトウェアが遅い段階まで見えない
❌ 仕様変更コストが高い
アジャイル開発
アジャイル宣言の核心:「プロセスやツールよりも個人と対話を」「計画に従うことよりも変化への対応を」。短いサイクル(スプリント/イテレーション)で開発を繰り返し、顧客フィードバックを素早く反映。
スクラム
スプリント(1〜4週間)単位で開発。プロダクトオーナー・スクラムマスター・開発チームの3役割。スプリントレビューとレトロスペクティブを実施。
XP(エクストリームプログラミング)
ペアプログラミング・テスト駆動開発(TDD)・継続的インテグレーション(CI)などの実践を重視。
その他の開発モデル
| モデル | 特徴 | 向いているケース |
|---|---|---|
| スパイラル | リスク評価→設計→実装→評価を繰り返す | リスクが高く大規模なプロジェクト |
| プロトタイプ | 早期に試作品を作り顧客確認してから開発 | 要件が曖昧なプロジェクト |
| インクリメンタル | 機能を少しずつ追加しながら段階的に完成 | 優先度の高い機能から使いたいケース |
| RAD | ツールを使い短期間で開発 | 短納期プロジェクト |
🎯 試験での出方
- 「ウォーターフォールの問題点」→ 要件変更への対応が困難
- 「アジャイル開発の特徴」→ 短サイクルの反復・変化への対応
- 「プロトタイプモデルを採用する理由」→ 要件が曖昧なとき
- 「スクラムの役割」→ プロダクトオーナー・スクラムマスター・開発チーム
⚠️ よくある間違い
- 「アジャイルは計画を立てない」→ ✗ 計画は立てるが変化に柔軟に対応する(計画重視≠計画なし)
- 「ウォーターフォールは古くて使われない」→ ✗ 要件が明確な大規模プロジェクトでは今も有効
- 「スパイラルとインクリメンタルは同じ」→ ✗ スパイラルはリスク評価を含む。インクリメンタルは機能を段階的に追加する
✍️ 確認クイズ
Q1. 開発中に要件変更が頻繁に発生する場合、最も適した開発モデルはどれか。
✅ 正解は②。アジャイル開発は短いサイクルで開発・フィードバック・改善を繰り返すため、要件変更への対応が柔軟。ウォーターフォールは後戻りが困難で変更に弱い。
Q2. 要件定義が曖昧なプロジェクトで、顧客に早期から確認しながら進める開発モデルはどれか。
✅ 正解は③。プロトタイプモデルは早期に試作品(プロトタイプ)を作成して顧客に確認してもらい、フィードバックをもとに要件を確定してから本開発に進みます。要件が曖昧なときに有効。
Q3. スクラムで1〜4週間の開発サイクルのことを何というか。
✅ 正解は②。スクラムにおける固定長の開発サイクルを「スプリント」(またはイテレーション)という。バックログは開発すべき機能の一覧リスト。インクリメントはスプリントの成果物。
Q4. ウォーターフォールモデルの最大の問題点として正しいものはどれか。
✅ 正解は②。ウォーターフォールは各フェーズを順番に完了させる手法。要件定義→設計→実装→テストと流れるため、後のフェーズで問題が発覚すると前のフェーズに大きく戻る「手戻り」が発生してコスト・工期が大幅に増大します。要件変化に弱いのが最大の弱点です。
Q5. プロトタイプモデルの特徴として正しいものはどれか。
✅ 正解は②。プロトタイプモデルは早期に動く試作品を作成してユーザーにレビューさせ、要件の誤解や変更を早期に発見します。要件が不明確なプロジェクトに有効。①はスパイラルモデル、③はアジャイル(スクラム)の特徴です。
Sponsor Link