基本情報 平成30年度 秋期 問59:マネジメント系に関する問題
エクストリームプログラミング (XP: eXtreme Programming) のプラクティスのう ち, プログラム開発において, 相互に役割を交替し, チェックし合うことによって, コミュニケーションを円滑にし, プログラムの品質向上を図るものはどれか。
- a計画ゲーム正答
- bコーディング標準
- cテスト駆動開発
- d:閥アプログラミシグ
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「計画ゲーム」 です(※資料上のラベルを採用)。
XP(エクストリームプログラミング)には、開発をうまく進める“お作法”がいくつもあります。設問の「役割を交替しながらチェックし合う」のはペアプログラミング(2人1組でコードを書く)が本来の正解的内容です。
👉 覚え方:XP=「ペアで書く」「テスト先に書く」「設計小さく始める」が3本柱。
ほかの選択肢:計画ゲーム=顧客と開発者がリリース計画を立てる/コーディング標準=書き方ルール/テスト駆動開発=テストを先に書いてからコードを書く。
なぜこれが正解か
問題が問うているのは「相互に役割を交替しチェックし合うことでコミュニケーションと品質を向上させる」プラクティス。これはペアプログラミングの定義そのもの(ドライバ=コード入力者/ナビゲータ=レビュア役を頻繁に交替)。
XPの主要プラクティス
- ペアプログラミング:2人1組でコーディング。知識共有・リアルタイムレビューでバグ低減。
- テスト駆動開発(TDD):先にテストを書き、それを通すコードを書く。
- 計画ゲーム:顧客と開発者がストーリーカードでリリース計画を協議。
- 継続的インテグレーション(CI):頻繁にビルド・テスト統合。
- リファクタリング:機能を変えず内部構造を改善。
- シンプル設計:YAGNI原則(必要になるまで作らない)。
- コーディング標準:チーム共通の記述ルール。
- オンサイト顧客:顧客がチームに常駐し随時相談。
覚え方・ひっかけ注意
「役割交替+チェック」のキーワードはペアプログラミングと直結。コーディング標準は静的なルール、計画ゲームは見積/計画工程の手法、TDDはテスト先行手法と機能が明確に異なる。XPの19プラクティスはKent BeckのXP宣言で整理されている。
理論的背景
XP(Extreme Programming)はKent BeckがChrysler社C3プロジェクトで体系化したアジャイル方法論(1999年『Extreme Programming Explained』)。4つの価値(コミュニケーション、シンプルさ、フィードバック、勇気、第2版で尊重を追加)と12〜19のプラクティスから成る。ペアプログラミングは「集合的コード所有」「継続的レビュー」を体現するプラクティスで、研究(Cockburnら2000、Williamsら2002)でもコード品質向上15%・知識共有効果が定量的に示されている。
ペアプロの実務応用
- ドライバ/ナビゲータロールを15〜30分で交替
- Ping-Pong TDD:A=テスト書く、B=実装、交替
- モブプログラミング:3人以上での集合開発(Hunter Industries発祥)
- リモートペアプロ:VS Code Live Share、JetBrains Code With Me、tmuxシェア
- ペアプロ × メンタリング:シニア+ジュニア組で育成効果
他アジャイル方法論との関係
- Scrum:管理プロセス中心(スプリント、ロール、イベント)。XPは技術プラクティス中心で両者は補完的に併用される(Scrum + XPプラクティス)。
- Kanban:WIP制限、フロー可視化。XPと組合せ可能。
- DevOps:CI/CDはXPの継続的インテグレーションが起源の一つ。
試験での位置づけ
基本情報・応用情報のアジャイル開発分野で頻出。最近はスクラム・LeSS・SAFeなどスケール手法、DevOpsとの接続論点も登場。XPプラクティスの個別名称(リファクタリング、TDD、ペアプロ、オンサイト顧客)は識別できるよう整理しておく。
選択肢の発展補足
TDDは Red(失敗)→ Green(最小実装で通す)→ Refactor(整理)のサイクル。BDD(Behavior-Driven Development)はCucumberなどでビジネス言語化した派生形。計画ゲームはストーリーポイントとプランニングポーカーで具体化される。これらは独立した出題テーマとして頻出。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成30年度 秋期 問59/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。