対象のサイズが見積もられていないことの弊害
どのようなものに対しても、いかなる条件が整っていたとしても、見積りには常に「リスク」がともないます。
当たり前ですよね。見積りがしようとしていることは「未来予測」なのですから、リスクがゼロだと思っている方がどうかしています。
もしも見積りが現実よりも過小だった場合、請け負った側には大きな損失をともなうことになります。逆に多く見積りすぎると依頼者の不信を買ってしまいます。
見積りにおけるリスクとは、リスクマネジメントでいうところの
「低減」、「移転」あるいはその両方しか方法はありません。意図せず「保有」してしまうことはあるかも知れませんが、そうした人たちはだいたい後に苦労しているのではないでしょうか。
一般に、見積りの技術に不安がある状態(前回も失敗している場合)では、時間や金額などを多めに調整しようとする(バッファを積み上げようとする)心理がはたらくようです。
ですが、本当に見積りに不安があるのであれば、その不安がどこから発しているのかを追及し、解決すべきで、盲目的にバッファを積んだところで積み上げたそのバッファの量的根拠は定かになるはずもありません。そのようなやり方に逃げたところで成功する確率は多少しか上がりません。
どのような中間成果物を作りながら進めていけばよいのかわからないところから発してしているのか?
「設計書」に何を書けばよいのかわからないところから発しているのか?
要するにもっと具体的なレベルで不安の出所を探っていけばよいのです。
それをせずに相変わらず「いきなり根拠のともなわない工数」を見積もっているようでは、いつまで経っても不安の発信源を突き止めることはできないし、今回も次回も
「また前回の失敗のように、最後になって…」
という不安から解放されることは絶対にありません。こういう状態を繰り返しているうちに、自分が見積もった工数と実際の工数に、
実際の工数 = 見積り工数 × 係数
の関係があることに気づく人がいます。
たしかに、見積りの時点では見えていなかったことが起きたりしますので、今回のプロジェクトでも何か予想しきれないことが起きるのだろうと予測するわけです。
そして工数の中に「保険(バッファ)」を投げ込むことになります。
もっとも、元になる工数が"適当"ですから保険としてかけるバッファの値も適当です。
一般に「保険(バッファ)」の量は、元の工数のだいたい1~3割の間と言われています。そしてこのような中で「保険」は効果を発揮します。見積り工数に保険を組み込んでいたおかげで遅れが表面化しなかったり、表面的には小さな遅れで済んだりするわけです。
しかし、そんなことばかり続けていると「保険」を掛けるクセはやめられなくなります。そして徐々にリスクに対してしっかりと思考する習慣が失われていきます。
顧客が許容してくれている間は、この「保険」を仕込んだ冗長工数を算出する方法でなんとかやり過ごせたのかもしれませんが、90年代半ばから市場が発した納期の短縮要求を前にして、現在ではこの種の保険は徐々に通用しなくなっています。そう、要するにオワコンなのです。
仮に運よく通用することがあったとしても慢心しないでください。
通常であれば、依頼してくれる顧客が私たち1社だけに単独で依頼しているわけがありません。適正なビジネスをしている企業であれば内部統制のルールに従い、必ず相みつ(複数の企業に見積りをとって評価)しているはずです。
自社が「保険」をかけて価格点で大きく他社より高価になってしまった場合、常に自分たちに仕事を発注してくれるとは限りません。
仮に「保険」を積んではみたもののリスクが顕在化しなかったおかげで黒字化、あるいは大きな利益率を生み出した成果は、必ずしも
"安定した実力によって得た成功(実績)"
とは呼べません。再現性が伴わないからです。
そうしたアドバンテージはお客さまの都合や、競合他社の取組みによってあっという間に崩れるもので、将来的な安定を見込めないという意味で不安定な成果でしかないのです。
このやり方"しか"知らないエンジニアをリーダーやプロジェクトマネージャーにしてしまった場合、
ある特定のお客さま相手に
ある特定のタイミングや時期だけ
は通用しても、中長期的に市場の変化等を勘案した場合、他の市場や他の時代では全く通用しなくなる可能性が高い、と言うことを忘れないようにしましょう。
見積りの正確性を上げるには
「規模(サイズ)」
「複雑度」
の2点を明確にすることです。この2つが測定できていないことが、そこで提示された工数に根拠を持たせることができない理由なのです。
そのような状況の中で承認され、受注し、作られたスケジュールは当然ながら根拠のないものになっているため、トラブルプロジェクトへと発展する確率もグンと上がります。
1人月は20人日であり
20人日は160時間である
これが基本原則です。
そして「工数」は誰にでも"平等"に過ぎていきます。
1人だけ"日が暮れない"なんてことはありません。
だから、なんとなくで見積もった工数では進捗の状況なんてまともに肥握できるわけがありません。
本来、進捗管理の中で問われるのは、
「その日に生み出した成果物の"サイズ"が、
1日の生産性として適当なものかどうか」
です。
これを判断する方法には、以下の2つがあります。
①その日に終了すべき「量」として事前に割り当てた量を生産できたか
②全体の「量」をその日の生産性で割れば、予定の日数で終わりそうか
いずれの判断をするにも「サイズ(規模)」は不可欠です。
金額 = 工数 × 単価
工数 = 規模 × 生産性
生産性 = 単位当たりの実績量 × 難易度(複雑さ)
で見積ることが一般的に求められているのはそのためです。
そして、このとき重要なことが1つあります。
見積りは、この成果物を生み出す作業に取りかかる(ずっと)前におこなった"未来の予想"だということです。
これに対して実際に1日の作業を実施してみて、1日分の成果・実績のデータを得るわけです。これは予想ではなく"現実"です。実際に作業に取りかかってみることで見積りの段階では気づかなかったことに遭遇します。
思ったように作業がはかどらないという事実
予想よりも項目の「量」が多くなりそうだという事実
などです。
事前にサイズが見積られてさえいれば、最初の1日目の作業から得られる情報から見積られている工数や難易度が把握でき、さらにはスケジュールなどを高い精度で調整することができます。
しかし、サイズが見積もられていない状態ではこのような調整は実現しませんので、そうして見積もられたプロジェクトでおこなわれる進捗会議では、計画と現実がズレてしまうことも多く、結果として
"遅れている事実"を追認するだけ
になってしまいます。
いただいたサポートは、全額本noteへの執筆…記載活動、およびそのための情報収集活動に使わせていただきます。