ソフトウェア見積シリーズその2、かつkintone Advent Calendar 2017の12/19分記事でございます!
「ざっくり幾らです?稟議通すんで。」
打合せの現場でのよくあるやり取りですよね。
既に値付けされているパッケージ化されたソフトであればともあれ、これからエンジニアが寄ってたかって開発する規模の案件でお客さんからそんな投げかけをされたらどうでしょうか?
適当な事を言ってしまうと各方位から責められ、社内で居場所が無くなる可能性もありますね。
また見積担当者のメンタル的な状況で強気~弱気とブレていく場合もあります。感覚のみで見積ると変数多すぎで泣くことになります。見積怖い。
「ぶっちゃけ◯人月もあれば…」
ああ、遂にダークサイドに落ちちゃいましたね。
ファジーに打ち返してしまうと後々までファジーな価格調整を強いられることになります。
お客さんとしては、「ああ、ソフトウェアの価格なんてあってないようなものなんだな」と刷り込みが発生し、「今回はこの枠で」「予算ないけどなる安なる早で」「予算がないならこの機能は端折るしか無いですね」「テスト工数減らすか…」などどんどんダメ案件スパイラルに陥っていきます。いい案件になるもならないも見積次第です。
お客さんとエンジニア双方がハッピーになるには、いい見積が必要です。
さらには見積には確固たる「根拠」が必要です。
抑えておくべき見積の手法
最低でも2点見積、可能であれば3点見積の手法です。
2点見積
各見積工程を最小値と最大値から算出します。
- 何事もなくスムーズに終わった場合の工数(最小工数)
- ハマってしまった、手間取った場合の工数(最大工数)
- バッファ(最大工数-最小工数/2)
2点見積り値=(最大工数+最小工数/2)+バッファ
バッファの出し方には様々議論あると思いますが、概算見積ならこの精度で十分かと個人的に思います。
3点見積
PERT計算とも呼ばれる方法ですね。通常値を出すためには複数人で見積ポーカーをしたほうが精度が上がると思われます。
- 何事もなくスムーズに終わった場合の工数(楽観値)
- ハマってしまった、手間取った場合の工数(悲観値)
- 何度か見積もった中での平均工数(通常値)
3点見積り値=(4×「通常値」+「悲観値」+「楽観値」)÷6
そこで登場ファスト見積ツール(kintone)
エクセルの見積シートでちゃちゃっとでも大丈夫ですが、見積データの統計をゆくゆく取っていく場合はkintoneおすすめです。先程のよくわかんない数式もkintoneの「計算」で実現できますね。
ちょっと極端な例ですが、最小(楽観)と最大(悲観)それぞれの値を入れることで、ざっくり見積りができております。
##3点見積アプリも作ってみた
クリティカルパスを指定して粗粗の工期の把握をしたり、あれこれ工夫をしております。
※これはJavascriptのカスタマイズであれこれガリガリ作っております。
# で、結局「ざっくり幾ら?」にはどう答えるの?
ケースバイケースですが、
- 「◯日時間をください!概算でお見積を提出します」
- 「システムの要件によりますが、◯ヶ月~◯ヶ月の工期でしょうか。金額にすると◯万円~◯万円のレンジかと。」
必ずしも打ち返さなくてもいいのでは無いでしょうか?正しく見積もるのが優先ということで。
# さくっと見積り終わらせて、良いクリスマスを!
というわけで、エモい1点見積絶対ダメ、2点以上見積で説明のつく見積をつくりましょう!
一応簡易版の見積アプリテンプレート置いておきますね!hohoho...
http://antbear-creates.sakura.ne.jp/_share/20171219_kintone_estimate_template.zip