マナビングITパスポート

アジャイル開発の事例は何を見て選ぶ?

ITパスポート試験 令和3年度 問51 / ソフトウェア開発管理技術 › 開発プロセス・手法

過去問にチャレンジ

令和3年度 問51

アジャイル開発を実施している事例として,最も適切なものはどれか。

  1. ア

    AIシステムの予測精度を検証するために,開発に着手する前にトライアルを行い,有効なアルゴリズムを選択する。

  2. イ

    IoTの様々な技術を幅広く採用したいので,技術を保有するベンダーに開発を委託する。

  3. ウ

    IoTを採用した大規模システムの開発を,上流から下流までの各工程における完了の承認を行いながら順番に進める。

  4. エ

    分析システムの開発において,分析の精度の向上を図るために,固定された短期間のサイクルを繰り返しながら分析プログラムの機能を順次追加する。

会話形式の解説

講師講師
開発手法を見分けるには、使う技術よりも、開発をどんな順序とサイクルで進めるかに注目します。
受験者受験者
AIやIoTという言葉が目立ちますが、それだけでは判断できないのですね。
講師講師
はい。アジャイル開発の手掛かりは、短い期間を繰り返し、そのたびに機能を段階的に追加することです。
受験者受験者
開発前にトライアルでアルゴリズムを選ぶ事例も、試行を重ねているように見えます。
講師講師
それはPoC、つまり技術が有効かを開発前に確かめる概念実証です。短いサイクルを繰り返す開発の進め方は示していません。
受験者受験者
技術を持つベンダーへの委託も、進め方とは別の話ですか。
講師講師
そうです。外部委託は誰に開発を任せるかという話で、開発の進め方までは決まりません。
受験者受験者
各工程の完了を承認しながら順番に進める事例は、どう考えますか。
講師講師
それは上流から下流へ順に進めるウォーターフォール開発の特徴です。大規模なシステムかどうかや、IoTを使うかどうかは決め手になりません。
受験者受験者
すると、短いサイクルを繰り返して分析プログラムの機能を順に追加する事例が当てはまりますね。
講師講師
はい。反復と段階的な機能追加がそろっているので、その事例が正解です。
受験者受験者
技術名ではなく、開発の順序とサイクルを読めば区別できますね。
講師講師
「短期間・反復・順次追加」と「工程を順番に・完了を承認」を読み分けると、迷いにくくなります。

まとめ

アジャイル開発は、短い期間のサイクルを繰り返しながら機能を段階的に追加する手法です。開発前に技術の有効性を試すPoCや、ベンダーへの外部委託は、開発の進め方を示すものではありません。各工程を承認しながら上流から下流へ順に進める方式はウォーターフォール開発です。この問題では、短いサイクルを反復して分析プログラムの機能を追加する事例が正解です。

解答・解説

正解はエです

この問題のテーマ

開発の進め方を説明した文の中から、アジャイル開発に当たる事例を選ぶ問題です。アジャイル開発の特徴である「短いサイクルの反復」と「機能の段階的な追加」を見分けられるかが問われています。

解き方の考え方

まず、アジャイル開発は短い開発期間を何度も繰り返し、そのたびに機能を少しずつ足していく手法だと押さえます。次に、各選択肢が「開発の進め方」を説明しているかどうかを確かめます。開発前の検証や委託先の選び方は、進め方そのものの説明ではありません。工程を順番に進める方式はウォーターフォール開発です。こうして消していくと、短いサイクルを反復して機能を足していく事例だけが残ります。

選択肢ごとの解説

  1. ×ア  AIシステムの予測精度を検証するために,開発に着手する前にトライアルを行い,有効なアルゴリズムを選択する。
    開発に着手する前にトライアルを行い、アルゴリズムの有効性を確かめる取組みです。技術が有効かどうかを開発前に試す行為はPoC(概念実証)に当たります。短いサイクルを繰り返す開発の進め方を説明したものではありません。
  2. ×イ  IoTの様々な技術を幅広く採用したいので,技術を保有するベンダーに開発を委託する。
    技術を持つベンダーに開発を任せる話で、外部委託に当たります。誰に頼むかを決めただけでは、開発をどう進めるかは決まりません。そのため、アジャイル開発の事例とはいえません。
  3. ×ウ  IoTを採用した大規模システムの開発を,上流から下流までの各工程における完了の承認を行いながら順番に進める。
    上流から下流まで、各工程の完了を承認しながら順に進める方式です。これはウォーターフォール開発の特徴です。システムが大規模でIoTを使っているという点は、手法の判別には関係しません。
  4. ○エ  分析システムの開発において,分析の精度の向上を図るために,固定された短期間のサイクルを繰り返しながら分析プログラムの機能を順次追加する。
    固定された短い期間のサイクルを繰り返しながら、分析プログラムの機能を順に追加しています。短い期間の反復と機能の段階的な追加は、どちらもアジャイル開発の特徴です。したがって、これがアジャイル開発を実施している事例です。

補足

選択肢には「AI」「IoT」「分析システム」のような目を引く言葉が入っていますが、手法を見分けるときの決め手にはなりません。注目すべきなのは「どのような順序とサイクルで開発を進めているか」という点です。「短期間」「反復」「順次追加」がそろっていればアジャイル開発、「工程を順番に」「完了の承認」とあればウォーターフォール開発と読み分けると、迷いにくくなります。

POINT

  • アジャイル開発は、短い開発期間を繰り返しながら進める手法です。
  • アジャイル開発では、繰り返しのたびに機能を段階的に追加していけます。
  • 工程を上流から下流へ順に、承認を経ながら進める方式はウォーターフォール開発です。
  • 開発前に技術の有効性を試すことはPoC、ベンダーに開発を任せることは外部委託であり、どちらも開発の進め方を表す言葉ではありません。

※出典:令和3年度 ITパスポート試験 問51