ペアプログラミング(ぺあぷろぐらみんぐ)情報システム用語事典

pair programming

» 2011年11月07日 00時00分 公開
[@IT情報マネジメント編集部,@IT]

 2人のプログラマがペアを組み、同じ画面を見ながら1つのプログラムを書くソフトウェア開発手法のこと。XP(エクストリームプログラミング)の主要なプラクティスである。

 ペアプログラミングは開発チームのメンバーが常に2人1組で作業を行うことで、お互いに刺激し合いながら多様な視点を持ち寄って、質の高いプログラムの開発を目指す。ペアの組み合わせは頻繁に変わるので、コード全体の問題点やメンバーそれぞれの特性などについて、チームで共通して認識できる点も利点である。コードを書くと同時にレビューを行っていることになるので、ピアレビューの一種とみなされることもある。

 ペアのうち、キーボードを使ってコードを書く人を「ドライバー」、ドライバーに対して助言や提案を行う人を「パートナー」「オブザーバー」「ナビゲーター」(※)などと呼ぶ。ドライバーとパートナーは適当なタイミングで交代する。ペアは半日から1日で組み替えるのがよいとされる。教育を目的に経験ある開発者と初心者をペアとする場合もあるが、原則としては同じレベルのプログラマがペアとなるのがよい。

※ 役割の違いで呼び分ける場合があるため、いくつも名称がある

 ペアプログラミングでは常に人の目があるので、手を抜いたり気を抜いたりできず、集中して作業に取り組むことができる。プロジェクトマネジメント的には、下手に1人で考え込んだり、問題を抱え込んだりする時間がなくなり、あるペアで作業が止まっても別のペアでその問題が解決できる場合があるなど、特定作業で進捗がとまる恐れが小さい点が利点となる。

 もともとのペアプログラミングは、ベアで1台のワークステーションを共有するやり方として提案されているが、マルチディスプレイや画面転送などの方法で同じ画面を2台のマシンで表示する方法もある。この場合は遠隔地でもペアプログラミングが可能である。

参考文献

▼『XPエクストリーム・プログラミング入門――変化を受け入れる〈第2版〉』 ケント・ベック=著/長瀬嘉秀=監訳/テクノロジックアート=訳/ピアソン・エデュケーション/2005年12月(『Extreme Programming Explained: Embrace Change, 2nd Edition』の邦訳)

▼『ペアプログラミング――エンジニアとしての指南書』 ローリー・ウィリアムズ、ロバート・ケスラー=著/テクノロジックアート=訳/長瀬嘉秀、今野睦=監訳/ピアソン・エデュケーション/2003年3月(『Pair Programming Illuminated』の邦訳)

▼『コードコンプリート――完全なプログラミングを目指して』 スティーブ・マコネル=著/石川勝=訳/アスキー/1994年8月(『Code Complete: A Practical Handbook of Software Construction』の邦訳)

▼『ピアレビュー ――高品質ソフトウェア開発のために』 カール・E・ウィーガーズ=著/大久保雅一=監訳/日経BPソフトプレス/2004年3月(『Peer Reviews in Software: A Practical Guide』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ