Sphere System Consulting ltd. スフィアシステムコンサルティング株式会社

Vol.101 ITプロジェクトは失敗を許容せよ

 コラム

ITプロジェクトは失敗を許容せよ

 

IT業界では、どうしても失敗に対して寛容ではない文化があります。理由は、プログラムでミスをしてはいけない、バグを出してはいけない、といった完璧な仕事を要求する空気があるためです。

 

もちろん、プログラムバグは良いものではありませんが、バグを無くすことだけに注力すればあまりにも近視眼的すぎます。プロジェクトの失敗は、目の前のプログラムバグが原因ではなく、バグを見過ごしたプロジェクトの運営体制や、そもそものプロジェクトの舵取りを間違えているパターンが圧倒的多数だからです。

 

ITを使う側も創る側も、「完璧主義」が蔓延していると言えます。

その背景には、ITが持つイメージも完璧主義を助長しています。「コンピュータ」という単語には、演算が得意な精密機械というイメージがあります。その「コンピュータ」を使い、そこで動作するソフトウェアは間違いない演算結果を出してくれるはずだと思い込んでしまいます。

 

しかし、人が創るものに完璧なモノは存在しません。
完璧ではないのに完璧に近づけるためには準備と仕組みが必要です。
例えば、医療系のシステムなど人の命に係わるITでは、入念にテストを繰り返し、バグを見つけて直すことを徹底します。人の命に係わるシステムではないから適当で良いわけではありませんが、通常の業務システムは、ミスの許されないシステムに比べ、バグを減らす仕組みの上で負けていることは認めざるをえません。

 

完璧主義にこだわるよりも、システムによる特徴はあれど、致命的なバグは無くし、その他のバグは気にしない、くらいのスタンスがちょうど良いのだと思います。

 

発注側の立場からすれば、致命的ではないとはいえバグを放置されるのは気持ちの良いものではありません。お金を出して開発を依頼する立場だからこそ、少しのバグも許容したくない気持ちもわかります。しかし、解決すべきは致命的で重大なバグであって、すべてのバグを指すものではないことを知る必要があります。

 

WindowsのOSでさえ、完璧にバグを無くしてからリリースするわけではありません。
サービスパックやWindowsアップデートという形で後から見つかった不具合に対応しています。

 

バグを無くすことに執着すると、目先しか見えず大局を見失います。
プロジェクトの終盤に差し掛かると、プログラムバグを減らすことだけに注力してしまう残念なプロジェクトがあります。バグの数さえ減れば、何となく作業が前進しているように見えるし、上司への報告としてはこれ以上ないくらい報告しやすい情報を得ることができます。ただ、他にも優先順位の高いやるべき作業があるのに、バグの件数のみに執着しても全体としては良い事がありません。

 

完璧を求めがちなITだからこそ、逆説の提案です。
細かなバグに執着するのではなく、他の優先順位が高い事があるはずなのでそちらに注力すべきです。そして、致命的なバグを生み出す背景に着目し、再発を防止すべきです。

 

バグに対して厳しい姿勢は良い事のように思えますが、行き過ぎは失敗を許容できない空気を創りだします。そして、失敗を許容できない空気は閉塞感を生み出します。失敗が許容出来なければ、評価は減点方式となり、出来たことより、出来なかったことがフォーカスされます。そのような雰囲気の中でクリエイティブな仕事をすることは不可能です。

 

本来は、リカバリー可能な範囲の失敗はどんどんやってよい事です。ITだからといって例外はありません。余計な完璧主義で身動きがとれなくなるよりも、クリエイティブな仕事をした方が、結果的に良いシステムを生む出すことができます。