ペアプログラミング
二人の開発者が同じプログラムの作成に共同で取り組む開発手法。一方が入力し、もう一方が設計や誤りを考えるなどして協力する。XPの代表的なプラクティスの一つ。
イマシルちゃんの解説
二人で一つの問題を解いている場面を想像してみて。
一人が手を動かしている間、もう一人は次に何をすべきか考えたり、間違いがないか見たりできるよね。
ときどき役割を交代すれば、考え方や知識も分け合えるんだよ。
より深い解説
基本的な進め方
ペアプログラミングでは、二人が同じ作業対象を共有し、実装と検討を協力して進める。
| 役割 | すること |
|---|---|
| ドライバー | コードの入力、目前の処理の実装 |
| ナビゲーター | 設計の見通し、誤りの発見、改善案の検討 |
役割は固定せず、作業の途中で交代することが多い。
同じ場所に座る方法だけでなく、画面共有などを使うリモートの方法もある。
利点
- 一人では見落としやすい問題を早期に発見しやすくなる。
- 設計や実装の判断をその場で相談できる。
- 個人だけが持つ知識をチームに共有しやすくなる。
- 経験の異なる開発者が学び合う機会を作れる。
注意点
| 注意点 | 対応 |
|---|---|
| 二人の時間を使う | 重要な変更や複雑な作業など、対象を選ぶ |
| 一方だけが作業を進める | 役割交代と対話を促す |
| 集中力が落ちる | 適度に休憩する |
| 単に二人で同席するだけになる | 同じ課題に対して意図を共有する |
関連する開発手法
XP(エクストリームプログラミング)では、ペアプログラミングと、テスト駆動開発、継続的インテグレーション、リファクタリングなどを組み合わせる。
また、実装後に別の担当者が確認するコードレビューとは、確認するタイミングが異なる。