Thinking 2019.10.09

工数の見積もりってどうやってますか?僕はこうやっています。

記事のアイキャッチ画像

工数を見積もる際の失敗パターンと失敗しなくなった現在の工数見積もりの計算方法をご紹介

はじめに

工数見積もりで失敗した経験はありませんか?僕はめちゃくちゃあります。
何度も何度も自分の首を絞めて来て、ようやく最近そこそこ正確に工数が見積もれるようになりました。
今回は僕の失敗談と、今ではどのように計算をしているかのお話。

なぜ工数見積もりで失敗するのか

失敗する原因は様々ですが、気をつけていれば防げるものもありますので、まずはよくある原因について挙げていきたいと思います。

よくある原因その1. 勘に頼る

豊富な経験や根拠があれば勘に頼ること自体は悪くないと思いますが、まだそのレベルに達していない人がやると大きな誤差が出てしまうので注意が必要です。

よくある原因その2. 見栄を張る

続いては工数をなるべく少なく見積もって評価されたいケースです。もちろんその通りに作業を終わらせ評価が上がることもあるかもしれませんが、残業に苦しんでいたり、言っていたスケジュールで終わらなかったりした場合に相手に与える印象を考えたら、あまり見栄を張るのも考えものです。

よくある原因その3. バッファを含めない

見積もった結果3日で終わるからと言って3日で報告するのは危険です。ある程度余裕(バッファ)をもって報告しておくと予期せぬ自体にも対応出来て安全です。ただし、余裕を持ち過ぎると不信感を与えてしまう可能性もあるので、どのぐらい余裕を持つのが妥当かは後述します。

よくある原因その4. 正直ベース

管理者が好んで使う言葉で、バッファを含めず最速でどのぐらいで出来るか聞きたいときに使います。
理由は様々ですが、スケジュールを圧縮しようと企んでいる可能性が高いので正直に回答すると、バッファを含まない工数でスケジュールを作成され、予期せぬ自体が起きたら残業や徹夜、休日出勤でカバーを強いられるケースがあるので、回答を求められた場合は注意が必要です。

よくある原因その5. 既に見積もられた工数を承諾

誰かが既に見積もっていた工数をそのまま引き継ぐパターンです。工数は作業者によって当然変わってくるものですので、既に見積もられた工数があったとしても、その工数が妥当かどうか調べる必要があります。ただ管理者がその工数でやって欲しくて無理を押し付けようとしているケースもあるので、どんな場合でもまずは自分で工数は見積もることをおすすめします。

工数を見積もってみる

それでは実際に見積もっていきたいと思います。やり方はいろいろありますが、僕はこの手順で毎回見積もっています。

Step1. タスクの細分化

まずはタスクを細分化するところから始めます。WBSがあればそれを使っても良いです。
以下は数ページの作成を依頼された場合の細分化したタスクの一部を例として書いています。

共通
  マークアップ
    ヘッダー作成
      ロゴリンク
      パンくず
      グローバルナビゲーション
PageA
  マークアップ
    メインコンテンツ作成
      商品カード
      商品画像スライド
      関連商品
  JS
    初期描画処理
      スライド生成
    個数プルダウン変更処理
    購入ボタン押下処理

こんな感じでタスクを細分化していきます。

Step2. 工数の算出

次に工数を算出していきます。まず10分あたりの工数を1 / 1日の作業時間 / 6の計算式で算出していき、10分、30分、60分のどれかを工数として割り振っていきます。仮に1日の作業時間を8時間とすると、1 / 8 / 6 = 0.02となり、10分、30分、60分はそれぞれ0.02、0.06、0.12となります。この段階ではバッファは気にせず「このぐらいで出来るだろう」ぐらいの工数を割り振っています。

共通
  マークアップ
    ヘッダー作成
      ロゴリンク - 0.02
      パンくず - 0.06
      グローバルナビゲーション - 0.06
画面A
  マークアップ
    メインコンテンツ作成
      商品カード - 0.12
      商品画像スライド - 0.12
      関連商品 - 0.06
  JS
    初期描画処理
      スライド生成 - 0.12
    個数プルダウン変更処理 - 0.06
    購入ボタン押下処理 - 0.12

Step3. バッファを考慮する

最後に、PERTというプロジェクトマネジメント手法を用いてPERT法という計算式でバッファ込みの工数を算出していきます。

Program Evaluation and Review Technique(プログラム・エバリューション・アンド・レビュー・テクニック、PERT)とは、プロジェクトマネジメントのモデルの一種であり、プロジェクトの完遂までに必要なタスクを分析する手法である。Project Evaluation and Review Techniqueとも。

引用元:Wikipedia

PERT法では、工数を最速の場合、普通の場合、最悪の場合に分けて公式に当てはめて、(最速 + 普通 * 4 + 最悪) / 6で工数を算出します。先に見積もっておいた工数は楽観的に見積もったので最速とします。その後、普通と最悪を改めて考えてみても良いのですが、僕の場合は普通は最速の1.5倍、最悪は普通の2倍として計算しています。その為、0.12で見積もっていた工数は、普通の状況では0.18、最悪の場合0.36の工数がかかると仮定して以下のように計算します。

(0.12 + 0.18 * 4 + 0.36) / 6 = 0.20

これがバッファ込みの工数の算出方法となります。
この算出方法で、先に見積もった工数を再度計算していきます。最終的にそれらの数値を合計したものがバッファ込みの全体の作業工数になります。

さいごに

今回使用したPERTという手法は1958年にアメリカで発明されたものらしいのですが、今でも十分実用的に使えます。置かれている状況により合う合わないはあるかと思いますが、工数の見積もり方に悩んでいる場合は、ぜひ一度試してみてください。それでは今回はこのへんで。ではでは。


Category List カテゴリー

Tag List タグ