見積で成否の8割が決まる

残念なことに多くのエンジニアは炎上プロジェクトに遭遇しているのではないでしょうか?

そうでなければ、プロジェクトマネジメントの重要性を問われることはないし、そのためのスキルに関する書籍も多く存在しないのではないかと思います。

プロジェクトとはある目的を達成するための計画や業務のことです。

定型のものではないため、一つ一つ課題やリスクが違いますので、同じ方法で解決できるものがありません。

だからこそ、必ずしも成功させることができず、時に炎上することもあります。

いくつかの炎上プロジェクトを経験した僕の目からは、「炎上プロジェクトは最初から負け戦であることが多い」と実感しています。

ゴールが不明確、期間が短い、人員が足りない、予算が足りない、などなど、経営の思惑や営業の思惑などの事情により、最初からリスク含みで始めるから炎上するのだ、と思います。

そのために、エンジニアができることは見積精度を高めて、必要なリソース(期間・人員・予算等)を確保して始めることが求められます。

240205 02

ざっくり見積の恐怖

見積で出した期間や人員、費用は、プロジェクトの基礎となりますので、ここを間違えればすべて狂います。

よくあるのは、これからプロジェクトを実施するのにどのくらい期間と予算が必要か見積もってほしいと言われて作るものです。

しかも、なぜか数日で作ってくれというものが多く、「ざっくり」作るしかなくなります。

これが「ざっくり見積」です。

よくあるざっくり見積は、実際の作業内容を十分に把握せずに、1ヶ月何人ほど必要で、それがだいたい半年・1年・2年などといった期間で総工数を把握するだけのものです。

ところが、「ざっくり」だと言うことを伝えているにもかかわらず、それがあたかも正式な見積であるかのように、実際の計画にそのまま入っていくことが多いです。

ざっくり見積もったはずが、その条件でプロジェクトが承認される結果、プロジェクトの期間や予算が使われてしまっています。これは本当に恐ろしいことです。

ですので、ざっくりとした数値を出すにしても、できる限りプロジェクトの仕様や難易度、どんな人が必要かなどをできる限り詳細を調べて見積もる必要があります。

240205 03

見積時の条件と変わってしまう

開発チームが見積をするとき、具体的ではない仕様のことがほとんどですので、情報不足の中で見積もる必要があることは少なくありません。

プロジェクトの内容を理解するための情報は多くなく「○○を実現する」のような標語程度の目的のこともあります。

その場合、「○○」とはどういうことか?「こういうことではないか」といろいろ想像しながら進めます。

それならこのくらいの難易度だからこのくらいの人数と期間が必要ではないか、というようなことを少しずつ決めていきます。

怖いのは実際にプロジェクトが始まると、そういった前提条件が全く崩れてしまうケースがあります。

どんなプロジェクトも、見積時と実行時で差があるのは当たり前ですが、根底から崩れることもないわけではありません。

「いまさらそんなことをいわれても・・・」といいたい状況になりますが、四方を固められてにっちもさっちもいかないことも多いです。

そうなるとひたすら納期に間に合うように死ぬ気でやるしかない状況に追い込まれます。

240205 04

エンジニアの悲哀

炎上プロジェクトは関わっているエンジニアの進め方に問題がある場合もありますが、開発チームの力を超えていたり、顧客が作りたいものと見積が合っていないなど、プロジェクトの開始前から問題がある場合も少なくない。

このような場合、どんなに現場ががんばっても成功することはできず、いわば最初から負け戦なのです。

こういうプロジェクトに関わるエンジニアは本当につらいだけで楽しいことは全くありません。

こんな時、本当に割に合わない仕事だと思います。

だけど、エンジニアはがんばるんですね。本当に悲しいくらい真面目です。

240205 05

どうやって防ぐか?

何とかそんなつまらないプロジェクトにしないためには、まずはプロジェクトのゴールと現実に実現できる計画の差をなくすことが求められます。

両者にズレが起きる責任の多くが、プロジェクトが始まる前のざっくり見積にあると僕は考えています。

上層部だけで考えた見積や、時間がないから急げと言われて要求もはっきりしないまま出す見積もりほど怖いものはありません。

見積を出すからには、条件を明確にしできる限り積み上げること。

そして条件が変わったのなら見積も変わることを明確に伝えて、その条件が変わったときには見積も変えられるようにしておくことです。

そして、納期を間違っても「○○年△月」のように実際の日付で書かないことです。

着手開始から「○○ヶ月」のように、開始日によって完成日も変わるように書くことです。

このように自分たちを守る手段はあります。

自分たちを守れるように条件を明確にして見積を出しましょう。