えっ?それってプロマネの仕事ですか??
リモートワークを始めてから通勤のストレスは減りましたが、コミュニケーションのストレスが増えました。皆さんはいかがでしょうか?
最近はプロジェクトマネジメントの能力を高めるために日々学習に励んでいますが、過去の実体験と照らし合わせているうちにとあることに気づきました。
今回はそちらをシェアしたいと思います。
プロジェクトマネージャーの役割と必要な知識
PMBOKではプロジェクトマネージャーはプロジェクト目標を達成することに責任を持つチームを導くために任命された人物であり、プロジェクトマネジメントに必要な知識として以下のものがあるとしています。
- プロジェクト統合管理
- スコープ管理
- スケジュール管理
- コスト管理
- 品質管理
- リソース管理
- コミュニケーション管理
- リスク管理
- 調達管理
- ステークホルダー管理
中小企業や新規事業のプロジェクトの特徴
私はベンチャー企業やスタートアップ企業、その他いくつかの小規模なプロジェクトにてリーダーやマネージャーとして仕事をしてきましたが、いずれのプロジェクトでも共通して言えることがいくつかあります。その中でも特に「人数が少ないため複数の役割を任される」という点が目立ちます。フルスタックエンジニアやプレイングマネージャーなどがその最たる例でしょう。
プロジェクトの性質や予算の都合により、十分な人員をそのプロジェクトには割けないということだと考えられます。
もうすでに心当たりがあるかもしれませんが、要するにプロジェクトが小さく、メンバーが少ないほど多様なスキルを要求されるということです。
要件定義は誰の仕事?
ところで、要件定義は誰の仕事でしょうか?
要件定義と聞くと、上流工程の業務なのでプロジェクトマネージャーが行うものだという認識があるのではないでしょうか?
しかし、それは本来はプロジェクトマネージャーの役割ではありません。
PMBOKではスコープ管理の項目にて以下のように述べられています。
ステークホルダーの要求事項を引き出し、文書化し、マネジメントすることは、プロジェクト・スコープ・マネジメントのプロセス内で行われる。プロジェクト・スコープ・マネジメントの傾向と新たな実務慣行は、ビジネスアナリシス専門家との次のような協業に焦点が当てられるが、これらに限定されるものではない。
(中略)
ビジネスアナリシスを実行する責任を負う役割は、十分なビジネスアナリシスのスキルと専門知識のある人的資源に割り当てられる必要がある。
プロジェクトマネジメント知識体系ガイド PMBOKガイド 第六版
実は日本ではあまり耳にすることがありませんが、海外ではビジネスアナリストと呼ばれる人たちがいます。
肩書は組織により異なりますが、少なくともその人たちはステークホルダーのニーズを引き出し、分析し、文書化し、妥当性を確認するといった作業を行います。まさに要件定義です。
つまり、本来は要件定義を行うのはプロジェクトマネージャーではありません。プロジェクトマネージャーの役割はあくまでもプロジェクトの管理に過ぎないのです。
ただ先に述べた通り、中小企業や新規事業のプロジェクトでは人数が少ないためプロジェクトマネージャーがビジネスアナリストの役割を暗黙的に兼任していることが多いです。もしかしたら大企業には専属のビジネスアナリストがいるのかもしれませんが、私が経験した企業ではいずれもプロジェクトマネージャーが兼任しておりました。
なお、「ソフトウェア要求 第三版」にも他のメンバー(プロダクトオーナーやマーケティング担当者など)がビジネスアナリストの役割も担っていることもあると書かれてます。
そして要件定義を行うにはプロジェクトマネジメントと異なるスキルや知識が必要であり、ビジネスアナリストとして活躍するにはそれ相応の訓練を積む必要があります。
プロジェクトマネージャーのためのPMBOKがあるように、ビジネスアナリストのためのBABOK(Business Analysis Body Of Knowledge)があるくらいです。
たとえPMIの資格保有者であっても、要件定義の能力までは保証されていないのです。
自分に求められている役割を把握する
各人がそれぞれ任されている役割を果たすことがプロジェクトの成功には必要不可欠です。人数が少ないプロジェクトならなおさらです。
今一度自分が関わっているプロジェクトを見返してみましょう。
プロジェクトに必要な役割とその役割を担っているメンバーを結び付けてください。 私がすぐに思いつくソフトウェア開発に携わる人の役割を以下にまとめました。
- プロダクトオーナー
- マネージャー
- ビジネスアナリスト
- チームリーダー
- アーキテクト
- データベースエンジニア
- フロントエンドエンジニア
- サーバーサイドエンジニア
- インフラエンジニア
- デザイナー
- テスター
役割が分担できていなければすぐに割り振る必要があります。
割り振れるメンバーがいない場合はすぐにオーナーに報告しましょう。
増員やメンバー交代など何かしら対応してくれるかもしれません。
もし既存メンバーで対処しなければならない場合は急いで能力開発を行いましょう。付け焼き刃だとしても何もないよりかはだいぶマシな結果になるでしょう。
PS
日本ではシステムエンジニアと呼ばれる人が要件定義から設計までを行うと言われていますが、現代におけるシステムエンジニアは役割が多様で意味合いも非常にあいまいなものになってきています。役割の明確さを示すため本記事では使わないようにしています。