工数見積もりを使ってはいけない6つの理由
- Masha Ostroumova
- 2022年4月22日
- 読了時間: 7分

アジャイルに慣れている方なら、ストーリーポイントやTシャツサイズという言葉を聞いたことがあるかもしれません。これらが注目される理由と、従来の「工数(マンアワー、マンデー、マンウィーク)」の何が問題なのでしょうか?
まず、そもそもなぜ作業の見積もりが必要なのかを考えてみましょう。従来のプロジェクト管理では非常に明確でした。例えば、基礎工事に10日、壁と屋根の建設に15日、配管や電気工事にさらに5日かかると仮定すると、建設開始から30日後には内装工事に取り掛かれる、といった具合です。
このような計画手法は、必要なリソースを適切なタイミングで手配したり、全体像を把握するのに役立ちます。この計画を行う建設会社は、通常、各工程の見積もりと必要な作業人数をかなり正確に算出できます。例えば、基礎工事には5人がコンクリートを流し込み、配管や電気工事には2人が必要、といった具合です。
工数(マンアワー、マンデー、マンウィーク)の概念は、こうしたプロジェクト管理の世界から生まれました。しかし、さらに一歩進んで「ある作業を5人で1時間かけて終えるなら、1人で5時間かけても同じ成果が得られる」という発想を導きます。
理論上は、この考え方は非常に美しく、興味深い計算が可能になります。例えば、200時間の工数と見積もられたプロジェクトなら、4人で50時間かけて終わらせることができます。また、もう1人加えれば40時間で完了します!素晴らしいですね!プロジェクト管理における三角形(範囲、予算、スケジュール)を知っていれば、この三角形の一辺を変えると他の辺にも影響が及ぶことをご存知でしょう。範囲を広げるとプロジェクトが遅延するか、予算が膨らむかのどちらかになります。一見すると、工数は予算とスケジュールの調整を可能にし、トレードオフを明確にしてくれるように見えます。
しかし、現実の世界ではそう簡単にはいきません。以下がその理由です。
理由1: 9人の女性では1ヶ月で赤ちゃんを産むことはできない
ある作業は、それにどれだけの人員を投入しても一定の時間がかかる場合があります。例えば、コンクリートが固まる時間、水が沸騰する時間、コードのコンパイルにかかる時間など、人の手でコントロールできないものがあります。1つのタスクを早く終わらせるためにリソースを増やしても、逆に大きな無駄になることもあります。
生産性は一定のポイントまでは向上しますが、それを超えると逆に低下することがあります。例えば、ネイルサロンで片手を1人が、もう片手を別の人が同時に仕上げるとスピードが上がります。しかし、3人目が加われば、他の2人の邪魔をするだけです。
理由2: 「でも、ボブなら30分で終わるよね…?」
チーム内にシニアとジュニアのメンバーがいて、同じような作業を行っている場合、それぞれの工数は同じでしょうか?おそらく違うでしょう。シニアが20分で終える作業を、ジュニアは1時間以上かけてしまうかもしれません。
では、作業を見積もる際、どちらを基準にするべきでしょうか?シニアを基準にすると楽観的すぎて非現実的なスケジュールが設定され、チームが早々に燃え尽きてしまう可能性があります。一方でジュニアを基準にすると、目標が保守的すぎてチームが退屈するかもしれません。それぞれの作業を事前に割り当てて見積もらせる方法もありますが、これではチーム内に緊張感が生まれる可能性があります。
理由3: 「先週は200時間分の作業をしたけど、今週は150時間。僕たち、成長してる?」
プロジェクトのクリティカルパスを特定し、必要なリソースを算出する必要がある場合もあります。しかし、過去のデータを本当に活用できるのでしょうか?残念ながら、多くの場合は答えが「いいえ」です。チームが作業した時間や、完了した工数を計算することはできます。
しかし、次の期間にその数値が増減した場合、それはチームが効率的だった(またはそうでなかった)ことを意味するのでしょうか?単に長時間作業をしただけではないでしょうか?工数の見積もりでは、これらの質問に答えることはできません。
理由4: 「この機能は93.5時間で完了すると95%の確信があります」
人間は未来の予測が非常に苦手です。私たちは楽観的すぎる傾向があり(新しいスポーツ用品を買ったときのことを思い出してください!)、同時に燃え尽きを防ぐためにバッファを追加します。その結果、見積もりはバラバラになることがよくあります。
さらに、リスクや予期せぬ出来事を考慮に入れないことがほとんどです(ブラックスワンは別として)。例えば、メアリーが3日間病欠する場合や、ジョーが顧客サポートのために技術的な問題を解決しなければならない場合はどうでしょうか?時間ベースの見積もりは小さな作業項目では有効かもしれませんが、作業の規模が大きくなるほど精度は低下します。
さらに、ほとんどの場合、作業に影響を与える不確定要素を扱っています。 たとえば、新しいベンダーが導入予定の変更をサポートできない場合はどうなるでしょう?あるいは、新しいデザインがお客様に受け入れられず、やり直さなければならない場合は?このような不確定要素をすべて正確に予測することは非常に難しいのです。
理由5: 「いや、絶対に92時間で終わるよ!」
時間ベースの見積もりは非常に正確であることを求められます。しかし、これは見積もりのプロセスに多くのオーバーヘッドをもたらします。なぜなら、人々が互いの見積もりに疑問を投げかけ、数値について延々と議論することになるからです。
本来、作業の見積もりプロセスは非常に価値のあるものです。なぜなら、それによって未知の要素を減らし、チーム全員が同じ認識を持つことができるからです。もし作業の範囲について意見が食い違うことがあれば、それは作業のスコープが明確でない、あるいは理解に矛盾があることの兆候です。しかし、ある作業項目が35時間か36時間であるかを決めるために争うのは、時間の無駄です。
大規模な作業項目では、より多くの驚きがチームに持ち込まれる傾向があるため、結果として54時間かかることもあり得ます。
理由6: 「フォーミング、ストーミング、ノーミング、パフォーミング」
ブルース・タックマンというアメリカの心理学研究者をご存知ですか?彼は「チーム開発の段階」という理論を提唱しました。チームは生産的になる前に必ず3つの段階を経る必要があると言います。
最初は「フォーミング(形成期)」です。ここでは、チームメンバーが初めて集まり、新しいチームやプロジェクトに対して非常に意欲的になります。次に「ストーミング(混乱期)」が訪れます。この段階では、メンバーが互いの仕事のスタイルを知り、物事が混乱します。個人的な衝突や権力争い、コミュニケーションの問題や不一致が非常に一般的です。
その後、「ノーミング(規範形成期)」に進みます。ここでは、チームメンバーが違いを乗り越え、暗黙的または明示的に一連のルールを確立し、スムーズに協力できるようになります。正式なものである必要はありませんが、時間が経つにつれて、全員が効率的に協力する方法を理解し始めます。
なぜこれが重要なのでしょうか?チームが「パフォーミング(実行期)」に到達するのは、この3つの段階を経た後だけだからです。そして、新しいチームメンバーが加わると、それはほぼ新しいチームのスタートと同じです。つまり、また最初からこれらの段階を経る必要があるのです!
工数の見積もりは「メンバーを増やせば生産性が上がる」という誤った認識をもたらしますが、実際にはそうではありません。代わりに、チームは一時的にペースが遅くなり、効率が落ち、再び「実行期」に達するまで時間がかかります。
では、代替案は何でしょうか?
ストーリーポイントが作業見積もりのすべての問題を解決する万能薬であるとは言いませんが(そう言いたいところですが!)、相対的な見積もりを使用するのは常に良い考えです。
つまり、時間ではなく、作業項目の「大きさ」を見積もり、他の作業項目と比較するのです。この「大きさ」には、作業にかかる時間、複雑さ、不確定要素、リスクが含まれます。
そして、作業項目の絶対的な大きさを推測するのではなく、複数の仮想的な「バケット」の中に分類します。ストーリーポイントの場合は、修正されたフィボナッチ数列(1、2、3、5、8、13、20、40、100)を使用しますが、Tシャツサイズ(XS、S、M、L、XL)や、もっとクリエイティブな分類(カエル、犬、馬、象、クジラ)を使うこともできます。
ビールでどうでしょうか?作業をパイント、ピッチャー、バレルで測れば、チームの士気も上がりそうですね!
Comments