ITパスポート過去問 令和4年度(2022年)問38
XP(エクストリームプログラミング)の説明として,最も適切なものはどれか。
選択肢
- ア:テストプログラムを先に作成し,そのテストに合格するようにコードを記述する開発手法のことである。
- イ:一つのプログラムを2人のプログラマが,1台のコンピュータに向かって共同で開発する方法のことである。
- ウ:プログラムの振る舞いを変えずに,プログラムの内部構造を改善することである。
- エ:要求の変化に対応した高品質のソフトウェアを短いサイクルでリリースする,アジャイル開発のアプローチの一つである。
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
XP(エクストリームプログラミング)は、アジャイル開発のアプローチの一つです。短いサイクルで開発とリリースを繰り返し、要求の変化に対応しながら品質を高めていく点が特徴です。テスト駆動開発(TDD)、ペアプログラミング、リファクタリングは、XPでよく用いられる具体的な実践方法(プラクティス)であり、XPそのものの説明とは区別します。
Point
この問題は、XP(エクストリームプログラミング)がアジャイル開発のアプローチであり、短いサイクルで反復しながら要求変更に対応する開発手法であることを理解しているかを確認することを目的としています。また、XP全体の説明と、XPで用いられる個別のプラクティス(TDD、ペアプログラミング、リファクタリングなど)を区別できるかが問われています。
解くために必要な知識
この問題を解くには、XP(エクストリームプログラミング)がアジャイル開発のアプローチであることと、XPを構成する代表的なプラクティスを把握していることが必要です。
用語の整理
| 用語 | 意味 |
|---|---|
| XP(エクストリームプログラミング) | アジャイル開発のアプローチの一つです。短い開発サイクルで反復し、要求の変化に対応しながら継続的にリリースすることを重視します。代表的なプラクティスとしてTDD、ペアプログラミング、リファクタリングなどがあります。 |
| アジャイル開発 | 短い反復(イテレーション)で開発を進め、状況の変化(要求変更など)に合わせて計画や成果物を調整しながら価値を提供する開発の考え方・手法群です。 |
他の選択肢に出てくる用語
| 用語 | 意味 |
|---|---|
| テスト駆動開発(TDD) | 先にテストコードを書き、テストが通る最小限の実装を行い、その後に必要に応じて設計やコードを改善します。 |
| ペアプログラミング | 2人で1台のコンピュータを使い、実装担当と確認担当に分かれて共同作業します。 |
| リファクタリング | 外部仕様(振る舞い)を変えずに、内部構造を改善して保守性や拡張性を高めます。 |
問題の解法手順
各選択肢が指している用語を特定する
選択肢と用語の対応
| 選択肢 | 記述の内容 | 指しているもの | 判定 |
|---|---|---|---|
| ア | テストを先に作り、合格するように実装する | テスト駆動開発(TDD) | XPの一部であり、XP全体の説明ではありません。 |
| イ | 2人で1台のPCを使い共同で開発する | ペアプログラミング | XPの一部であり、XP全体の説明ではありません。 |
| ウ | 外部仕様は変えず内部構造を改善する | リファクタリング | XPの一部であり、XP全体の説明ではありません。 |
| エ | 短いサイクルでリリースし要求変化に対応する | XP(エクストリームプログラミング) | XP全体の説明であり正解です。 |
XPの説明になっているものを選ぶ
XPの説明として適切なのは、開発の進め方(短いサイクル、変化への対応、品質確保)を述べている「エ」です。
選択肢ごとの解説
- ア:不正解
テストプログラムを先に作り、そのテストに合格するように実装する考え方は、テスト駆動開発(TDD)の説明です。TDDはXPで用いられることが多いプラクティスですが、XP全体の説明ではありません。
- イ:不正解
2人のプログラマが1台のコンピュータに向かって共同で開発する方法は、ペアプログラミングの説明です。ペアプログラミングはXPのプラクティスの一つですが、XP全体の説明ではありません。
- ウ:不正解
プログラムの振る舞いを変えずに内部構造を改善することは、リファクタリングの説明です。リファクタリングはXPのプラクティスの一つですが、XP全体の説明ではありません。
- エ:正解
要求の変化に対応しながら、短いサイクルでリリースを繰り返し、高品質なソフトウェアを開発するという説明は、XP(エクストリームプログラミング)の説明として適切です。
まとめ
XP(エクストリームプログラミング)は、アジャイル開発のアプローチの一つです。短いサイクルで開発とリリースを繰り返し、要求の変化に対応しながら品質を高めていく点が特徴です。テスト駆動開発(TDD)、ペアプログラミング、リファクタリングは、XPでよく用いられる具体的な実践方法(プラクティス)であり、XPそのものの説明とは区別します。
マネジメント系 > 開発技術 > ソフトウェア開発管理技術
テストプログラムを先に作り、そのテストに合格するように実装する考え方は、テスト駆動開発(TDD)の説明です。TDDはXPで用いられることが多いプラクティスですが、XP全体の説明ではありません。
2人のプログラマが1台のコンピュータに向かって共同で開発する方法は、ペアプログラミングの説明です。ペアプログラミングはXPのプラクティスの一つですが、XP全体の説明ではありません。
プログラムの振る舞いを変えずに内部構造を改善することは、リファクタリングの説明です。リファクタリングはXPのプラクティスの一つですが、XP全体の説明ではありません。
要求の変化に対応しながら、短いサイクルでリリースを繰り返し、高品質なソフトウェアを開発するという説明は、XP(エクストリームプログラミング)の説明として適切です。