Solution

リスクマネージメント

$引用$

$引用元$

TOP > Solution > リスクマネージメント

概要

見積もり段階で、リスク項目を洗い出しスケジュールにフィードバックする仕組みを考える。

内容

リスクとは何か?
ソフトウェア開発上で、スケジュールの遅れや必要経費の増大など、ソフトウェア開発に負の影響を与えるものを「リスク」と考える。リスクは、まだ発生していない段階の「リスク項目」と、実際に発生したときの「リスク発生」との2つに分類される。


図1 プロジェクトの終わる確率
たいていのPMは、初期スケジュールをTあるいはTより少し右の時点で提出する。顧客は、「リスクが発生しない」ことを前提にスケジュールを立てる(N点)ので、差は大きい。顧客とPMとの協議の結果、最終期日はT点(最頻点)になることが多い。なぜならば、感覚的に一番終わる確率の高い地点に期日を置きたくなるからだ。
ここが落とし穴である。



図2 プロジェクト計画の妥協点


図3 最頻点と確定点
グラフのダウンロード(Excel)

指定した期日にプロジェクトが終わる度合を累積して、「期日まで」にプロジェクトが終了する確率を累積すると、このようなグラフになる。最頻点(T点)以前にプロジェクトが終わる確率は、30%に満たない。半々でプロジェクトが終わる地点、80%程度に確実にプロジェクトが終了する期日をみていくと、予想よりもずっと右へ(先のほうへ)ずれているのがわかる。
よく言われる、ITプロジェクトの3割しか成功しない(スケジュール通りに進まない)という真実がここにあわられている。

これは「納期遅延」とは異なる。プロジェクト開始時に計画立てられた「初期計画」に対する遅延を意味する。よって、顧客の都合によるプロジェクトの長期化(主に仕様変更が理由)も、リスク項目のひとつとなる。
受託開発の場合、開発が遅れたときには長期化した分だけ追加料金をいただく、というパターンが多いが、実際には初期スケジュールから遅延することによって、2つの損失が発生している。
この金額を計上しておかないと、実はどれだけ損をしているのか(スケジュール通りプロジェクトが終わったときとの差額)がわからない。このあたりは、「ザ・ゴール2」のスループット会計に詳しい。

たとえば、今年の4月の時点で1年間のプロジェクトを請け負ったとする。そして、来年の4月のプロジェクトを計画する。1年も先の話なんてわからないから来年のプロジェクトの計画(受注)はできない、とするか、1年先の受注を確実に取ることができるか、という分岐点になる。あなたが経営者だとしたら、これは大変な分岐点である(に違いない)。経営者でないとしても、来年の仕事があるのかないのかわからない状態よりも、来年も確実に仕事があるほう良いに決まっている。そのためには、手元にある今年の仕事が、1年間きっちりで終わる必要がある。それも、しゃにむに働いて修羅場を潜り抜けるという危うい綱渡りではなくて、確実に1年後に終わるというスケジューリングとリスク管理が必須になる。(あなたが修羅場が好きなのであれば別だが・・・私は一緒に仕事はしたくない)
1年も期間があれば、スタッフを増員して各リスク(主に顧客の仕様変更)に対処することも可能だろう。たいていの大型プロジェクトが潰れるパターンは、リスクの対処期間を含まないスケジューリングのまずさにある。リスク項目を列挙しても、リスクの対処方法(増員なり期間なり)を挙げておかなければ、リスクマネージメントをしているとは言わない。実際に発生するリスクへの対処は、プロジェクト・バッファ(「クリティカル・チェーン」を参照)でクリアする(と考えられる)。あと、40時間勤務バッファとか。

参考文献

トム・デマルコ著 「熊とワルツを」
トム・デマルコ著 「ゆとりの法則」

copyleft by masuda.t