プロジェクト管理のアンチパターン
Death by Planning(デス・バイ・プランニング)
ソフトウエア開発のプロジェクトにおいて、きちんとした計画に基づいて作業を行うことが大切であることは言うまでもありません。しかしながら、最初にあまりにも詳細な計画を作成して、文字通りの計画倒れになったプロジェクトが皆さんの周囲でも存在していないでしょうか?
このように、計画を詳細化することにこだわりすぎた結果、失敗に陥ることを“デス・バイ・プランニング”と呼びます。
次に示すような症状があれば、デス・バイ・プランニングアンチパターンにかかっている可能性があります。
・計画に実現性があるとは誰も思っていない
・納期よりもコストを気にする
・プロジェクトの予算を握っている人が、プロジェクト計画の細部に口出しをする
プロジェクトの初期段階においてデス・バイ・プランニングが発生すると、プロジェクトが進行するにつれ、計画と実績とは乖離(かいり)し、実際に納品日まで間に合うのか誰も確信できない状態になります。
最終的には、納期の延期や予算の追加、さらに悪いことにはプロジェクトの中止や重要な人材が去るなどといった憂慮すべき結果が生じることも往々にしてありうるのです。
デス・バイ・プランニングを回避するためには、プロジェクトの最初に、裏付けのない詳細計画を立てるのではなく、何をいつまでにリリースするのかを明確にした基本計画を作成することが大事です。
こうした無理のない、基本計画があれば、計画の詳細化は必要な段階で実施すればいいのです。
プロジェクトマネジメントの知識体系として有名なPMBOKには、「段階的詳細化(Progressive Elaboraton)」という概念があります。これは、最初は大まかに見積もっておいて、詳細部分が明確になった時点で計画を詳細化するものです。
あくまでも実現可能性や裏付けのある計画があってこそ、着実にプロジェクトを実施できるのです。
Project Mismanagement(プロジェクト・ミスマネジメント)
プロジェクトの計画がきちんとしていても、プロジェクトを実施する段階において、さまざまな問題が発生します。
例えば皆さんのプロジェクトでも、アーキテクチャが確立されず、技術的な課題を先送りにしてしまい、性能や信頼性での問題に悩むようなことはないでしょうか。また、ソフトウエアテストの実施基準があいまいだったり、ソフトウエアの品質管理自体が不十分だったりするため、品質確保に苦しむことも少なくはないでしょう。
このように、開発工程における不適切な管理によってプロジェクトが失敗に陥ることを“プロジェクト・ミスマネジメント”と呼びます。
次に示すような症状があれば、プロジェクト・ミスマネジメントアンチパターンにかかっている可能性があります。
・アーキテクチャが確立されていないため、テストの段階で技術的な問題が数多く発生する
・プログラムコードのレビューがたまにしか行われない
・プロジェクトの終盤になっても、ソフトウエアの品質が向上しない
プロジェクト・ミスマネジメントに関する問題を解決するためには、アーキテクト、開発者等がきちんとした仕事をこなすように、プロジェクトマネージャはソフトウエア開発管理を確立する必要があります。
例えば、アーキテクトは、アーキテクチャの要件(機能、性能、信頼性、操作性、セキュリティーなど)を明確化し、設計・コーディング・テストを通してアーキテクチャの検証・確立をきちんと行わなければなりません。
また、ソフトウェアの開発者がソフトウエアの品質を確保するためには、設計・コーディング・テストにおいて、適切な品質管理を行う必要があります。
このように、プロジェクトメンバーが技術や品質についてきちんとした役割を果たすように、プロジェクトマネージャは尽力すべきであり、関係者がこうした課題に対して共通の理解をもち、適切な対応をしないと、失敗プロジェクトは減らないのです。