プロジェクトマネジメントで最初に行うべきことは,プロジェクト計画の策定だ。品質,コスト,納期,さらには顧客満足度の観点から,プロジェクト全体の範囲やスケジュール,コスト,組織・要員を明確化する。この計画をどれだけしっかり練り上げるかが,プロジェクトの成否を左右する。

布川 薫/日本IBM

 前回はPM(プロジェクトマネジメント)の概要を述べた。今回からは,いよいよ日本IBMの方法を基に,情報システム開発プロジェクトに特化したPM技法の詳細な解説に入る。

 日本IBMにおけるPM実践体系では,PMで行うべきプロセスを「プロジェクトの計画」,「トラッキングとコントロール」,「リスク管理」,「契約管理」の4つに分類していることは前回に述べた。今回は,PMのプロセスで最初に実施する「プロジェクトの計画」について概要を解説するとともに,情報システム開発プロジェクトでは特に重要な作業である「開発工程の定義」について詳細に解説したい。

コミットメントを明確にする

 「プロジェクトの計画」プロセスでは,主に8つの作業を行う(図1)。「プロジェクト目標の明確化」,「開発対象と環境の最適化」,「開発方法論と工程の定義」,「見積もりとリスク査定」,「WBSとスケジューリング」,「文書化計画」,「組織計画と要員計画」そして「教育計画」である。

図1●プロジェクト計画の作成プロセス。主に8つの作業が必要になる。すべての作業の結果は,「プロジェクト計画書」にまとめられる
図1●プロジェクト計画の作成プロセス。主に8つの作業が必要になる。すべての作業の結果は,「プロジェクト計画書」にまとめられる
[画像のクリックで拡大表示]

 最初に行う「プロジェクト目標の明確化」では,契約内容や契約で約束したことを「コミットメント」として明らかにし,その上でプロジェクト・マネジャーが直接コントロールできない外部の制約事項(ディペンデンシ)を考慮しながら開発の範囲と開発内容を明確にして,プロジェクトの目標を定める。この作業では,プロジェクト・マネジャーがコミットメントやディペンデンシを確認・定義し,正確に文書化することがなによりも重要となる。

重要な技術的検討

 プロジェクト目標を明確化すると,次に「開発対象と環境の最適化」や「開発方法論と工程の定義」といった技術面の検討をしっかり行う。

 「開発対象と環境の最適化」は,システムの稼働環境や開発環境を決める作業だ。例えば,クライアント/サーバーや分散方式などのシステム形態,ハード/ソフト・プラットホーム,ソフトウエア部品,ネットワークなどを選択する。ここでは,可能な限りあらゆる角度から検討して,プロジェクトにとって最適な環境を選択するべきである。この作業は,現在の情報システム開発ではきわめて重要だ。プロジェクトの品質やコスト,納期のほか,システム稼働後の保守の容易さにも大きな影響を与えるからである。

 「開発方法論と工程の定義」では,利用する開発方法論や開発手法,適切な開発ツールを選定するとともに,そのプロジェクトに適した開発工程を定義する。開発工程の定義とは,開発フェーズ(局面)の構成とフェースごとの成果物/作業内容/開始基準/完了基準を明確に決める作業のこと。

 開発工程を定義するのと同時に,開発全体を通して「どのように品質を作り込んでいくか」を検討し,品質管理計画も作成しておく。これは,フェーズごとの完了基準と実際の成果物とのギャップを小さくするのが目的だ。品質管理計画では,各フェーズで実施する品質管理方法(自主検査,レビュー,テストなど)やその目的,実施のタイミングや手順も明確にしておく。

WBSでスケジュールを決める

 こうした技術的な検討を十分行ったら,次に「見積もりとリスク査定」の作業に移る。開発範囲やシステムの規模,取り扱うデータ項目の多さ,開発生産性などの前提条件に基づいて,開発工数と開発期間を見積もる。加えて,プロジェクトで発生しそうなリスクを識別・評価し,その結果に応じて危険負担費用(コンティンジェンシ)を算定する。これらを基に全体のコスト計画を作成する。識別したリスクに関しては,対応策もきちんと決めておく。

 ここまでの作業が終わると,いよいよ具体的な作業計画を立てる「WBSとスケジューリング」に移る。まず,プロジェクトに必要な作業をブレークダウンしてWBS(Work Breakdown Structure,キーワード解説参照)として記述し,WBSに基づいてプロジェクト全体の「マスター・スケジュール」を作成する。これには,成果物の納品時期や主なイベント,重要なレビュー,意思決定ポイントなどの主要な事項を記述しておく。

 ユーザー企業に納品する要件定義書や設計書,運用マニュアルなどの文書の作成および納品時期,作成者,文書の品質管理方法などを計画する「文書化計画」も,忘れてはならない重要な作業だ。

 以上の計画を前提に,適切な「組織計画と要員計画」を作成する。要員計画では,まずフェーズごとに必要なスキルの定義を行い,直近のフェーズについては具体的なアサイン(誰が担当するか)まで決める。必要に応じて,どの作業をどの協力企業に委託するのかという外部委託計画も立案しておく。

 最後に「必要となるスキルの種類」や「そのスキルが必要とされる時期」に応じて,プロジェクト・メンバーの「教育計画」を作成する。同時に,開発するシステムのエンドユーザー部門や運用部門に対する研修計画も大枠を練っておく。

 これら8つの作業の結果は,すべて「プロジェクト計画書」にまとめる(図1)。このプロジェクト計画書が,プロジェクトのあらゆる作業の規範となる。

 なお,ここで説明したのはあくまでも標準的なプロジェクト計画であり,プロジェクトによっては,ほとんど不要な作業もある。例えば,短期間かつ少人数のプロジェクトでは「要員計画」は簡単に済んでしまうかもしれない。しかし,システム開発プロジェクトの計画作成としてはいずれも基本的な作業なので,ぜひ覚えておいて欲しい。