見積り工数を巡る攻防

様々な事情によりソフトウェアのリリース時期が決まっているのは仕方ないにしても、出来もしない開発日程を無理に現場に押しつけると失敗の可能性が高まる。一般的に、プロジェクト責任者は早期のリリースを望むので短めの工程を出し、現場の担当者は様々なリスクを想定するので長めの工程を出しがちだ。立場の違いから見積もり工数の差が生まれるのは仕方ないにしても、その差を縮めて両者が合意できる日程に持ち込むのがリーダの役目だろう。しかしながら、リーダがそんな役割を放棄して一方的に工程を宣言して開発が始まってしまうと、これは危険プロジェクトの兆候だ。

特に、両者の違いが有ればあるほど失敗の可能性は高い。工程の見積もり差違が「3倍以上」というプロジェクトを見たことがあるが、案の定デスマーチとなり、リリース時期は延期に延期を重ねた挙げ句、最終的な工程は3倍を大きく超える結果となった。どうしてこんな開発プロジェクトにゴーサインがかかったのか理解不能だが、たぶん、そのような差違を埋めるだけの調整能力に欠けるプロジェクト責任者は、見積もり工程の大きな差が生まれた理由を理解できていないし、見積もり工数の裏付けとなる技術的な面での素養も欠けていたのだろう。現場の意見を無視して、上層部から言われたことにハイハイと従うヒラメ型リーダにありがちなことだ。担当者の出す見積もりが「必ず正しい」と言うつもりは無いけれど、それなりに合理的な理由に基づいていることは当然のことであり、それを上回る理屈で担当者を説得出来ないようではリーダの能力不足と言われても仕方あるまい。

開発工数の見積もりを求められた場合、開発者に必要なのは下記の内容を説明することだ。

  • 見積り工数と、その理論的根拠
  • 過去の類似開発事例での見積もり値と実績値の比較
  • 想定しているリスクと、その対処方針

これだけの情報を開示してリーダの合意が得られないのなら、何の工数をどのように減らすべきなのか具体的な項目の説明を求めればよい。優れたリーダなら、削減すべき対象を的確に指摘できるし、他部門と調整して開発範囲を限定することが出来るだろう。納得できる説明が行われ双方の合意に至ったのなら、それは成功プロジェクトに近づいたことを意味する。逆に、合理的な説明が出来ず、工程の短縮を感情的に訴えるリーダなら、それは能力不足の可能性が高く、失敗プロジェクトにまた一歩近づいたことを意味する。政治的な決着は最後の手段であり、開発者はいついかなる状況でも合理的な根拠に基づく冷静に議論をしなければならない。感情的な議論が始まったら、リーダの資質を疑った方が良いし、プロジェクトに黄色信号を灯した方が良いだろう。