難易度・正答率・重要度
- 難易度:★★★☆☆(XPプラクティス)
- 正答率:★★★☆☆(用語・定義)
- 重要度:★★★☆☆(アジャイルの基礎)
問題文
アジャイル開発の手法の1つにエクストリーム・プログラミング(XP)がある。XPではいくつかのプラクティスが定義されている。
XPのプラクティスに関する記述として、最も適切なものはどれか。
ア
1週間の作業時間は、チームのメンバー全員で相談して自由に決める。
イ
2人のプログラマがペアになって、同じPCを使用して交代しながらプログラミングを行う。
ウ
ソースコードの修正や再利用は、責任を明確にするために、作成者だけが行うようにする。
エ
プログラムを書く前にテストケースを作成しておき、動作を確認した上でプログラムを洗練させていく。
オ
リファクタリングの際には、開発効率を高めるために内部構造には変更を加えず、外部から見た振る舞いを変更する。
出典: 中小企業診断協会|2021年度 第1次試験問題|経営情報システム(PDF)
解答
- 正解:エ(テスト駆動・テストファーストに相当)
解説
- ア:×
XPでは「週40時間労働」など持続可能なペースを重視。恣意的に自由決定するのではなく、過労を避ける原則がある。 - イ:×
ペアプログラミングはXPのプラクティスだが、「同じPCで交代しながら」に限定されない。役割(ドライバー/ナビゲーター)や環境は状況により柔軟で、表現が限定的。 - ウ:×
XPは「共同所有(Collective Code Ownership)」を推奨。作成者のみが修正する方針はXPと逆。 - エ:〇
テストを先に作成し、テストを通す最小実装からリファクタリングで洗練するのがXPの中核(テストファースト/TDD)。 - オ:×
リファクタリングは外部から見た振る舞い(外部仕様)を変えずに内部構造を改善する。記述は逆。
学習のポイント
- テストファースト/TDD: 失敗するテスト→最小実装→リファクタリングの反復で品質と設計を高める。
- ペアプログラミング: 役割分担による継続的レビューが本質で、手段や交代頻度は状況に応じて柔軟。
- 共同所有: チーム全員がコード改善に責任を持ち、知識の属人化を防ぐ。
- 持続可能なペース: 過度な長時間労働を避け、安定したベロシティを維持する。