■PMBOK ドリルダウン!_No.21
PM定量化の実践技術(5)
2005.03.23
前回は、ファンクションポイントを、PMの活動でどう活用するのか、品質メトリックスの活用について筆者の実践経験を基に話しをしました。
最近、究極の進捗管理としてEVM(アーンドバリューマネジメント)が良く取り上げられます。この議論は、別途行なうこととして、今回は、ファンクションポイントを、進捗管理でどう活用するかについて実践経験をお話します。
では教室の戸を開けましょう。
【スケジュールの遅れはどうして起きるのか?】
まず、こんな素朴な問題(スケジュールの遅れはどうして起きるのか?)について考えてみましょう。
プロジェクトの症状としては、マイルストーンや成果物の完成時期が、計画または約束の日時から著しく遅れることを言います。
その重症度合いは、計画からの乖離が、50%以上(最悪)、25%以上(悪い)、10%以上(やや悪い)、10%未満(そこそこ)と言った状況ではないでしょうか。
プロジェクトが進むにつれてこの問題に悩まされることになり、かつ乖離が発生すると重態になりがちです。要件定義段階での乖離はまれですが、設計、コーディング、文書作成と工程を経るに従い、そしてとくにシステム統合、テスト、欠陥除去に至って乖離幅は大きくなる傾向があります。
何故、この問題に悩まされるのでしょうか?主な原因は、4つ考えられます。
- 作成時点ですでに達成不可能なスケジュールであった。
- スケジュールを作成後、マイルストーンで達成すべき作業範囲や成果物が増大した。
- スケジューリング、見積作成、計画作成の方法論が不適切であった。
- 当該企業が、過去のプロジェクトの有用なデータを収集していなかった。
それでは、これらの原因に対する予防法は、あるのでしょうか?
この問題に悩まされる場合でも、その損害を最小にするための対策は、以下のとおりありそうです。
- プロジェクトの見積り時に、見積り過去実績、市販されている見積りツール・DBを活用する
- プロジェクトの計画時に、市販されている計画作成ツール(MS−PROJECT等)を使用する
- 要求仕様が増大する場合には、その増加量を機能的尺度(ファンクションポイント)によって定量的に把握する
- 詳細な作業まで含めた、ソフトウェア開発のデータ測定を企業文化として定着させる
今回の説明で、筆者が提案したいのは、3の要求仕様の増大をその増加量を機能的尺度(ファンクションポイント(FP))によって定量的に捉え、そのFPを進捗管理で活用する方法です。
【FPを活用した進捗管理の考え方】
プロジェクトで管理する進捗管理表は、次の2種類を作成します。
- 毎週管理:工程別(詳細設計・PG設計・PGM・システムテスト)進捗管理表
- 毎月管理:総合進捗管理表
サブシステム毎に、システム全体に占める“重み付け”を求め、更に重み付けを工程別に按分し、サブシステム毎の週単位の工程別進捗*按分値を積み上げて、工程別進捗管理表を作成します。
また、上記工程別進捗管理表の値を積み上げ、月末時システム全体の進捗管理を行なうため、総合進捗管理表を作成します。
サブシステム毎の“重み付け”の計算式は以下のとおりです。
重み付け=開発規模(FP)/全体の開発規模(FP)*100+追加(調整)ウェイト
注:追加(調整)ウェイトは、単純に開発規模で作業量を按分することが出来ないため(難易度により作業量が異なるため)、サブシステム間で作業量を調整する値です。 工程別按分値(基本設計〜システムテスト)までの全作業量に占める各工程の割合は、以下の通りとしました。
詳細設計按分値 =重み付け*18%
PG設計按分値 =重み付け*20%
PGM按分値 =重み付け*41%
システムテスト按分値 =重み付け*21%
また、総合進捗管理表は、下図のイメージです。
実際にこの仕組みを活用したコメントを列挙します。
詳細設計の段階では、IFPUG法が活用でき、計測に必要な情報も揃っていましたし、FP計測の専門化の支援が得られたので、規模の計測には、ある程度正確な情報が得ることができました。
但し、成果物進捗の出来高をプロジェクト参加者の間で周知することが予想以上に難しく、計上方法の統一・見直しの作業に追われることになりました。
結果としては、プロジェクトを可視化する目的は、ある程度実現できましたが、計上方法の統一があやしく、信憑性が乏しいものとなりました。
出来高の計上方法には、固定比率計上法と加重比率計上法があります。
ルールがあいまいだと、進捗報告の内容にバラツキが生じます。
また、それぞれ計上方法の特徴を下図で示します。
本日はここまでにします。お疲れ様でした
リスクマネジメント (21)
前回はリスクマトリクスの活用方法について説明しました。
本日は、少し話がそれますが、「ミス」と「リスク」の違いについて説明してみたいと思います。
このテーマは、あるリスクマネジメントの研究会で議論となり、なかなか面白い内容なので取り上げてみました。
【ミスとリスクを区別せよ】
ミスとリスクは区別する必要があります。
ミスは、失敗の確率=100%となります。
但し、リスクは、失敗の確率<100%であります。つまり、リスクは軽減することが出来る点で、ミスと異なります。それから、ミスは、リスクではないのです。それでは、典型的なミスにはどのようなものがあるのでしょうか?
- 人に関連するもの
- プロセスに関連するもの
- プロジェクト・マネジメントに関連するもの
- その他
これらは、リスクではないのです。もしこれらのうちの1つでも発生したらプロジェクトは失敗することになります。
それでは、その中身について若干説明しましょう。
- 人に関連するミスの事例
−弱い要員
「新人に教育・OJTもつけず、ほっとらかしにした場合」は、ミスとなります。
「新人に教育をしてプロジェクトに投入する場合」は、リスクを取ることになります。
- プロセスに関連するミスの事例
−不十分な計画
「あきらかにやるべきことをやっていない場合」は、ミスとなります。
つまり、向こう見ずで走るプロジェクトは、明らかにミスを冒している訳で、この場合、関係者が、リスクがある、リスクがあると大騒ぎすること自体大変おかしな話という訳です。本日はここまでにします。お疲れ様でした。
本日はここまでにします。お疲れ様でした。
参考資料一覧:
- Nikkei IT Professional 2004.12
- EVM活用型プロジェクト・マネジメント導入ガイドライン(情報処理振興事業会)
- ソフトウェア病理学、Capers Jones