問題
問37
開発対象のソフトウェアを、比較的短い期間で開発できる小さな機能の単位に分割しておき、各機能の開発が終了するたびにそれをリリースすることを繰り返すことで、ソフトウェアを完成させる。一つの機能の開発終了時に、次の開発対象とする機能の優先順位や内容を見直すことで、ビジネス環境の変化や利用者からの要望に対して、迅速に対応できることに主眼を置く開発手法はどれか。
- アジャイル
- ウォータフォール
- 構造化
- リバースエンジニアリング
[出典:ITパスポート試験 令和2年度 問37]
スポンサーリンク
正解
正解は「ア」です。
解説
正解は「アジャイル」です。アジャイル開発は、機能を小さな単位に分けて、短期間で開発・テスト・リリースを繰り返しながらソフトウェアを完成させていく開発手法です。大きな特徴は「柔軟性」と「反復性」で、開発の途中でも優先順位や要件の変更に対応できるため、変化の激しいビジネス環境に適しています。
たとえば、レストランで一度にすべての料理を注文するのではなく、前菜を食べた後に「次は何を食べようか」と考えながら料理を順に出していくようなイメージです。これにより、顧客の要望を反映しながら開発が進むので、満足度の高い製品を作ることが可能になります。また、利用者や関係者と頻繁にコミュニケーションを取ることも重要で、途中経過を確認しながら方向修正していけるのも利点です。
イ(ウォータフォール):
一度すべての要件を定め、上流工程から下流工程へと順に開発を進めていく手法です。後戻りが難しく、変更への柔軟な対応は困難です。
ウ(構造化):
ソフトウェア開発を階層的に整理し、トップダウンで分解していく手法で、全体設計が重視されます。アジャイルのような反復的・柔軟な開発とは異なります。
エ(リバースエンジニアリング):
既存のソフトウェアを解析して、構造や設計を明らかにする手法です。新規開発や変更への迅速対応を目的とするものではありません。
難易度
この問題は「アジャイル開発」という現代的な開発手法の基本的な特徴を理解していれば解ける問題です。アジャイルという言葉自体は聞いたことがある人も多いため、初心者でも比較的取り組みやすい問題ですが、他の選択肢との違いが曖昧な場合は混乱するかもしれません。
スポンサーリンク
用語補足
アジャイル開発:
小さな機能単位で短期間に開発・テスト・リリースを繰り返す手法で、変化に柔軟に対応できます。例えるなら、「まず一品ずつ料理を試して、次に何を頼むかをその都度決める」ような方法です。
ウォータフォール開発:
設計→実装→テスト→運用と順番に進めていく手法で、途中での変更が難しいのが特徴です。例えるなら、設計図通りに一気に家を建てていくような開発方式です。
対策
アジャイル開発とウォータフォール開発の違いを明確に理解し、それぞれの特徴・メリット・デメリットを整理することが重要です。特にアジャイルの「反復」「短期間」「柔軟性」といったキーワードをしっかり押さえておくと、類題にも対応しやすくなります。