ペアプログラミング
2人の開発者が1台のコンピュータで協働してコードを書く手法。1人がドライバー(実際にコードを書く)、もう1人がナビゲーター(設計や方向性を考える)の役割を担う。
目的
- 知識共有: 開発者間のプロダクションモデルの差分を縮小
- 品質向上: リアルタイムでのレビュー
- 学習促進: 技術やドメイン知識の伝達
認知負荷との関係
開発者間の認知負荷(開発者Aと開発者Bの認知差分)を小さくする実践。同じコードベースを見ていても各開発者の理解は異なるが、ペアプログラミングによって共通認識を深められる。
ローテーション
役割を定期的に交代することで、両方の視点を経験し、バランスの取れたスキルを身につけられる。
モブプログラミングとの違い
モブプログラミングは3人以上で行う。ペアプログラミングより多くの視点が得られるが、コーディネーションコストも増える。