基本情報技術者 2015年 春期 午前(科目A) 問51
問題文
XP (Extreme Programming)において、実践することが提唱されているものはどれか。
選択肢
ア:構造化設計
イ:テストツールの活用
ウ:ペアプログラミング(正解)
エ:ユースケースの活用
🔒 解説は解答すると表示されます
ペアプログラミング【午前解説】
正解の理由
正解は ウ(ペアプログラミング)です。XP は「コミュニケーション」「簡潔さ」「フィードバック」「尊重」「勇気」の価値観に基づき、具体的実践としてペアプログラミングを明確に掲げています。ペアで1台の端末を使い、常にコードをレビューしながら進めることで、バグ早期発見や知識共有、設計の一貫性向上が期待できます。したがって選択肢の中でXPの提唱する手法として最も適切なのはペアプログラミングです。
解法ステップ
- 問題文のキーワード「XP (Extreme Programming)」を確認する。
- XPの代表的プラクティス(ペアプログラミング、テストファースト、継続的インテグレーションなど)を頭に浮かべる。
- 各選択肢を照合し、XPで明示的に提唱されているかを判断する。
- 最も明確にXPのプラクティスとして知られている選択肢(ペアプログラミング)を選ぶ。
選択肢別の誤答解説
- ア: 構造化設計 — 従来の開発手法で用いられる設計手法で、XPの主要プラクティスには含まれません。
- イ: テストツールの活用 — XPはテストファースト(TDD)や自動化テストを重視しますが、「ツールの活用」という表現は一般的であり、XP固有の明示的プラクティスとは言えません。誤答とされます。
- ウ: ペアプログラミング — 正解。XPが明確に推奨するプラクティスで、2人1組でコーディングや設計を行います。
- エ: ユースケースの活用 — ユースケースは要件定義や設計で使われますが、XPではユーザーストーリーなど軽量な要件表現を好むため適合しません。
よくある誤解
- 「テストツールの活用=XPの代表的実践」と考える誤解:XPはテストファースト(TDD)を重視するが、単にツール活用を挙げるだけではXP固有の表現とは言い切れません。
- 「構造化設計やユースケースはXPの手法」:これらは従来のウォーターフォールや分析設計で頻出する概念で、XPの主要プラクティスとは異なります。
- 「ペアプログラミングは一時的なコード共有だけ」:XPでは教育・品質管理・設計検討の主要手段として継続的に実施する点を見落としがちです。
補足コラム
XP の代表的プラクティス(抜粋)と簡単解説:
- ペアプログラミング:2人で1つの仕事を行いレビューと知識共有を同時に行う。
- テストファースト(TDD):先にテストを書き、そのテストを通すための実装を行う。
- 継続的インテグレーション:頻繁に統合してビルドやテストを自動で回す。
- リファクタリング:設計を維持・改善するために継続的にコードを整理する。
- 小さなリリースと顧客との密接なフィードバック:短いイテレーションで価値を届ける。
FAQ
Q: XP とアジャイルは同じ意味ですか?
A: 完全に同義ではありません。XP はアジャイル開発の一手法で、具体的なプラクティスを多数定義しています。
A: 完全に同義ではありません。XP はアジャイル開発の一手法で、具体的なプラクティスを多数定義しています。
Q: テストツールはXPで使わないのですか?
A: 使います。特に自動化テストは重要ですが、選択肢の表現が「ツールの活用」と曖昧であるため、試験問題ではXP固有の明確なプラクティスである「ペアプログラミング」が正解になります。
A: 使います。特に自動化テストは重要ですが、選択肢の表現が「ツールの活用」と曖昧であるため、試験問題ではXP固有の明確なプラクティスである「ペアプログラミング」が正解になります。
Q: ペアプログラミングは常に有効ですか?
A: 多くの利点がありますが、チームやタスクにより効果は異なります。XPでは継続的に評価しながら運用します。
A: 多くの利点がありますが、チームやタスクにより効果は異なります。XPでは継続的に評価しながら運用します。
関連キーワード: XP, エクストリームプログラミング, ペアプログラミング, アジャイル, TDD, 継続的インテグレーション, リファクタリング, 小さなリリース, 自動化テスト

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

