開発方法論とPMBOKの位置づけ | プロジェクトマネジメントの現場

開発方法論とPMBOKの位置づけ

ウォーターフォールやRUP、XPは「開発方法論」と呼ばれるものです。開発方法論にはプロジェクトマネジメントに関するプラクティスも含まれています。

私はPMBOKを学び出してから、開発方法論におけるマネジメントプラクティスとPMBOKとの整合をどう図るべきか結構悩んでいました。

別に整合を図る必然性はないのですが、双方のプラクティスの「いいとこ取り」をしたかったのです。


整合を図る上で、開発方法論におけるマネジメントプラクティス(ここでは「開発マネジメント」と呼びます)とプロジェクトマネジメントをどのように位置づけるべきか考えてみました。


PMBOKはソフトウェアに限らず、「プロジェクト」と呼ばれるものに対して汎用的に適用できるガイドラインです。一方で開発マネジメントはソフトウェア開発にフォーカスしたマネジメントプラクティスを提供しています。


RUPは近年XPを始めとするアジャイル開発方法論に圧倒されめっきり名前を聞かなくなりましたが、アジャイルと比較して「マネジメント」を重視した開発方法論としてここで例にあげたいと思います。

RUPはイテレーティブな開発プロセスとなりますが、全体を見極めないうちに作業が進んでいってしまいプロジェクトの方向性を誤るリスクや、最終成果物をきちんとスケジュールに合わせて製造できるようにプロジェクトを管理することの困難さを回避するため、「フェーズ」という考え方を用いてマネジメントする手法を取っています。

RUPではBusiness ModelingからDeploymentという開発プロセスを以下の4つのフェーズそれぞれで開発プロセスを進めるという形を取っています。


・Inception

・Elaboration

・Construction

・Transition


Inceptionの段階で開発プロセスの組み立ての戦略を作り、その戦略にもとづいてイテレーションが計画されます。その意味でXPよりも計画性の強い開発方法論と言えます。

更にプロセスの中に「Configuration&Change Management」を含めることで、変更に対する計画の見直しを行う手段を提供しています。


問題なのは、この変更計画の見直しの結果、最初のプロジェクト目標に対して策定された計画の中で収めるようなコントロールの手段が準備されているわけではないということです。

更にイテレーション計画によって慎重に開発期間の設定を行ったものの、メンバーがダウンして納期が遅れる、あるいは顧客の都合によってプロジェクト全体のコストが削減されるといった「トラブル」に対処する手段を準備しているわけでもありません。


上記にあげた問題はRUPという開発方法論自体の問題ではなく、問題が開発方法論の領域を越えた所にあるということです。越えた領域とは何かというと、プロジェクトマネジメントの領域であるということです。


本来プロジェクトは「マネジメントプロセス」と「プロダクトプロセス」から構成され、互いに影響を与えあいながら進んで行きます。これはCMMIにおける「マネジメントプロセス」と「エンジニアリングプロセス」に該当します。


つまり「プロジェクトマネジメント」という枠の中で言えば、開発方法論は「プロダクトプロセス」に該当するものであるということです。ソフトウェアというプロダクトの品質を高める方法論として開発方法論は位置づけられるものであり、プロジェクトマネジメントは「プロダクトプロセス」をマネジメントするという位置づけにあるのです。


RUPやXPと言った開発方法論の位置づけが複雑なのは、プロダクトプロセスに「イテレーション」の概念を組み込んだことにより、リスクマネジメント、品質マネジメントに対する手法を与えており、更に「プラクティス」という形でコミュニケーションマネジメントに対しても手法を与えているためです。


但し、RUPやXPにおける「イテレーション」という開発プロセスによって与えられるリスクマネジメントは仕様確定の前倒しだけであって、それ以外の回避策は持っていません。

プロジェクトマネジメントの観点から見た場合、前倒し以外のコンテンジェンシープランも考慮することがリスクマネジメントであり、開発方法論だけではフォローしきれない部分でもあるわけです。


ここでPMBOKとの位置づけという観点で整理すると、PMBOKではプロジェクト汎用の知識に、マネジメントの対象となるプロダクト(建築物やソフトウェア)固有のマネジメント知識を加えてマネジメントを行うことになっています。

RUPやXPで与えているのはまさにソフトウェア開発というプロダクト固有のマネジメント知識であるということです。


ここでRUP、XPで与えるマネジメント知識とPMBOKのマッピングをしてみます。


■ RUPが与えるマネジメント知識

統合、スコープ、品質、組織、コミュニケーション、リスク


■ XPが与えるマネジメント知識

スコープ、品質、組織、コミュニケーション、リスク


開発方法論がプロジェクトマネジメントにおける位置づけを把握し、問題の領域に補完すべき部分があることを認識した上でPMBOKの知識を活用すれば、より効果的にプロジェクトを進めることができると思います。