エンベデッドシステムスペシャリスト 2013年 午前2 問25
問題文
アジャイルソフトウェア開発などで導入されている“ペアプログラミング”の説明はどれか。
選択肢
ア:開発工程の初期段階に要求仕様を確認するために、プログラマと利用者がペアとなり、試作した画面や帳票を見て、相談しながらプログラムの開発を行う。
イ:効率よく開発するために、2人のプログラマがペアとなり、メインプログラムとサブプログラムを分担して開発を行う。
ウ:短期間で開発するために、2人のプログラマがペアとなり、作業と休憩を交代しながら長時間にわたって連続でプログラムの開発を行う。
エ:品質の向上や知識の共有を図るために、2人のプログラマがペアとなり、その場で相談したりレビューしたりしながら、一つのプログラムの開発を行う。(正解)
🔒 解説は解答すると表示されます
ペアプログラミング【午前2解説】
正解の理由
ペアプログラミングとは、2人のプログラマが一つのプログラムを一緒に開発する手法です。一方がコードを入力し、もう一方が内容を確認したり改善案を考えたりしながら、役割を適宜交代します。
その場で相談やレビューを行うことで、プログラムの品質向上や知識の共有が期待できます。この特徴を説明しているエが正解です。
解法ステップ
- 「ペアプログラミング」の目的に注目します。代表的な目的は、品質の向上や知識の共有です。
- 2人の作業方法を確認します。2人で同じプログラムに取り組み、相談やレビューをしながら開発します。
- この特徴に合う選択肢を選びます。役割を分担して別々に開発する説明ではなく、エが該当します。
選択肢別の誤答解説
- ア:プログラマと利用者が試作品を確認しながら要求をすり合わせる開発方法です。ペアプログラミングではなく、プロトタイピングに関する説明です。
- イ:2人がメインプログラムとサブプログラムに分かれて開発する方法です。一つのプログラムを一緒に開発するペアプログラミングとは異なります。
- ウ:作業と休憩を交代しながら長時間連続で開発することは、ペアプログラミングの定義ではありません。短期間で開発するための方法とも限りません。
- エ:2人が相談やレビューをしながら一つのプログラムを開発する方法です。品質向上や知識共有という目的も含め、ペアプログラミングの説明として適切です。
よくある誤解
-
2人で作業を分担すればペアプログラミングだと思う
ペアプログラミングは、別々のプログラムを分担して作る方法ではなく、同じプログラムを共同で開発する方法です。 -
2人の役割は固定されていると思う
一方が入力し、もう一方が確認する進め方が一般的ですが、役割は適宜交代します。 -
短期間で開発することが主な目的だと思う
主な目的は、コードの品質向上や知識共有です。開発速度の向上だけを目的とする手法ではありません。
補足コラム
ペアプログラミングでは、コードを入力する人を「ドライバー」、コードを確認しながら方針を考える人を「ナビゲーター」と呼ぶことがあります。ナビゲーターは誤りや改善点を見つけ、ドライバーに伝えます。適宜役割を交代することで、両者がコードと設計への理解を深められます。
FAQ
Q. ペアプログラミングでは、常に2人が同じキーボードを使うのですか?
A. 必ずしも同じキーボードを使う必要はありません。重要なのは、2人が同じプログラムに対して協力し、相談やレビューを行いながら開発することです。
A. 必ずしも同じキーボードを使う必要はありません。重要なのは、2人が同じプログラムに対して協力し、相談やレビューを行いながら開発することです。
Q. ペアプログラミングを行えば、必ず品質が向上しますか?
A. 品質向上が期待できますが、効果は進め方やコミュニケーションにも左右されます。役割を適宜交代し、互いの意見を活用することが大切です。
A. 品質向上が期待できますが、効果は進め方やコミュニケーションにも左右されます。役割を適宜交代し、互いの意見を活用することが大切です。
関連キーワード: アジャイル開発、ペアプログラミング、コードレビュー、プロトタイピング

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

