2003/04/09 undo
簡単に言えば、プログラミングで二人三脚しようということ(^^;
eXtreme Programmingはそれなりに有効な手法だと思う。でも、おいらは日本ではまともなペアプログラミングは流行らないと思っている。その理由はいたって簡単である。他人のプログラミング環境ではまともにプログラミングできないからである。ストレスが溜まる一方である。
ペアプログラミングでは適当なところで選手交代する。このとき、面倒でも入力する奴のPCに変更したほうがいい。そうしないと、次のようなものが重くのしかかってくる。
これは2人でやるから「効率が2分の1」なんて単純なものではなく、1桁以上落ちるだろうな?
というわけで、選手交代もままならないようなペアプログラミングは日常的に機能するとは思えないわけである。それで、PCを変更する場合、いちいち二人で移動していたのではやってられない。そうなると席がすぐそばの人同士でやることになる。特定の場合を除いて、いつも同じ奴と組んでもあまり意味がないだろう。
ちなみに、本当の効率は2分の1よりは高い。
二人の能力差が極端な場合、できるほうの奴の効率+αとなる。できないほうは某か役に立つし、何も役に立たなかったとしても、足を引っ張らないのでマイナスにはならない(ここが重要だったりする(^^;)。
二人の能力差がほとんどない場合、方針が決まらず議論しているうちはプログラミングしないほうがいい。これは無駄ではない。途中までやって全部ひっくり返るよりも100倍マシなやり方である。方針が決まれば、すんなり進んで一人分+αとなるだろう。手戻りが少なくなる分、効率が上がっているはずである。
コーディング+コードレビュー+コード修正までの工数を含めて考えれば、二人でやっても十分にペイするだろう。