問題
マネジメント系
問38 XP(エクストリームプログラミング)の説明として,最も適切なものはどれか。
選択肢
- アテストプログラムを先に作成し,そのテストに合格するようにコードを記述する開発手法のことである。
- イ一つのプログラムを2人のプログラマが,1台のコンピュータに向かって共同で開発する方法のことである。
- ウプログラムの振る舞いを変えずに,プログラムの内部構造を改善することである。
- エ要求の変化に対応した高品質のソフトウェアを短いサイクルでリリースする,アジャイル開発のアプローチの一つである。
解説
正解:エ
概要
この問題は,XP(エクストリームプログラミング)がどのような開発手法かを,他の関連概念(TDD,ペアプログラミング,リファクタリング)と区別して理解しているかを問う問題です。
正解の理由
XPはアジャイル開発の代表的な手法の一つで,要求変化に対応しながら短い反復で開発とリリースを進める考え方です。アのTDD,イのペアプログラミング,ウのリファクタリングはXPで使われる個別のプラクティスですが,XP全体の説明として最も適切なのはエです。
各選択肢の解説
ア(×): テストを先に作成し,そのテストに合格するようにコードを書く説明で,これはテスト駆動開発(TDD)の説明です。XPで用いられることはありますが,XPそのものの説明としては誤りです。
イ(×): 2人のプログラマが1台のコンピュータで共同開発する説明で,これはペアプログラミングの説明です。XPの実践項目の一つですが,XP全体の定義としては誤りです。
ウ(×): 外部仕様を変えずに内部構造を改善する説明で,これはリファクタリングの説明です。XPで重視される実践ではありますが,XPそのものの説明ではないため誤りです。
エ(〇): 要求変化に対応しつつ,高品質なソフトウェアを短いサイクルでリリースするアジャイル開発のアプローチという説明で,XPの全体像として最も適切なので正解です。
ポイント
XPはアジャイル開発の一手法であり,TDD,ペアプログラミング,リファクタリングなどの実践を組み合わせて進める点を押さえることが重要です。個別技法と手法全体の違いを区別して覚えると解きやすいです。