前回、計画を立てることの重要性をご説明しました。(前回の記事はこちら)
何かを諦めるという意味ではないですが、優先順位を明確にしないと両立しない目標・課題を実現しようとしてしまいプロジェクトが失敗してしまいます。
今回は、プロジェクトの最初に設定すべき優先順位を3要素について、3つの知識エリアを交えて解説します。
・関係する3つの知識エリア
今回関係する知識エリアの定義とポイントは以下の通りです。
また、それぞれ関係する英単語の頭文字を取って(QCD)と呼ばれています。
(Q=Quality、C=Cost、D=Delivery)
プロジェクト品質マネジメント
「ステークホルダーの目標に合致するために、プロジェクトとプロダクトの品質要求事項の計画、マネジメント、およびコントロールに関する組織の品質方針を組み込むプロセスからなる」
成果物の品質を管理する知識エリアです。品質に問題ないことを保証することが主な役割であり、定性・定量の基準を設けることが一般的です。
品質管理の実践については、別記事でご説明しようと思いますが、テスト密度・バグ密度の計測と基準値設定、設計書やコードのチェックリスト、トレーサビリティマトリクス等が用いられます。
プロジェクト・コスト・マネジメント
「プロジェクトを承認済みの予算内で完了するための、計画、見積り、予算化、資金調達、財源確保、マネジメント、およびコントロールのプロセスからなる」
予算の計画と調達、実績管理、総コストの集計などが主な範囲です。EVM(Earned Value Management)で総コストの見通しに対する実コストと成果物の現コストを管理するのが一般的です。
プロジェクト・スケジュール・マネジメント
「プロジェクトを所定の時期に完了するようにマネジメントする上で必要なプロセスからなる」
作業順序の設定や所要期間の見積もり、進捗確認タイミング(締め日)の設定等を実施し、スケジュールのベースラインを設定します。このベースラインに対して、各作業の進み具合を確認し問題があれば対策をすることになります。進捗遅れは特に気になるところですが、どのような理由で発生しているか、取り戻せるか範囲か、など冷静な判断が求められます。
・「優先順位」設定の基本的な考え方
一般的にこのQCDの中でどれを優先するかを計画段階で検討します。例えば、Webサイトを再構築するプロジェクトで優先順位を設定するとした場合、以下のイメージのように優先順位が設定されます。
①時間と費用はかかるが、多機能でおしゃれなサイトにしたい!
②サイトはシンプルでよく、期限も差し迫っていないので、費用を下げたい!
③サイトはシンプルでよく、費用の上限はないので、早くリリースしたい!
・「優先順位」は何を表現しているか
優先順位の設定に正解はありません。では、優先順位は何を表現しているのでしょうか。これは「プロジェクトで管理すべき最も重要な項目は何か」ということです。例えば、品質本位で何かを作りたいのであれば、時間と費用が計画通りに進まなくても、受け入れる必要があります。コストを抑えたい場合は多少の不備には目をつぶる必要があるでしょうし、リリース時期を優先する場合は多少のコスト増を受け入れる余地も必要でしょう。
ここで、全部良いとこどりするとかバランス良くQCDの優先度合いを設定するという考えも出てくると思いますが、「見栄え」を意識したQCDの設定は結果的に望ましい成果を得ることは難しいです。
なぜなら、目標として前者は実現不可能、後者は中途半端であるからです。いいものを安く早くというのは特に開発に携わっている皆さんには無理筋であることを理解いただけと思いますが、無理な目標を設定することは何も目標を定めていないのと同じ事です。また、バランスを求めてしまうと調整にかかる工数が膨大になります。本来は作り上げるものにかける工数を最大にしたいところです。
あくまでも「何を大切にするか」ということを明確に定め、プロジェクト内外に説明できる状態にすることがPMの役割です。
・今回のまとめ
優先順位を定めることの効果は以下の通りです。
>成果物に求める最も重要な要素を明確化できる
>重点的に管理すべき要素を明確化できる
>プロジェクトが「何を大切にするか」を説明できる状態になる
特に3点目が定まることでプロジェクトメンバーの向いている方向を統一することができます。各自の意識が揃うことで、より円滑なプロジェクト推進が実現できます。
・次回のテーマ
今回はプロジェクトにおける優先順位設定の重要性をご説明しました。では、実際にプロジェクト中に何を、どこまで作り上げるのか、ということを設定する必要があります。これをプロジェクトの「スコープ」と呼びます。次回はこの「スコープ」をご説明しようと思います。