問題
問23
アジャイル開発手法であるXP (エクストリームプログラミング) のプラクティスとして、最も適切なものはどれか。
- プロダクトの価値を最大化することに責任を持つプロダクトオーナを定義する。
- ソースコードの品質を維持するために、継続的なリファクタリングを実施する。
- 作業の流れを可視化するために、カンバンボードを利用する。
- 毎日決まった時間にチームで集まり、進捗状況を共有するデイリースクラムを行う。
正解
正解は「イ」です。
解説
正解は「イ」です。XP(エクストリームプログラミング)は、アジャイル開発手法の一つで、特にプログラミングを中心とした技術的な実践(プラクティス)を重視します。その中でも「リファクタリング」はXPの重要なプラクティスの一つです。リファクタリングとは、ソフトウェアの外部から見た動作を変えずに、内部のソースコードをきれいに整理・改善することです。これを継続的に行うことで、コードが複雑になりすぎるのを防ぎ、将来の変更や機能追加がしやすくなります。
例えば、部屋の模様替え(外部の動作を変える)はせず、散らかった本棚を整理整頓して、どこに何があるか分かりやすくするような作業がリファクタリングにあたります。XPでは、このような地道な改善を日々行うことで、長期的にソフトウェアの品質と開発効率を維持することを目指します。そのため、継続的なリファクタリングはXPの代表的なプラクティスと言えます。
ア(プロダクトの価値を最大化することに責任を持つプロダクトオーナ…):
プロダクトオーナは、アジャイル開発手法の「スクラム」で定義される役割です。XPのプラクティスではありません。
ウ(作業の流れを可視化するために、カンバンボードを利用する。):
カンバンボードの利用は、アジャイル開発手法の「カンバン」の主要な特徴です。XPでも使われることがありますが、代表的なプラクティスではありません。
エ(毎日決まった時間にチームで集まり、進捗状況を共有する…):
デイリースクラムは、アジャイル開発手法の「スクラム」における重要なイベント(会議)です。XPのプラクティスではありません。
解法のポイント
この問題を解くには、アジャイル開発の代表的な手法である「XP(エクストリームプログラミング)」「スクラム」「カンバン」のそれぞれの特徴を区別して理解しておくことが重要です。特に、それぞれの開発手法で定義されている役割(プロダクトオーナなど)、イベント(デイリースクラムなど)、実践(リファクタリングなど)を正確に結びつけて覚える必要があります。本問では、XPに特有の技術的プラクティスが問われています。他の選択肢はスクラムやカンバンの特徴であるため、消去法で解答することも可能です。
用語補足
アジャイル開発:
「計画→設計→実装→テスト」という短い開発サイクルを繰り返すことで、顧客の要求の変化に柔軟に対応しようとする開発手法の総称です。最初から完璧な設計図を描くのではなく、作りながら改善していくスタイルです。
XP (エクストリームプログラミング):
アジャイル開発手法の一つで、プログラマの生産性向上と品質確保を重視します。ペアプログラミングやテスト駆動開発、リファクタリングといった技術的な実践が特徴です。
リファクタリング:
ソフトウェアの機能は変えずに、ソースコードの内部構造を改善することです。動くことは動くけれど読みにくいコードを、きれいで分かりやすいコードに書き直す作業を指します。
スクラム:
アジャイル開発手法の一つで、チームでのコミュニケーションを重視し、役割やイベントを定義して開発を進めるフレームワークです。ラグビーのスクラムのようにチーム一丸となって開発を進めます。


