この連載では,ITエンジニアにとって必須のスキルと言ってよいPMの基礎知識と情報システム開発への適用方法を,事例を織り交ぜながら解説していく。

布川 薫/日本IBM

 「いかに予算や納期を守り,バグの少ない高品質のシステムを構築するか。それこそがプロジェクト管理の要諦だ」。日本の多くのITベンダーやソフト開発組織は,今なおこうした“旧態依然”の考え方から抜け出せていない。プロジェクトを進める上で重視されるのは,スケジュール管理や予算管理をはじめとする「コントロール(=統制)」であり,これらは経験と勘によって培われる。読者の中にも,こうした考え方の人が少なからずいると思う。

 しかし,今やこうした古い考え方では,情報システム開発プロジェクトを円滑に進めることが難しくなった。その大きな理由は,過去のプロジェクト経験が全く無効になってしまうほど,情報システムに対するニーズや情報技術の変化が激しいことだ。プロジェクト・マネジャー個人の経験と力量に頼ったプロジェクト運営では,リスクが非常に大きい。実際,過去の経験を新しいにそのまま持ち込み,プロジェクトに大きな害を与えたというケースが,よく見受けられる。

 このため,「しっかりした体系的知識や方法論に基づいて,プロジェクトの立ち上げから終結までを,統合的にマネジメントする」という考え方をベースにした,新しいマネジメント技法が脚光を浴び始めている。

 図1に,この新しい「プロジェクトマネジメント(PM)」の概念を,システム開発プロジェクトとの関連で示した。

図1●システム開発におけるプロジェクトマネジメント(PM)の概念
図1●システム開発におけるプロジェクトマネジメント(PM)の概念
プロジェクトの全フェーズを通じて,PMの全対象エリア(知識エリア)にかかわる「計画」,「遂行」,「コントロール」のプロセスを繰り返し実施する。知識エリアとPMプロセスの分類は,PMBOKガイドに従った
[画像のクリックで拡大表示]

 この連載では,情報システム開発プロジェクトにおけるPMの基礎知識と実践方法を,日本IBMの手法を例に解説していく。第1回は,PMの概要とPMに必要なスキルを解説するとともに,日本IBMにおけるPM実践体系を紹介する。

実質的標準のPMBOK

 「プロジェクト」とは,「特定の目的を遂行するために,定められた期間や資源で実施する仕事」のことである。企業で日々行われているルーチンワークの業務とは異なり,「特別の準備と努力」が必要な挑戦的な仕事だ。目標を達成するためにプロジェクトを「計画」「遂行」し,チームの持つ力を最大限に引き出すべく「コントロール」する。この技術がすなわちPMである。

 プロジェクトが失敗した場合の影響はきわめて大きい。特に大規模なプロジェクトとなると,プロジェクトに関係する人や会社は経済的・社会的に大きな損失を被る。このため,「プロジェクトを成功に導くPMの体系的知識」が,長年にわたって世界中で議論・研究されてきた。

 この中でもっとも有名なものが,米PMIが作成したPMBOKだ。PMBOKは,「PMの体系的知識」として国際的なデファクト・スタンダードとなっている。ISO(国際標準化機構)が策定した「プロジェクトマネジメントにおける品質の指針」(ISO10006)のベースにもなっている。

 PMBOKの重要な点は,個人の経験や考えではなく,欧米における多くのプロジェクトの経験やノウハウを体系的な知識としてまとめていることだ。“すぐに役立つ実践的な知恵”ではないと切り捨てる人もいるが,それは間違っている。実践的な知恵はPMBOKを理解した上で,個々人や企業が獲得すべきものだからだ。

PMBOKの知識が基本

 ベテランの属人的な経験に頼った「プロジェクト管理」では,これからの情報システム開発プロジェクトには通用しない,と先に述べた。では,情報システム開発でPMを実践するには,どのようなスキルが求められるのだろうか。

 PMに必要なスキルは,研修や書籍などで学習できる「知識」と,経験やOJT(On the Job Training)などで身に付けるスキルに大別される(図2)。前者は,プロジェクトを規律に従って確実に進めるための基本スキルだ。一方,後者はプロジェクトの進行過程で生じる様々な障害を克服し,プロジェクトを力強く成功に導くために必要なスキルである。

図2●プロジェクトマネジメントに必要なスキル
図2●プロジェクトマネジメントに必要なスキル [画像のクリックで拡大表示]

 知識として,まず知っておくべきなのは,先述のPMBOKだ。PMBOKは,PMを9つの領域に分類し(図1の左側の部分),それぞれの領域ごとに行うべき作業を定義している。各領域については,今後詳述したい。

 PMBOK以外にも,集中処理型,クライアント/サーバー型,Webなどのシステム形態に応じた的確な製品・技術の知識や,ユーザー企業の業種・業種知識がもちろん必要となる。「製品や技術,業種・業務に詳しい専門スタッフがいるので,自分は関係ない」という意見があるかもしれないが,情報システム開発プロジェクトの場合,プロジェクト・マネジャーやリーダーそしてチーム・メンバーが技術知識や業種・業務知識をどれだけ広く,深く持っているかによって,その成否が大きく左右されるのが現実だ。

 「ISO9000シリーズ」(品質管理,品質保証のための国際規格),「CMMI」(能力成熟度モデル―統合),「ISO10006」(プロジェクトマネジメントにおける品質の指針),「SLCP-JCF98」(システム開発取引の共通フレーム)などのPMに関連した標準規格についての知識も持っておきたい。さらに,労働基本法や派遣法,著作権法などの法律知識,自社の標準ルール(契約や購買,検査や検収,プロジェクト報告,機密情報の取扱いなど),開発方法論に関する知識も要求される。これらは,必ずしもメンバー全員が知っている必要はないが,少なくともプロジェクト・マネジャーやリーダー,そしてそうした役割を目指すITエンジニアには必須と言ってよい。