佃です。
23章の抄訳を送付します。
意訳している箇所がかなりあります。
間違いの指摘、コメントなど、お願いします。
<私の思い込みによるまとめ>
・ XPでも最初は劇的な改善は見られない。最初はXPに慣れて
いないから、ちょっとした改善しか見られない。最初はそれで我慢
しましょう。(最初の80%の努力で20%の効果)(これは私が感じた
ことで、本文には明示的に書かれていません)
・ プラクティスを適切に使えるようになれば、劇的に生産性が高
まる。そのためには、プラクティスをバランスよく使うことが重要
である。(プラクティスは絡み合っているので、20%のプラクティ
スの使用で80%の効果を得る、という20-80ルールは適用できない)
<タイトル直下の要約部分の全訳>
XPのフルバリューはすべてのプラクティスが適切になるまで得
られない。多くのプラクティスは断片的に適応可能であるが、それ
らを一緒に利用されたときにそれらは相乗効果を生む。
<本文の抄訳>
ソフトウェアプログラマは、20-80ルール(利益の80%は作業の
20%から生じる)を扱うことに慣れている。このルールを適用する
ためには、システムがお互いに比較的独立していなければならな
い。例えば性能のチューニングを行う場合には、チューニングする
箇所は、別の箇所に影響しない方がよい。
The Athletic Skierと呼ばれるスキーの本では、以下のようなこ
とを述べている。
・ スキーブーツをチューニングし、よい状態にすれば、山を感じ
ることができ、バランスを保つことができる。
・ 最初の80%の努力で20%の進歩しか得られない。
・ たくさんの小さな要因、例えばスキーブーツのチューニング、
により、バランスを保つことができるようになる。ある要因がだめ
なら、バランスは保てない。
・ 最初はゆっくりとした進歩だが、最後の段階では急激にスキー
が進歩する。
XPもこれと似た感じである。シナジー効果を得るためにプラク
ティスを同時に実施すれば、単体で使用する場合の合計より効果が
大きい。例えば、ペアプログラミングのパートナーがあなたにリフ
ァクタリングを要求したりするので、単にテストをするのではな
く、単純なシステムをテストすることになり、テストが容易にな
る。
これはジレンマを生む。XPはオールオアナッシングなのか。改
善が見られないままこれらのプラクティスに従うべきなのか。そん
なことはない。部分的なXPの適用により大きな利益を得ることが
できる。しかし、すべてのプラクティスを同時に適切に利用した方
がさらに多くの利益を得ることができる。
--
佃 軍治 tsukuda@....jp
日立製作所システム開発研究所第2部