ペアプログラミングはソフトウエアの品質を高め、チームのメンバとの協力を強化するのに良い。多くの利点があるものの、実際ペアプログラミングは簡単にできるのだろうか。
ThoughtWorks Brazilのコンピュータ科学者であり、コンサルタント開発者であるMarcos Brizeno氏は、ペアプログラミングの実施が難しい理由をブログで披露している。
Marcos氏は次の難点を示している。
- インフラ:チームは共通のOS、共通のセットアップがされている専用のワークステーションが必要。
- 疲労: 集中力を高めるのか簡単ではない。問題に注力し、考えを共有し、他者の話を聞くのは大変なエネルギーが必要。
- エゴ: 控えめな態度を維持し、主張するのではなく、話を聞く必要がある。
TIM Groupのソフトウエア開発者のDavid Green氏は、ペアになるのは全員に向いているのではない、と考える。氏は自身の考えをブログで共有している。
あらゆるチームは複数の正確が混ざっています。外向性のある人はペアになるのを楽しむ傾向があるが、内向的な人には難しくなんとか避けようとする傾向があります。これは必ずしも教育や信念の問題ではありません。ペアになることの利点は相対的には漠然としており、内向的な開発者はひとりで働くより楽しめない可能性があります。
ASCII文字のプロデューサーであるJoe Barnes氏は剽窃行為がペアになるのを難しくしていると説明している。剽窃によって、氏のチームはペアをやめた。
私はペアになることで生まれる協力を殺してしまう要因に気づきました。これは、剽窃行為の恐怖が間接的に生み出した結果です。
Marcos氏は“その人とこの人”と呼ばれる振り返りエクササイズで、自分のチームでのベストなペアプログラミングのやり方を探ることを説明した。これはThoughtWorksのアジャイルコーチであるPaulo Caroli氏とThoughtWorksのコンサルタント開発者であるTaina TC Caetano氏の振り返り活動だ。
ひとつの壁をふたつの領域に分け、"Don't be That Person"と"This Person rocks!": 最初の領域には、チームのメンバは好ましくないと思う振る舞いを書く。ふたつ目の領域にはどのような人が好きがを書く。
その後、壁を見て、チームに壁の内容について議論させる。ある種の振る舞いに対してチームがどのように感じるのかについて議論させる。ある振る舞いは明白な場合もあり、深い議論の価値があるものもあるだろう。
チームのモラルを促進するのに良い方法だと思います。このような議論をするのは人々をオープンにし、より活発な議論が生まれます。チームの力学を感じる良い方法はチームのメンバのそれぞれがどの程度会話をするのかを観察することです。静かなチームの場合は、メンバはばらばらで情報の共有は少ないです。