ペアプログラミング はアジャイルソフトウェア開発テクニックのひとつで,2人のプログラマが1つのワークステーションで共同作業する,というものだ。そのメリット はよく知られていて,広く採用されているテクニックでもある。ところで,ペアを行うのにもっともよい座席位置とはどのようなものだろう?
一般的なのは隣り合って座るやり方だが,これにはこれで欠点もある。Josh Susser 氏の指摘によれば,
いろいろな意味でよい方法ではありますが,人間工学的には難があります。第1に,どちらの人もディスプレイからずれて座っているので,画面を見るにもタイプするにも,傾いたり,屈んだり,横を向いたりしなければなりません。さらに首を伸ばさなければ,パートナーの方を向くのにも大変です。広いデスクでも2つのキーボードとマウスが場所を占有してしまうので,デスクの上で押したり引いたり,さらにはイスもぶつかったりすることになります。
ペアプログラムのもうひとつの方法は,対面で席を取るやり方だ。下のスケッチのような配置で,影の部分がそれぞれペアを表している。
Josh によれば,
この方がずっと快適です。画面も見やすいですし,何よりも共同作業中にお互いが顔を合わせられます。座席も十分に近いので,大きな声を出さなくてもお互いの言うことがよく聞こえるのです。この配置で1日作業した後はとても気分がよく,首もまったく痛くありませんでした。
Brian と Corey がこのモデルを試してみたところ,非常に効率的だということが分かった。Brian はこの方法について,今までのペアのやり方よりもよいと言っている。
画面を前において横並びするペアリングよりも,私はこちらの方が気に入りました。または横並びで2つの画面を前に座って,2つのキーボードを使う方法でもいいと思います。作業の流れが自然で,会話もしやすいからです。ペア相手の身振りを確認するにも,こちらの方が便利ですし,コーディングを止めて顔を上げ,会話をするのも簡単です。作業を入れ替わるのも自然にできて,お互いがカーソルを取り合うような事態も少なくなりました。
Dave Smith 氏は この配置が今に始まったものではなく,1980 年代にも同じように2人のコンピュータ技術者が,大きな CRT ボックスを間において向き合って座っていた,ということを指摘している。
Tim Ottinger 氏はこの配置を試してみたが,どうも 感動するまでには至らなかったようだ。氏によると,
試してみました。不便ではありませんでしたが,この方法ではお互いのつながりがあまり感じられないのと,手ではなくマウスで指し示さなければならないことが分かりました。効果はありますが,何か,リモートペアリングのような感じですね。
この配置で不便な点はないのだろうか?
Josh は例えば,パートナがキーボードを操作しようとしている時のかすかな手の動きのような,隣り合わせに座っていれば気が付く微妙な合図を捕らえるのが少し難しい,と指摘している。機器やフロアスペースが余分に必要なことによるコストアップも問題だ。
この配置が長期的に見て有効であるにせよないにせよ,試してみる価値はありそうだ。David W. Frank 氏が言うには
はっきり言えるのは,テストがグリーンになったときにハイタッチするには,この配置の方が便利だということです。