ホーム > システムアーキテクト試験 > 2011年
システムアーキテクト試験 2011年 午前2 問10
アジャイルソフトウェア開発などで導入されている“ペアプログラミング”の説明はどれか。
ア:開発工程の初期段階に要求仕様を確認するために、プログラマと利用者がペアとなり、試作した画面や帳票を見て、相談しながらプログラムの開発を行う。
イ:効率よく開発するために、2人のプログラマがペアとなり、メインプログラムとサブプログラムを分担して開発を行う。
ウ:短期間で開発するために、2人のプログラマがペアとなり、作業と休憩を交代しながら長時間にわたって連続でプログラムの開発を行う。
エ:品質の向上や知識の共有を図るために、2人のプログラマがペアとなり、その場で相談したりレビューしたりしながら、一つのプログラムの開発を行う。(正解)
解説
アジャイル開発におけるペアプログラミングの説明【午前2 解説】
要点まとめ
- 結論:ペアプログラミングは2人のプログラマが協力し、相談やレビューをしながら1つのプログラムを共同で開発する手法です。
- 根拠:アジャイル開発の特徴である品質向上と知識共有を目的としており、リアルタイムのコミュニケーションが重要です。
- 差がつくポイント:単に作業を分担するのではなく、2人が同時にコードを書き、相互にチェックし合う点が本質です。
正解の理由
選択肢エは「品質の向上や知識の共有を図るために、2人のプログラマがペアとなり、その場で相談したりレビューしたりしながら、一つのプログラムの開発を行う」とあり、ペアプログラミングの定義に最も合致しています。ペアプログラミングは2人が同じコードベースに同時に取り組み、リアルタイムで意見交換やコードレビューを行うことで、バグの早期発見やスキルの共有を促進します。
よくある誤解
ペアプログラミングは単に作業を分担することではなく、2人が同じ作業を共同で行うことです。休憩を交代しながら長時間作業する意味もありません。
解法ステップ
- 問題文の「ペアプログラミング」の目的を確認する(品質向上・知識共有)。
- 選択肢の内容が「2人のプログラマがペアとなる」点を確認。
- それぞれの選択肢が「共同作業か分担作業か」を見極める。
- 「相談やレビューをしながら1つのプログラムを開発する」説明を選ぶ。
- 選択肢エが最も正確な説明であると判断する。
選択肢別の誤答解説
- ア: 利用者とプログラマがペアになるのはユーザ参加型のレビューやプロトタイピングであり、ペアプログラミングの定義とは異なります。
- イ: 2人でメインとサブプログラムを分担するのは単なる作業分割で、ペアプログラミングの協働作業とは違います。
- ウ: 作業と休憩を交代しながら長時間作業する説明はペアプログラミングの特徴ではなく、疲労管理の話です。
- エ: 品質向上と知識共有を目的に2人が相談・レビューしながら1つのプログラムを共同開発する正しい説明です。
補足コラム
ペアプログラミングはアジャイル開発の中でも特にXP(エクストリームプログラミング)で推奨されるプラクティスの一つです。ドライバー(コードを書く人)とナビゲーター(設計やレビューを行う人)が役割を交代しながら進めることで、コードの品質向上とチーム内の知識共有が促進されます。
FAQ
Q: ペアプログラミングは必ず2人で同じPCを使う必要がありますか?
A: 一般的には同じPCを使いますが、リモート環境では画面共有ツールを使って同様の効果を得ることも可能です。
A: 一般的には同じPCを使いますが、リモート環境では画面共有ツールを使って同様の効果を得ることも可能です。
Q: ペアプログラミングは開発速度を遅くしませんか?
A: 初期は速度が落ちることもありますが、バグ修正や手戻りが減るため、結果的に開発効率が向上します。
A: 初期は速度が落ちることもありますが、バグ修正や手戻りが減るため、結果的に開発効率が向上します。
関連キーワード: アジャイル開発, ペアプログラミング, XP, コードレビュー, ソフトウェア品質, 知識共有