CMMとリスク管理

 

 CMMのレベル1から2への取り組みの中の「プロジェクトの計画」と「プロジェクトの追跡と監視」の中に、「リスク管理」に言及している箇所があります。つまり、「計画」のところでは、「要求」に基づいて成果物のサイズが見積もられ、続いて作業が見積もられていく過程で、見積もりが確実性の高い場合と、確実性の低い場合が明らかになってきます。つまり「リスク」項目がが見えてくるわけです。

 この場合、「リスク」というよりも、「新規性」という言葉で認識したほうが分かり安いかもしれません。「リスク」という言葉は、この他に、プロジェクトそのものに対して使われたり、マネージメントに対して使われる場面がありますので、ここでのように、「要求」に対しては、それを実現する事に対する「新規性」と捉えたほうが分かり易いでしょう。

 「新規性リスト」は、小さなプロジェクトでも、20前後はあるものです。ちょっとしたプロジェクトなら50〜100個ぐらいあるかも知れません。「新規性」は、担当者との組み合わせによってもでてきますので、意外とあるはずです。

 その言語は初めてであるとか、そのOS上で走らせるのは初めてとか、分散系でシステムを組み上げるのは初めてというように、“初めて”という言葉が出てくるときは、その作業を正確に見積もることは出来ません。もちろん、“初めて”といっても、程度があります。全く初めてなのか、違う言語ではやったことがあるのか、半年前に良く似たプログラムを書いたことがあるというレベルなのか、それぞれの“初めて”のレベルによって、見積もりの不確かさは異なってきます。

 この“初めて”のレベルを、たとえば「5段階」に分けます。そして「初めて度5」は、殆ど見積もれない状態で、「初めて度1」は、あまり問題にはならない程度の“初めて”と言うことになります。こうして、「新規性」リストが出来上がりますが、このときまだ「計画」は出来上がっていません。この「新規性」リストに対してどのように対処するかを考えなければ、計画は立たないからです。

 新規性1と2については、若干の危険はあるものの、殆どサイズ見積もりは可能なはずです。これに対して新規性3以上の項目については、そのレベルに応じて、事前に新規性を下げる方策を講じなければなりません。「事前に」という意味は、実際にそのその作業に入る前に、と言う意味です。つまり、事前に“トライアル”を計画しなければならないということです。当然、新規性が高い項目ほど、トライアルと本番との日程を引き離さなくてはなりません。トライアルそのものが目論見どおりに運ばない可能性があるからです。

 こうして、それぞれの新規性リストに上げられた項目に対する対応処置が決まったところで、漸く「計画」が出来上がるわけです。当然、その計画には、新規性に高い作業の「本番」の部分は、曖昧性が高いままになっているはずで、これは、トライアルの結果を見て、再編成することになります。

 残念ながら、殆どの開発組織で、この新規性リストが作成されているのを見たことがありません。したがって、当然の帰結として、そこで立てられた「計画」は、「約束どおり」には実現しないことになるわけです。

 私が提唱する「詳細スケジューリング」は、この新規性の対応を含んでいます。だからこそ6ヶ月の計画を1日も遅らせないで実現するのです。一般的に、スケジュールの面で「成功」といえるのは、遅れの誤差が「5%」以内です。新規性の高い項目が含まれているときは、トライアルの計画の実行に最新の注意が必要です。他の項目と違って、取り組みの計画に対して非常に細かく進捗の状況をチェックすることになります。それでも、新規度4とか5は、なかなか思い通りに行かないものです。

 しかしながら、目的は最初からはっきりしているのと、本番との間に日程を確保してあるので、トライアルの進捗が少しぐらい狂っても、何とか立て直すことが可能になります。またそうでなければ、CMMの「プロジェクトの追跡と監視」の中で、「リスク」を追跡する意味がなくなります。ただ追跡すればいいのではなく、本来意図する方向とのズレを素早く察知して、軌道修正することがこの取り組みの目的です。最初から新規性が高いことは分かっているのですから、それなりの対応をしなければなりません。

 殆どの開発組織で「新規性リスト」が作られていない理由は、それが検出されるような「計画」を立てようとしていないことです。最初から大雑把な計画しか立てていない状況では、「新規性」はその大雑把の中に隠れてしまって、どこにあるのか分からなくなるのです。それでも、実際に作業を進めていけば、その時点でいやがうえにも「新規性」にぶつかることになります。ただし、このときが「本番」だということです。これでは「約束」など出来るはずがありません。

 その結果、全てが後手に回り、作業量が2倍にも3倍にも膨れ上がってしまうのです。いわゆる苦労の空回りです。

このような「新規性リスト」を作ることになれてくると、実は、プロジェクトのリスクやマネージメント・リスクなどにも、自然に意識が向くようになるという効果も得られます。若いときから、詳細な「計画」を立て、その過程で「新規性」を正確に捉え、それを計画に反映し、確実に危険を和らげて、成功に向かわせる訓練ができていれば、マネージャーになったとき、迷わずリスク管理が出来ることでしょう。





「Software Process」のメニュー に戻る