Jeff Atwood / 青木靖 訳
2006年6月14日
私は今、スティーブ・マコネルの「ソフトウェア見積り―人月の暗黙知を解き明かす」を読んでいるところだ。個々のエキスパートの判断についての節は、私の見積 りが時にとんでもなく間違っていることの実に単純な理由を説明してくれている。
開発者に一組の機能について見積るように頼んだとしよう。彼はこんな感じの見積りを出してくる。
機能 見積り日数 Alpha 1.5 Bravo 1.5 Charlie 2.0 Delta 0.5 Echo 0.5 Foxtrot 0.25 Golf 2.0 Hotel 1.0 India 0.75 Juliet 1.25 計 11.25 それから同じ開発者に、それぞれの機能を最良の場合と最悪の場合について再見積りするように頼んでみる。すると彼は次のような感じの見積りをする。
機能 最良の場合(日) 最悪の場合(日) Alpha 1.25 2.0 Bravo 1.5 2.5 Charlie 2.0 3.0 Delta 0.75 2.0 Echo 0.5 1.25 Foxtrot 0.25 0.5 Golf 1.5 2.5 Hotel 1.0 1.5 India 0.5 1.0 Juliet 1.25 2.0 計 10.5 18.25 はじめの一点での見積りと、最良値/最悪値の見積りを比較してみるなら、11.25という一点での見積り値の合計が、最悪値の合計18.25よりも最良値の合計10.5にずっと近いことがわかるだろう。
最良値と最悪値が両方とも一点での見積り値より高くなっているところがあるのも目に付く。最悪のケースについて考えることで、最良の場合でもやらなければならない作業がもっとあったことに気付いて、見積りを引き上げているのだ。最悪のケースをよく検討したいとき、私は開発者にあらゆることがうまく行かなければどれくらいかかるかと聞いている。人がする最悪の見積りというのは、真の最悪のケースよりは楽観的な最悪のケースとなっていることが多いのだ。
これは目を見開かせられるエクササイズだ。恥ずかしながら、私は仕事で見積りするときにいつも一点での見積りをしていた。これはプロジェクトスケジュールの惨事の多くにおいて出発点となっていることであり、マコネルは楽観主義者の馴れ合いと呼んでいる。
楽観的であるというのは人類にほぼ普遍的な特性であり、ソフトウェア見積りは私が「楽観主義者の馴れ合い」と呼んでいるものによって損なわれている。開発者は楽観的な見積りを提示する。経営幹部は楽観的な見積りが好き なものであり、それによって望ましいビジネス上の目標が達成可能になるからだ。マネージャがそういう見積りを好きなのは、 上位のマネージャの目的に沿えることを意味するからだ。だからソフトウェアプロジェクトは見積りがそもそも確かなものなのか批判的に検討されることなく推し進められることになる。
完璧な見積りをするのは不可能であるにしても、最悪のケースの想定から始めて最良のケースの推定をするというのはいい考えだと思う。
home rss | ||
© Copyright 2006 Jeff Atwood. All Rights Reserved. |