問題 No.3090
システム開発のウォータフォール開発におけるプロジェクトマネジメント上の特性に関する記述として、最も適切なものはどれか。
【正解の解説】
あらかじめ定められた工程の順序に従って進めるため、全体のスケジュールやマイルストーン管理が立てやすい反面、要件変更への対応が硬直的になりやすい。
まるで一度コンクリートで固めたら後から形を変えられない「建造物」を建てるようなものです。最初の設計図を完璧に作り上げてから上流から下流へ水が流れるように進めるため、全体の計画や予算は立てやすいですが、途中で「やっぱり部屋を増やしたい」と言われても対応が非常に難しくなります。
スポンサーリンク
【その他の選択肢の解説】
プロトタイピングを繰り返しながら段階的に詳細化して進めるため、手戻りのリスクを最小化できる反面、初期段階での全体予算や工期の確定が困難になりやすい。
初学者が「手戻りを防ぐ」という言葉の響きから選んでしまいがちな罠です。ウォータフォールは最初にすべての計画をガチガチに固めるため、初期段階で予算も工期も確定しやすいですが、後から変更が発生すると莫大な手戻りリスクが発生するという点が真逆になっています。
個々の機能を独立した小さな単位で短いサイクルごとに開発するため、仕様の変更に柔軟に対応できる反面、システム全体のアーキテクチャの一貫性を維持しにくい。
仕様変更に柔軟に対応できるのはアジャイル開発の強みです。ウォータフォールは全体を大きな一つの計画として上流から下流へ順番にこなしていくため、機能ごとに独立して開発するアジャイルとはアプローチが根本的に異なります。試験などの選択肢でよく混同されるので注意が必要です。
すべての開発フェーズを並行して進めることで全体のリードタイムを大幅に短縮できる反面、各担当者間の情報共有不足による品質の低下や手戻りが発生しやすい。
設計が終わっていないのにプログラミングを始めるような並行作業は、システム開発において大混乱を引き起こすアンチパターンです。ウォータフォールは「前の工程が完全に完了してから次の工程に進む(上流から下流へ水を流す)」という厳格な順序が最大の特徴であるため、この記述は根本から誤っています。