マナビングITパスポート

アジャイル開発とは?ウォーターフォールや試作との違い

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

過去問にチャレンジ

令和6年度 問40

アジャイル開発に関する記述として,最も適切なものはどれか。

  1. ア

    開発する機能を小さい単位に分割して,優先度の高いものから短期間で開発とリリースを繰り返す。

  2. イ

    共通フレームを適用して要件定義,設計などの工程名及び作成する文書を定義する。

  3. ウ

    システム開発を上流工程から下流工程まで順番に進めて,全ての開発工程が終了してからリリースする。

  4. エ

    プロトタイプを作成して利用者に確認を求め,利用者の評価とフィードバックを行いながら開発を進めていく。

会話形式の解説

講師講師
今回はアジャイル開発の進め方を問う問題です。4つの選択肢は、それぞれ別の開発手法や枠組みを説明しています。どの選択肢が何の説明なのかを当てはめていくと解きやすくなります。
受験者受験者
カタカナの手法名がいくつも出てきて混乱しやすいところです。利用者に確認してもらいながら進める選択肢がアジャイルらしく見えて、迷っています。
講師講師
そこがこの問題で一番迷いやすい点です。先に、アジャイル開発の目印を3つ押さえておきましょう。機能を小さな単位に分けること、優先度の高いものから作ること、短い期間で開発とリリースを繰り返すことです。
受験者受験者
その3つがそろっているのは、機能を小さく分けて優先度の高いものから短期間で開発とリリースを繰り返す、という選択肢ですね。
講師講師
そのとおりです。これがアジャイル開発の基本的な進め方です。繰り返すたびに動く機能を届けられるので、早い段階で利用者の反応が分かり、要件が変わっても対応しやすくなります。
受験者受験者
では、試作品を見てもらって評価を反映していく選択肢は何の説明でしょうか。利用者の意見を取り入れる点は同じに見えます。
講師講師
それはプロトタイピングモデルです。プロトタイプとは試作品のことです。利用者の意見を取り入れる点は確かにアジャイル開発と似ています。ただ、アジャイル開発の中心は、機能を短い反復で少しずつ提供していくことにあります。この選択肢には反復やリリースの話が書かれていません。
受験者受験者
なるほど。上流から順番に進めて、全部終わってからリリースする選択肢は、ウォーターフォールモデルですね。
講師講師
はい。滝の水が上から下へ流れるように、工程を一つずつ順に進める方式です。リリースが最後の1回だけなので、リリースを繰り返すアジャイル開発とは正反対です。
受験者受験者
残りの共通フレームの選択肢は、開発手法とは少し違う気がします。
講師講師
その感覚で合っています。共通フレームは、工程・作業・用語・成果物の呼び方を関係者の間でそろえるための枠組みで、開発手法そのものの説明ではありません。また、アジャイル開発は包括的な文書づくりよりも、動くソフトウェアを重視します。この点でも合いません。
受験者受験者
整理すると、小さく分けて短期間で開発とリリースを繰り返すのがアジャイル開発、順番に進めて最後にリリースするのがウォーターフォールモデル、試作品で評価をもらうのがプロトタイピングモデル、呼び方をそろえる枠組みが共通フレーム、ということですね。
講師講師
よく整理できています。よくある引っかけは、利用者の意見を取り入れるという表現だけでプロトタイピングモデルの説明を選んでしまうことです。短期間の反復や段階的なリリースが書かれているかに注目すると、見分けやすくなります。

まとめ

アジャイル開発は、機能を小さな単位に分け、優先度の高いものから短い期間で開発とリリースを繰り返す進め方です。工程を上流から順に進めて最後にまとめてリリースするのはウォーターフォールモデル、試作品を利用者に評価してもらいながら進めるのはプロトタイピングモデルです。共通フレームは工程・作業・用語・成果物の呼び方をそろえる枠組みで、開発手法ではありません。利用者の意見を取り入れる点だけで判断せず、短期間の反復や段階的なリリースが書かれているかに注目すると見分けやすくなります。

解答・解説

正解はアです

この問題のテーマ

この問題では、アジャイル開発の進め方を、ウォーターフォールモデル、プロトタイピングモデル、共通フレームの説明と見分けられるかが問われています。

解き方の考え方

最初に、各選択肢がどの開発手法や枠組みを説明しているのかを確かめます。アジャイル開発の目印は、「小さな単位に分ける」「優先度の高いものから作る」「短い期間で開発とリリースを繰り返す」の3つです。ほかの選択肢は、工程を順番に進める方式、試作品で利用者の評価を受ける方式、工程や文書を共通化する枠組みのどれかに当たります。それぞれを当てはめて除外していけば、正解にたどり着けます。

選択肢ごとの解説

  1. ○ア  開発する機能を小さい単位に分割して,優先度の高いものから短期間で開発とリリースを繰り返す。
    機能を細かく分け、重要なものから短期間で開発してリリースすることを繰り返す、という内容です。これはアジャイル開発の基本的な進め方と一致します。反復のたびに動く機能を届けられるので、早い段階で反応を受け取り、要件が変わっても対応しやすくなります。
  2. ×イ  共通フレームを適用して要件定義,設計などの工程名及び作成する文書を定義する。
    共通フレームを使って工程名や作成する文書を定める、という内容です。共通フレームは、工程・作業・用語・成果物の呼び方を関係者の間でそろえるための枠組みであり、開発手法そのものを説明したものではありません。また、アジャイル開発は文書をきちんと整えることよりも、実際に動くソフトウェアを重視します。
  3. ×ウ  システム開発を上流工程から下流工程まで順番に進めて,全ての開発工程が終了してからリリースする。
    上流から下流へ工程を一つずつ順に進め、すべての工程が終わってからリリースする、という内容です。これはウォーターフォールモデルの説明です。リリースが最後の1回だけになる点が、リリースを繰り返すアジャイル開発とは正反対です。
  4. ×エ  プロトタイプを作成して利用者に確認を求め,利用者の評価とフィードバックを行いながら開発を進めていく。
    試作品を利用者に見てもらい、その評価を反映しながら開発を進める、という内容です。これはプロトタイピングモデルの説明です。利用者の意見を取り入れる点はアジャイル開発と似ていますが、アジャイル開発の中心は、機能を短い反復で少しずつ提供していくことにあります。

補足

「利用者の意見を取り入れる」という表現だけで判断すると、エのプロトタイピングモデルを選んでしまいがちです。そのため、「短期間の反復」や「段階的なリリース」が書かれているかどうかに注目すると確実に見分けられます。なお、アジャイル開発の代表的な手法には、スクラムやXP(エクストリームプログラミング)があります。

POINT

  • アジャイル開発では、機能を小さく分けて優先度の高いものから作り、短い期間で開発とリリースを繰り返します。
  • 工程を順に進め、最後にまとめてリリースするのはウォーターフォールモデルです。
  • 試作品を利用者に評価してもらいながら開発を進めるのはプロトタイピングモデルです。
  • 共通フレームは、工程・作業・用語・成果物の呼び方をそろえる枠組みであり、開発手法ではありません。

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