
293
ペアプログラミングは、「
2
人の」プログラマが「
1
つの」コンピュータに向かって、同一の設計、アル
ゴリズム、コード、テストを対象に、絶えず協力しつつ一緒に作業するプログラミングスタイルのこと
です。ペアプログラミングは何十年もの間、時々思い出したように突発的に実践されていました
[
Williams and Kessler 2003
]。しかし、
1990
年代にアジャイル開発方法論とエクストリームプログラ
ミング(
XP
)[
Beck 2005
]が出現したことで、ペアプログラミングの実践が近年注目度を増しています。
ペアプログラミングでは、ドライバ(
driver
)と呼ばれるペアの片方がコンピュータに入力を行ったり
設計を書き下します。ナビゲータ(
navigator
)と呼ばれる相方には多くの仕事があります。その
1
つは、
ドライバの仕事を見守ること
―
ドライバの仕事の戦術と戦略に欠陥がないか注意深く見ることです。
戦術の欠
陥には、文法エラー、タイプミス、メソッド呼出しの間違いなどがあります。これに対し戦略
の欠陥は、ドライバの実装や設計が最終的に目標達成に失敗しそうなときに生じるものです。ナビゲー
タは、ペアの中で、戦略的に将来のことを考える役割を果たします。ナビゲータは、設計、アルゴリズ
ム、コード、テストに深く関わらないので、より客観的な見方で作業の方向性を戦略的に考えることが
できるのです。ペアの
2
人は、常にブレーンストーミングを行い、忌憚なく話し合えるパートナーです
[
Wray 2010
]。効率的なペアは、絶えず問題に対するアプローチの選択肢と解法について討論し合って ...