ソフトウェア開発手法は何を手掛かりに見分けるか
ITパスポート試験 令和2年度10月 問37 / ソフトウェア開発管理技術 › 開発プロセス・手法
過去問にチャレンジ
開発対象のソフトウェアを,比較的短い期間で開発できる小さな機能の単位に分割しておき,各機能の開発が終了するたびにそれをリリースすることを繰り返すことで,ソフトウェアを完成させる。一つの機能の開発終了時に,次の開発対象とする機能の優先順位や内容を見直すことで,ビジネス環境の変化や利用者からの要望に対して,迅速に対応できることに主眼を置く開発手法はどれか。
- ア
アジャイル
- イ
ウォーターフォール
- ウ
構造化
- エ
リバースエンジニアリング
会話形式の解説
講師開発手法を見分けるには、機能を提供した後、次の開発内容をどう決めるかに注目します。
受験者小さな機能に分けるだけでは、まだ手法を決められないのですね。
講師はい。機能ができるたびにリリースし、利用者の反応や環境の変化を踏まえて次の機能や優先順位を見直す点が決め手です。これはアジャイル開発に当たります。
受験者短い周期で提供して、その結果を次の開発に反映するのですね。ウォーターフォールとはどう違いますか。
講師ウォーターフォールは、要件定義からテストまでの工程を順に進める手法です。機能を出すたびに次の開発内容を見直す、という進め方とは異なります。
受験者構造化も、機能を小さく分けることと関係がありそうで迷います。
講師構造化は、処理や機能を整理して設計する考え方です。短い周期でリリースを繰り返す開発手法を指してはいません。
受験者リバースエンジニアリングは、開発を進める順序を表す言葉ですか。
講師いいえ。既存製品を解析して、構造や仕様を調べることです。新しい機能を順次開発して提供する進め方ではありません。
受験者正解はアジャイル開発ですね。小さく分けることに加えて、リリース後に次の内容を見直す点で判断します。
講師そのとおりです。「小さく分ける」だけで決めず、提供と見直しを繰り返す流れまで確かめると区別しやすくなります。
まとめ
正解はアジャイル開発です。小さな機能を短い周期で提供し、利用者の反応や環境の変化に応じて次の機能や優先順位を見直します。ウォーターフォールは工程を順に進める手法、構造化は設計の考え方、リバースエンジニアリングは既存製品の解析です。
解答・解説
正解はアです
この問題のテーマ
短い周期で機能を提供し、利用者の要望や環境の変化に応じて次の開発内容を見直す手法を問う問題です。
解き方の考え方
「小さな機能に分ける」「完成するたびにリリースする」「次の機能の優先順位を見直す」という流れに注目します。この流れに当てはまるのはアジャイル開発です。ほかの選択肢は、それぞれ工程の進め方、設計の考え方、既存製品の解析を指します。
選択肢ごとの解説
- ○ア アジャイルアジャイル開発は、小さな機能を短い周期で開発・提供します。提供後の反応を踏まえて次に作る機能や優先順位を調整できるため、問題文の手法に当てはまります。
- ×イ ウォーターフォールウォーターフォールは、要件定義からテストまでの工程を順に進める手法です。機能を出すたびに次の開発内容を見直すという、問題文の進め方とは異なります。
- ×ウ 構造化構造化は、処理や機能を整理して設計する考え方です。短い周期でリリースを繰り返す開発手法を指すものではありません。
- ×エ リバースエンジニアリングリバースエンジニアリングは、既存製品を解析して構造や仕様を調べることです。新しい機能を順次開発・提供する進め方ではありません。
補足
「機能を小さく分ける」だけで判断せず、リリース後に次の開発内容を見直す点まで確認すると区別しやすくなります。
POINT
- 短い周期で小さな機能を提供することが、アジャイル開発を見分ける手掛かりです。
- 次に作る機能や優先順位を見直し、利用者の反応や環境の変化を反映します。
- ウォーターフォールは、要件定義からテストまで工程を順に進めます。
- リバースエンジニアリングは、既存製品の構造や仕様を調べます。
