スポンサーリンク

問題の解答・解説ページ

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

この問題をクイズ形式で解く
問題 No.4443
あるソフトウェア開発プロジェクトにおいて、変化する顧客の要望に柔軟に対応するためアジャイル開発を導入した。短い期間を繰り返すイテレーション(スプリント)を単位として開発を進め、各イテレーションの終了時には動くソフトウェアをステークホルダーにレビューしてもらい、フィードバックを得る手法をとっている。このアジャイル開発におけるイテレーションの計画と進捗管理の特徴として最も適切なものはどれか。

【正解の解説】

各イテレーションの開始時に優先度の高い機能から順に実装範囲(スコープ)を計画し、期間の延長を行わずに固定された期限内で成果物を完成させる。

これは限られた予算と時間で旅の計画を立てるようなものです。アジャイル開発では、旅行カバン(イテレーションの期間)の大きさは絶対に変えません。その代わり、カバンに入れるお土産(実装する機能)の優先順位をつけ、入る分だけを厳選して確実に持ち帰ることで、変化に強い柔軟な開発を実現します。

スポンサーリンク

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

各イテレーションの開始時に全ての機能の工数を見積もり、期間の延長を認めてすべての要件を満たしてから成果物を完成させる。

初学者が混同しやすいウォータフォール開発の考え方です。アジャイル開発では「期間の延長はしない」代わりに「スコープ(実装機能)を調整する」という真逆のルールを採用しています。すべての要件を満たそうとして期間を延ばすと、変化への柔軟性が失われてしまうため注意が必要です。

各イテレーションの終了時に全体の最終的な設計書を完成させ、期間の変更を行わずに固定された期限内で保守性を検証する。

アジャイル開発の最大の特徴は、分厚い設計書を最初から完璧に作ることではなく、動くソフトウェアを短いサイクルで素早く作ることにあります。各イテレーションの終了時に検証するのは設計書ではなく「動くソフトウェア」であり、ドキュメント重視の古い開発手法と混同しないよう注意が必要です。

各イテレーションの期間中に顧客からの追加要望を無制限に受け入れ、期間の延長を行わずに固定された期限内で強制的に実装する。

アジャイル開発は変化に柔軟に対応しますが、期間の途中で際限なく要望を追加する「スコープクリープ(野放図な変更)」を許容するわけではありません。決められた短い期間内できっちり成果を出すために、進行中のイテレーションへの新規割り込みは防ぎ、次のイテレーションの計画で調整します。