アジャイル開発を元に考えるプロジェクトマネージャのあり方5
新しいプロジェクトマネージメント手法である、能動的なプロジェクトマネージメントは難しい概念であり、直ぐには分からないと思います。理解するには従来の受動的なプロジェクトマネージメント技法とプロジェクトマネージメントの本質を知らねばなりません。先ずは、プロジェクトマネージメントの存在意義から解説します。
古い時代のシステム開発は、少数精鋭で行う職人の仕事でした。しかし、システム規模の拡大とシステムの複雑化に伴い、少数精鋭では目的を達成できなくなり開発関係者の人数が増加しました。しかしながら人数が増加すると、コミュニケーションコストの増加により新しい問題が生じました。この問題については、プロセスマネージメントの領域ですので、プロセスマネージメントの理論を参照しつつ解説を進めます。
プロセスマネージメントの理論によると、コミュニケーションの接点はn * ( n - 1 )が必要になると言われています(nはインタフェースの数)例えば、n = 10 (10人がバラバラに活動)だと、10 * ( 10 - 1 ) = 900 ものコミュニケーションの接点が生じます。コミュニケーションの接点が多くなればなるほどコストが増加します。そして、コミュニケーションコストの増加に比例し個人の負担が増加します。そうなれば個人の生産力は下がり、開発グループ全体の生産性も下がります。生産性が下がるならばそもそも開発グループを組む意味がありませんが、少人数では目的が達成出来ません。従って、開発人数は増やし、コミュニケーションの接点は減らす必要があります。それを解決するのがプロジェクトマネージャであり、そこにプロジェクトマネージャの存在意義があります。
この問題の原因は、インタフェースの数が多すぎる点にあります。ですから、プロジェクトマネージャが、共通インタフェースの役割を果たせば問題は解決します。プロジェクトマネージャが人を束ね、共通インタフェースの役割を果たすと、プロジェクトマネージャと開発者の関係に収束出来るので2nの接点しか要らなくなります。先ほどの例を挙げますと、2 * 10 = 20となります。この結果を見れば、プロジェクトマネージャの存在価値が分かると思います。
これで話しが終わればよいのですが、残念ながら現実は計算式どおりになりません。プロセスマネージメントの効果があるのは、プロジェクトマネージャが正しく情報の流れをコントロールした場合だけです。それが出来ない場合、誤情報により開発グループは悲惨な状態に追い込まれます。この状態があの悪名高きデスマーチです。続く...