忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【システム開発技術】二人一組で品質を高める!「ペアプログラミング」|情報処理問題1000本ノック

アジャイル開発(特にXP:エクストリームプログラミング)で推奨される手法の一つに、二人で1つのコードを書くスタイルがあります。その役割分担やメリットを攻略しましょう。

1. 問題:共同開発の手法

【 問題 】 システム開発において、2人のプログラマが1台のコンピュータを共有し、1人がコードを書き、もう1人がそれをチェックしながら共同で1つのプログラムを開発する手法はどれでしょうか?

ア、ペアプログラミング   イ、デュアルプログラミング   ウ、コード共有   エ、エクストリームプログラミング

2. 正解:開発手法に関する正解

正解: ア、ペアプログラミング

3. 解説:ドライバとナビゲータの連携

ペアプログラミング(Pair Programming)は、役割を分担することで、コードの品質向上と知識共有を同時に行う手法です。

【図解:ペアプログラミングの役割】

■ ドライバ (Driver)
・実際にキーボードを叩き、コードを入力する人。
・詳細な実装(タイピングや構文)に集中します。

■ ナビゲータ (Navigator)
・横でコードを読み、間違いを指摘したり、全体の設計方針を確認したりする人。
・一歩引いた視点で、次に書くべき内容や問題を考えます。

※定期的な交代
・役割は頻繁に入れ替えることで、集中力を維持し、偏りを防ぎます。
[ 主なメリット ]
品質向上:常に「リアルタイムのコードレビュー」が行われているため、バグが混入しにくい。
教育・共有:経験豊富な人と新人が組むことで、技術継承がスムーズに進む。
集中力:一人で悩む時間が減り、作業のリズムが生まれる。

1. 理解のコツ: 自動車のラリーをイメージしてください。運転する人(ドライバ)と、地図を見て指示を出す人(ナビゲータ)が協力してゴールを目指すのが、ペアプログラミングのスタイルです。
2. 試験対策の視点: 「2人1組」「1台のPC」「ドライバとナビゲータ」という単語があれば、迷わずペアプログラミングを選びましょう。また、選択肢(エ)の「エクストリームプログラミング(XP)」は、このペアプログラミングを含む「12のプラクティス」からなる開発フレームワーク全体の名前です。


4. まとめ

「二人で1つの画面を見て、協力して開発する」。これがペアプログラミングです。コミュニケーションコストはかかりますが、結果として手戻りが減り、チーム全体の技術力が向上する非常に強力なアプローチです。



PR