プロジェクトの火消しのコツを考える
以前、筆者が炎上プロジェクトの当事者になった内容について紹介しましたが、みなさんは、炎上プロジェクトの当事者になった経験はありますか?
炎上とは行かなくても、問題プロジェクトへの増員メンバとしての参画経験をお持ちの方は多くいらっしゃるでしょう。また、直接は参画していなくても、周りで炎上しているプロジェクトを目の当たりとされた方も多いと思います。
それでは、どうやって火は鎮火していくのでしょうか? ほっとけば、時間が解決してくれるものでしょうか?
「火消し」を行うには、何かコツがあるようです。
プロジェクト炎上を防ぐ為の心得については第3回で紹介しましたが、今回は、炎上したプロジェクトの火消し術について考えてみたいと思います。
火消し役として
数年前、筆者は上位上長に呼ばれ、問題プロジェクトに投入されることとなりました。そのプロジェクトは、数人での開発でしたが、開発工程の終盤になった時点でも、不具合が多発し、品質確保が危ぶまれていました。
納期はあと2ヶ月に迫っており、来月からはお客様の利用者にもテストを開始していただくスケジュールの中で、プログラム開発が未だ終っていない状況でした。プロジェクト管理で抑えるべきことを整理しながらも、時間との戦いを考えると身震いがしました。
問題の発見
筆者はプロジェクトに参画してスケジュールや不具合の発生している内容について確認を行いましたが、すぐに問題は把握できませんでした。
スケジュールは、具体性を欠ける部分もありましたが、メンテナンスされているようです。不具合についても一定の傾向は見られるものの、本質的な原因とはとても思えませんでした。
数人のプロジェクトメンバと会話もしましたが、技術力はもちろん、モチベーションや仕様理解度も問題なさそうです。管理資料に一通り目を通していましたが、その時、プログラム規模[1]の資料を見て、「はっ」と思いました。
プログラムの実規模が同程度の開発に比べて、2~3倍は大きく感じました。システムの複雑さや規模に対して、見積りした規模が小さく、体制不足/納期不足となっていたのです。
プロジェクトメンバは「なんとかしよう」と一生懸命に開発をしていましたが、実務が追いついていませんでした。
納期延期の交渉
筆者は早速プロジェクトメンバを集め、規模が膨らんでいることを伝えるとともに、メンバに確認しました。
「あとどのくらいあれば、システム開発は完成すると思いますか?」との問いに対して、「あと2週間納期を延ばせてもらえれば、なんとかします。いや、1ヶ月の納期があれば確実です。」とメンバの中から声があがりました。
早速、それを受けて、筆者はお客様への報告書を作成し、納期延期3ヶ月を申し入れることにしました。1ヶ月の延期にせず、3ヶ月としたのは、1度納期延期を申し入れすると2度目の延期依頼は難しくなるためです。
お客様からは強いクレームをいただきましたが、何とか3ヶ月の納期延期を納得いただくことができました。
予定通り
プロジェクトは納期を3ヶ月を延期しましたが、当初予定の約2ヶ月の遅れで無事にシステム稼動を迎えることができました。
お客様からは、「よく納期短縮してシステム稼動をしていただき、ご苦労様でした」と言葉をもらったことは今でも覚えています。当初の納期は遅延しましたが、一度延期した納期を短縮したことで信頼を回復できたことが何よりも嬉しかったのは言うまでもありません。
また、人海戦術をとることもなく、何事もなかったかのように火を消すことができ、我ながらナイスリカバリーだったと思います。
人月の神話
システム開発は、10人月、20人月といった形で「人月」という単位を使います。10人月は、1人で10ヶ月、2人で5ヶ月掛かるという意味です。
それでは、10人いれば1ヶ月でシステム開発ができるのでしょうか? その答えは、『人月の神話』(※2)という本に詳しく記載されています。
筆者は、プロジェクトが収束しない問題が発生した時、「少しでも時間をかせぐことができないか?」をまず考え、その次に「人員を増強するなら、早い段階から実行する」の順で検討することを指針としています。
人と月は交換できないのだから、増員するなら早い段階に入れることが有効なのは言うまでもありません。
分かっていると実行できるの違い
今回はプロジェクトの火消し術のコツについて、一例を紹介しました。もちろん、プロジェクトの状況や体制、問題内容により、対処方法や考え方が変わることは言うまでもありません。
一番大切なことは、理論や理屈を理解し、実行することです。例えば、一人で開発を行うような場合の些細なトラブルでも、自分なりの方法で火消し術を実践してみることをお奨めします。