今回から,プロジェクトの現場ですぐに役立つ,プロジェクトマネジメントの実践ノウハウを解説する応用編に入る。今回は,Webシステム開発で生じることが多い,PMと技術リーダーとの役割分担に起因する問題に焦点を当てる。

布川 薫/日本IBM
ゲスト執筆者:板倉 真由美/日本IBM

 前回まで理論編をお届けしてきたが,今回から応用編に入る。毎回,システム開発プロジェクトで活躍しているプロジェクト・マネジャーや現場の関係者をゲスト執筆者に招き,理論の学習だけでは得ることの難しいノウハウや勘どころを紹介していく。

 応用編の初回では,BtoC(企業対個人)やBtoB(企業間)のEC(電子商取引)サイトなどのWebシステム開発プロジェクトにおけるプロジェクト・マネジャーと技術リーダー(リーダー・クラスのITエンジニア)の役割分担に起因する問題を解説する。今回のゲスト執筆者である板倉真由美氏は現在,Web関連プロジェクトに参加するエンジニアが所属する組織の管理職として,多数のプロジェクトにかかわっている。(布川)

短納期開発に対応できない

 メインフレーム上で,大規模なシステムを数年かけて構築していたころは,プロジェクト・マネジャーが1つのプロジェクトに専任し,多数のエンジニアを抱えていた。要件定義フェーズにおいても,プロジェクト・マネジャーが先頭を切って,ユーザーと直接コミュニケーションを取りながら,要件定義作業におけるリーダーシップを発揮していた。

 本来はこうした体制が理想だが,開発期間が数週間~数カ月程度の短納期・小規模なWebシステム開発では,そうはいかない。むしろ,プロジェクト・マネジャーと技術リーダーが複数のプロジェクトを兼任し,若手エンジニアもしくは協力会社のエンジニアが設計・コーディングを担当する,というチーム編成が一般的になっている(図1)。こうした体制では専任のプロジェクト・マネジャーが受け持っていた役割の一部を,技術リーダーが分担するケースが多い。

図1●従来型とWeb開発プロジェクトのチーム編成の違い
図1●従来型とWeb開発プロジェクトのチーム編成の違い
Web開発では,技術リーダーやプロジェクト・マネジャーがいくつかのプロジェクトを兼任することが多い

 筆者はここ数年,多くのWebシステム開発プロジェクトに直接・間接にかかわってきた。その中で,プロジェクト・マネジャーや技術リーダーが新しい体制にまだ十分対応しきれないことから来る問題をいくつも見てきた(技術リーダーの役割をチーム・メンバーが分担するケースも同じである)。以下では,筆者の経験を基に,どうすればプロジェクト・マネジャーと技術リーダーが持てる実力を発揮し,スムーズに連携できるかについて,Webシステム開発プロジェクト一般に通用するノウハウを解説する。

役割分担があいまいに

 Webシステム開発では,EJBやXML,Webサービスなど,比較的新しい技術の適用をユーザー企業から求められることが少なくない。プロジェクト・マネジャーは,ユーザー企業の技術的な要請に応えるために,技術リーダーに頼らざるを得ない。また,プロジェクト・マネジャーが複数のプロジェクトの面倒を見ることが一般的であるため,複数のプロジェクトを兼任しているプロジェクト・マネジャーよりも,技術リーダーの方がユーザーと直接接する機会が多い。

 このように,Webシステム開発では技術リーダーの役割の範囲が,極めて広くなっている。こうした状況では,プロジェクト・マネジャーと技術リーダーの役割分担があいまいになりがちだ。実際,どこまでを技術リーダーの権限の範囲とするのかという両者の役割分担について,プロジェクト・マネジャーと技術リーダーの間で文書化はおろか,協議さえもしていないことが多い。極端な話,「お金のこと以外はすべて技術リーダーに任せている」という姿勢のプロジェクト・マネジャーもいる。

 こうした現象は以前もなかったわけではないが,大規模プロジェクトでは,リカバリーするだけの時間も要員の余裕もそれなりにあったため,プロジェクト期間中になんとか解決できていた。だが,小規模・短納期のWebシステム開発プロジェクトでは,役割分担があいまいなことに起因するプロジェクト内の見解の不一致や決断の遅れは,プロジェクトの失敗に直接つながってしまう。