寺田@IHIです。
めちゃくちゃ遅くなってしまってすみません。
まだちょっと、こなれていない訳ですが、ひとまず提出させて
いただきます。
----
==================
短いイテレーション
==================
我々は、時間制限のあるプロジェクトでは、3週間の「イテレーショ
ン(繰り返し)」方式を使っています。ユーザストーリーは、複数の作業
タスクに分割されているとします。
もし、ある工程タスクが1作業週間以上かかると思えるなら、その
タスクはもっと分割しなければならないでしょう。
エンジニアたちは、「完全作業日」を単位として自分のタスクを見
積もろうとします。すなわち、彼らは物事がパーフェクトに進み、誰か
らも中断されりすることなく作業した場合の時間を見積もっているので
す。我々は実際には、この1完全作業日につき2日かかるとみなしてい
ます(そして、この割合は様々な計測結果ともよく一致しています)。
ゆえに、各エンジニアは、各イテレーションにつき、7・8日を埋める
に十分な仕事(タスク)に就くことができることになります。
○反論:ペアプログラミングを行っているのだから、この倍率(理想に
対する実作業時間比)2は相殺されるのではないでしょうか?
そういう風になると思われるでしょうが、そうではないらしいので
す。我々はこの係数に対して何ができるかを追跡しましたが、いくつか
のイテレーションでは、0.5よりむしろ0.3ぐらいの倍率を使いま
した。(我々は、こらの期間中に必要なリファクタリングをたくさん行っ
ていました。)
更新:我々は、最近のいくつかの出来事の結果から、ペアリングは、
係数2に強い影響をあたえるが、完全には相殺できないのではと感じて
います。我々は、0.5の代わりに最近は総合的パフォーマンス比率として
1/2.5、または0.4 を用いています。我々も、なぜこの比率が変化したの
か十分には説明できないのですが、明らかにそうなっています。我々は
割り込み(ディスターブ)を減らし、タスクが始まる時点でより多くの
テストを生み出すべく活動しています。しかし、大事なのはこの比率は
変化しており、プランニングにおいて常に新しい比率を用いることです。
そうすれば我々はより正確に進捗を予測できるでしょう。
○反論:この1〜2の比率というのは、各エンジニアの作業効率の見積
の誤差を計算していることになります。だとしたら、エンジニアによっ
て比率が異なるということはないのでしょうか?
我々の技法を改良していけば個々のエンジニアの別々の係数を取り
扱うようになるかもしれないですが、しかしそれによってイテレーショ
ンの見積と管理がとても難しくなるでしょう。これまでのところ、それ
は必要ではありませんでした。
オリジナル http://www.xprogramming.com/
Copyright (c) 1999, REJeffries et al. (ronjeffries@....org)
------------------------------------------------------------
寺田英雄:Hideo Terada
IHI技術開発本部
メカトロ総合開発センター/制御システム開発部/情報通信システムグループ
mailto:terada@....jp, hideo_terada@....jp
tel:9-44-3564, 03-3534-3564 fax:03-3534-3510
------------------------------------------------------------