開発プロセス・方法論
ペアプログラミング
(ぺあぷろぐらみんぐ/Pair Programming)
- 登場(海外)
- 2001年
- 更新
- 2026-08-25
一言でいうと
2人で1つの実装を同時に進める手法です。3人以上に広げた形をモブプログラミングと呼びます。
提唱者と登場年
Extreme Programmingの実践のひとつとして広まりました。Laurie Williamsが2001年にソフトウェア工学教育の会議で、開発プロセスへの組み込みについて発表しています。モブプログラミングはその後に登場した派生形で、遠隔での実践方法も公開されています。
国内での普及時期は特定していません。アジャイル開発の導入とあわせて実践されています。
何を解決するか
書いている最中に判断を共有できることが最大の利点です。非同期のレビューでは、実装が終わってから指摘が返るため、設計をやり直す判断がしにくくなります。同時に進めれば、方向を変える判断がその場で下せます。
もうひとつが知識の偏りへの対処です。特定の領域を1人しか触れない状態は、その人が不在のときに開発が止まります。
実際の進み方
書く人と考える人を交代しながら進めます。時間で区切って役割を入れ替える運用が一般的です。モブで行う場合は、書く人を1人に固定せず、短い間隔で交代します。
常時行う必要はありません。設計の判断が重い箇所、不慣れな領域、引き継ぎが必要な場面に絞って使う運用が現実的です。
導入でよくある失敗
- 常時ペアを義務づける。集中して1人で進めたほうが速い作業まで巻き込みます
- 役割を交代しない。書く人が固定され、もう1人が見ているだけになります
- 生産性を人日で評価する。2人で1つを進める前提と噛み合いません
求人票にこの語がある場合に読み取れること
実装の進め方を工夫している組織である可能性が高くなります。オンボーディングの手段として挙げられている場合、入社直後の立ち上がりを支援する体制があると読めます。
媒体で引ける語ではありません。要件ではなく、働き方の説明として求人票に書きます。
自社側では、どのような場面でペアを組むかを決めておきます。常時運用している組織も実在し、成果も出ています。その場合は評価と稼働をどう設計しているかを確認してください。候補者には、ペアやモブの経験と、そのときの役割の交代のしかたを聞きます。
隣接手法との違い
| 用語 | 指すもの | この語との違い |
|---|---|---|
| コードレビュー | 書いた後に別の開発者が読む工程 | 非同期。ペアは同期 |
| モブプログラミング | 3人以上で同時に進める形 | 人数を広げた派生形 |
| ペア作業 | 2人で作業全般を進めること | 対象が実装に限らない |
関連キーワード
コードレビュー / モブプログラミング / Extreme Programming / オンボーディング