プロジェクトにおいて一番難しいこと
昨年はみなさんにとって、漢字1字で表すとどんな1年だったでしょうか。京都の清水寺では世相を表す「2009年の漢字」が「新」と発表されましたが、いったい何が新しかったのかと考えれば、多くの人は新政権の発足をあげるでしょう。新政権の取り組み課題は山積みですが、筆者が注目しているのは、「八ツ場ダム」の建設中止に関してです。国土交通大臣が、中止を宣言して話題になったので、ご存知の方も多いでしょう。
内容については割愛しますが、途中まで多額の費用を投入したプロジェクト中断の判断は、更なる追加費用を投入してプロジェクトを継続することより、はるかに難しいものです。
今回は、システム開発におけるプロジェクト中断について考えてみたいと思います。
答えのないシステム開発
数年前、筆者は過去の販売実績等から需要予測を行うプロジェクトを担当しました。
当時、需要予測に関するパッケージソフトは多数ありましたが、本プロジェクトは過去に使ったことがない需要予測方式を採用することで、少ない情報でも「それなりの結果」が得られることを売りとしたものでした。
元来、需要予測に答えはありません。そのため、サンプルデータによる結果検証や前提条件の設定が大変重要になりますが、プロトタイプ[1]で「それなりの結果」に問題がないことを確認し、プロジェクトを推進していきました。
大きな問題発生
その事件は、本番開始まであと2ヶ月という時点で起こりました。ユーザの最終テストにおいて、「それなりの結果」が一定の偏りにより業務運用で使えないというのです。
一定の偏りは需要予測パッケージが出した結果のため、筆者を始めとしたプロジェクトメンバは愕然としました。業務運用で使えないことに対して、対策できる手段は限られていましたが、使えるレベルにするために有識者を集め様々なチューニングを行いました。チューニング結果をお客様にも繰り返し確認いただきましたが、何度やっても業務運用で使えるレベルになりませんでした。
着地点も見えず[2]に過ごした不安な日々は、今でも思い出すと悪寒が走ります。
プロジェクト中断の決断
「せめて一部でもなんとか動かしたい」と願い、最後の最後まで粘りましたが、半年間奮闘の末、満足した結果を得ることはできず、お客様とプロジェクト中断を決断しました。
すでに多額のシステム費用を投資していましたから、プロジェクト中断は、大きな痛みを伴うものでした。それまでのエンジニア人生でプロジェクト稼動延期はありましたが、プロジェクト中断は初めてでした。「これまでかけた時間は何だったのだろう」という悔しさ(虚しさ)とともに「やっと問題から解放される」という解放感、そしてシステム開発の本当の怖さを心底感じた経験でした。他にも色々な感情がありますが、この経験は、言葉では言い尽くせないものがあります。
サンクコストの重要性
プロジェクトマネージメントの定石では、過去に掛けたコスト(サンクコスト)は、回収できない費用であるため、これからのプロジェクト継続の判断には入れてはいけないものとされています。しかし、当事者(エンジニア)にとっては過去に掛けたコストこそ、とても重要なものでしょう。
長い時間を掛けて検討・構築したプロジェクトの結末が中断というのは、損得を度外視しても耐えられないものがあります。エンジニアは苦労して構築したシステムが稼働した時に、最大の喜びを感るものです。「あの時は大変だった」と昔話ができるのは、システムが稼働したから言えることでしょう。
この経験から考える教訓
どんなに注意をしても、プロジェクト中断という事態は身の周りに起こる可能性を持っています。プロジェクト中断まではいかなくても、お客様が絶対に必要な約束納期にどうやっても間に合わない経験、業務運用で利用可能な性能が出なくて困った経験、適用した海外製品の仕様により思った処理が出来ない経験など、プロジェクト中断を覚悟するヒヤリとした経験をお持ちの方も多いと思います。
私はプロジェクトの色々な局面で、このプロジェクトを途中で中断した時にどうなるのかを想像してみるようにしています。今やっている事の怖さを知ると、行動も変わるでしょう。みなさんもプロジェクトの怖さを感じた時に、プロジェクトの中断を想像してみることをお勧めします。