XPのプラクティスは役割交替でどう見分けるか
基本情報技術者試験 平成30年度春期 午前 問50 / ソフトウェア開発管理技術 › 開発プロセス・手法
過去問にチャレンジ
エクストリームプログラミング(XP:eXtreme Programming)のプラクティスのうち,プログラム開発において,相互に役割を交替し,チェックし合うことによって,コミュニケーションを円滑にし,プログラムの品質向上を図るものはどれか。
- ア
計画ゲーム
- イ
コーディング標準
- ウ
テスト駆動開発
- エ
ペアプログラミング
会話形式の解説
講師この問題では、何をする方法かに加えて、作業中に誰が何を担当するかに注目します。
受験者「チェックし合う」とあるので、テスト駆動開発が気になりました。
講師テスト駆動開発を見分ける手掛かりは何でしょうか。
受験者実装に先立ってテストを作ることです。二人で担当を交替することまでは示していません。
講師そのとおりです。では、コードの書き方をそろえる規則は、役割交替を指しますか。
受験者いいえ。それはコーディング標準です。書き方の規則と、二人で確認し合う方法は違います。
講師計画ゲームはどうでしょうか。
受験者開発する範囲や計画を決めるものなので、実装中の確認には当たりません。
講師残るペアプログラミングでは、二人で一つの実装を担当します。一方がコードを書き、他方が内容を確認して、担当を交替します。
受験者つまり正解はペアプログラミングですね。決める、そろえる、先に作る、作業中に確認する、という違いで整理できます。
講師はい。特に「テストで確認すること」と「二人が作業中にコードを確認すること」を混同しないのがポイントです。
まとめ
正解はペアプログラミングです。二人で一つの実装を担当し、コードを書く役割と内容を確認する役割を交替します。計画ゲームは開発範囲や計画、コーディング標準は記述規則、テスト駆動開発は実装前にテストを作る進め方を指します。
解答・解説
正解はエです
この問題のテーマ
XPのプラクティスのうち、実装と確認の役割を交替しながら進める方法を問う問題です。
解き方の考え方
「相互に役割を交替し、チェックし合う」という条件に注目します。開発計画、コードの記述規則、テストの作成時期ではなく、作業中に二人でコードを扱う方法を選びます。
選択肢ごとの解説
- ×ア 計画ゲーム計画ゲームは、開発する範囲や計画を決めるプラクティスです。問題文が求める、実装中に二人が役割を交替して確認する方法には当たりません。
- ×イ コーディング標準コーディング標準は、コードをどう記述するかについての規則です。記述の仕方をそろえることと、二人で実装・確認を交替することは別です。
- ×ウ テスト駆動開発テスト駆動開発では、実装に先立ってテストを作ります。これは作業の進め方を示しますが、問題文にある二人の役割交替を指す名称ではありません。
- ○エ ペアプログラミングペアプログラミングでは、二人で一つの実装を担当し、一方がコードを書いている間に他方が内容を確認します。その担当を交替しながら進めるため、問題文の条件に一致します。
POINT
- 方法を見分けるときは、何を決める・そろえる・作る・確認するのかを区別します。
- 「実装前にテストを作る」は、テスト駆動開発を識別する手掛かりです。
- 二人が作業中にコードを確認し、担当を交替するならペアプログラミングです。
