スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2298
ある企業で新規の業務システム開発を行うことになり、プロジェクトの全体計画を策定している。要件定義、設計、プログラミング、テストの各工程をトップダウンで順番に実施し、各工程の成果物を確実に文書化して進めていくウォータフォール開発を採用する場合、この手法の運用において注意すべき点として、最も適切なものはどれか。

【正解の解説】

初期の要件定義に不備や見落としがあった場合、プロジェクトの後半工程で発覚した際の手戻りコストが非常に大きくなる。

ウォータフォール開発は高いビルを建てる建築工事のようなものです。最初に完璧な設計図を描いてから施工を始めるため、もし最上階を作っている段階で「やっぱり1階の玄関の位置を変えたい」と言い出すと、一度建てたものを大きく壊して作り直す必要があり、時間も費用も膨れ上がってしまいます。そのため、最初の計画づくりが極めて重要になるのです。

スポンサーリンク

【その他の選択肢の解説】

開発途中の仕様変更や顧客からの追加要望に対して、柔軟かつ迅速に対応できるため短期間でのリリースが可能になる。

開発途中の仕様変更や追加要望に柔軟に対応できるのは、短いサイクルで小さな開発を繰り返す「アジャイル開発」の得意分野です。ウォータフォール開発は上流工程から下流工程へと水が流れるように一方通行で進むため、途中で仕様を変えようとすると全体のスケジュールや設計が崩壊してしまうという罠があります。

各工程の完了ごとにプログラムの動作確認や検証を行うため、開発終盤での総合テスト工程を完全に省略できる。

個々の部品が正しく動くことを確認する単体テストや結合テストを行ったとしても、システム全体を結合したときに予期せぬ不具合が発生することは多々あります。そのため、すべてのパーツを組み合わせた最終的な総合テストやシステムテストは、品質を担保するために必ず実施しなければならない不可欠な工程です。

プログラミングやテストの作業を複数のチームで並行して進めることで、全体の工数を大幅に削減することができる。

ウォータフォール開発は「要件定義が終わったら設計、設計が終わったらプログラミング」というように、前の工程が完全に完了してから次の工程へ進む順次進行が原則です。もしプログラミングとテストを並行してバラバラに進めてしまうと、完成していない仕様に基づいて作業することになり、大混乱を招く原因となります。