ペアプログラミング

pair programming


 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』の邦訳)
 
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
記号 0 1 2 3 4 5 6 7 8 9
IT活用組織論経営・経営手法発想法、図法システム開発・運用、プロジェクト管理システム基盤技術インターネットビジネスコミュニケーションマーケティングERP会計・ファイナンス人事・HRCRM/SFAグループウェアナレッジマネジメントBIコンテンツ管理製造業流通業、ロジスティクス通信業調達業務利用法、使い勝手


@IT情報マネジメント メールマガジン 情報マネージャのための情報源(無料)


この記事に対するご意見をお寄せください managemail@atmarkit.co.jp

アイティメディアの提供サービス

ホワイトペーパーTechTargetジャパン

スキルアップ/キャリアアップ(JOB@IT)

@IT Sepcial
- PR -
@IT Sepcial
ソリューションFLASH

求人情報