Index: [Article Count Order] [Thread]

Date:  Tue, 4 Apr 2000 12:03:00 +0900
From:  Yutaka Kamite <y-kamite@....jp>
Subject:  [XP-jp:00106] XPractices 【 24. Pair  programming 】
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <4.0.2-J.20000404105537.02863500@....jp>
Posted:  Tue, 04 Apr 2000 12:05:27 +0900
X-Mail-Count: 00106

上手@データ通信システムです。
原文が見れるので、直訳スタイルにしました。


Pair Programming(ペア プログラミング)

全ての重要な開発は複数のペアによって行われる。我々は以下を見つけた。
進捗は早く、我々は方向性を失うことが無く長く仕事ができ、品質は高い。
典型的には、ある人は、コードの向かう方向性のベストの感覚(feel)をもっている。
観察者は、細かなエラー(スペリング、フォーマッテイング、メソッド名)に気づき、
同時に開発の進行に関するより広い全般的(overall)な視野を持つ傾向がある。

タイピストはそれぞれのメソッドを工作(craft)しており、観察者はストラテジとごく
細かいことを同時に見ているかのようだ。

我々は以下を見つけた。ほんのちょっと実行してみるだけで、多くの人々はすぐに
ペア開発を採用する。彼らはそれを好きになる、なぜなら進捗がはっきりと速くな
るからだ。

プロジェクトの観点からは、ペアプログラミングの実行は、少なくとも2人の人が
コードにとても良くなじんでいる(familiar)ことを保証する。これは、チームが別の
タスクに向かうときにすぐ報われる(pay off)。

一方で、複雑なタスクでは集中が必要とされ、開発者は集中するためのプライ
バシーが必要だ。

・我々はプログラマが彼ら独自にプロトタイプすることを認める。進められることは
その後にプロトタイプを投げ捨て、パートナーと一緒に新しいものを作りなおすこ
とだ。もし、ひとりで何かを作り上げたら(週末をかけてのように)、パートナーと
一緒に再レビューする。これは、チェックが続くなら(if kept in check)OKだ。
それを、ペアリングを避けるための賢い方法と考えてはならない。

・もしあるタスクがとても複雑で、かなり集中する必要があるなら、それは全く
あきらかだ、我々は間違えたことをやっている。我々は見つけた、我々の全て
のプロジェクトでこのガイドラインからはずれた例外はない : 単純性はいつも
可能であり、いつもベターである。

一方で、私は一人で仕事をするのは好きだ。
・これも良い。 (You just can't work with usへのリンク)

ペアプログラミング スクリーンプレイ(へのリンク)

 最近comp.lang.smalltalkでのやりとりで、三人のプログラマにより、ペアプロ
グラミングがどのように行われるかの良い例です。

#以下は、このスクリーンプレイの最後の6行です。
彼女はコードをすぐ変更する。全てのことは何分かの間に起きた。(彼らの)
役割があれこれ(back and forth)ダイナミックに変わったことに注意して下さい。
Jackはアプローチを始め、Jillがそれを受けた。Jillがコードをスケッチしている
時、Jackは彼女を、シンタックスサポートおよびスタイルガイドラインでバックア
ップした。パートナー達は、お互いにスムースに活動した、ある物はバックアッ
プモードサポートに、タイピストはコードを打ち込む。

ぶつかり合い(conflict)は無い:2つの人々が一つのミッションで協同作業を
行い、リードは、瞬間瞬間でスイッチされる。ペアプログラミングの一番いい
状態だ。(? Pair programming at its best)


オリジナル http://www.xprogramming.com/
Copyright (c) 1999, REJeffries et al. (ronjeffries@....org)