ある現場でプロマネをさせていただいた機会があり、プロジェクト管理について思ったことを書いておきます。
(1) 対話は投資 - もっとも効果的で有効な情報伝達方法は会話
今回の失敗の大きな部分はコミュニケーション上の失敗によるものと思われました。
その現場でのプロマネの前任者は OSS な BTS で、客との課題管理から不具合改修や要望の管理に利用していました。改善のために必要な質問も BTS 上で書かれるため、即時性のあるコミュニケーションが図れず、意思の疎通が十分でないまま時間が流れ続け、土壇場になって仕様が詰まっていないという状況になっていました。
また、内部の基本的なコミュニケーションも BTS でのアサインと IM であったため十分な客側の要求がPGに伝えられず、要求と実装に齟齬が発生し続けていました。
同時に、開発者と顧客が直接 IM や BTS でコミュニケーションが図れてしまい、情報が分散し、全て顧客に情報を晒してしまうという問題もありました。
今回の PM の経験を通じ「対話は投資」ということを実感しました。また、
開発チーム内で情報伝達を行う効果的で有効な方法は、Face to Faceによる会話である。というアジャイルソフトウェア開発の原則も想起致しました。
(2) ヴィジョンを共有すること
前項と深く関係しますが、関係者のミーティングがきちんと開かれることはなく、私がプロジェクトのメンバーに紹介されるミーティングすらありませんでした。私は個別のPGと会話をして関係を構築しましたが、PGはSEに対し軽蔑に近い感情でいました(「あいつらプログラム分からない」「うちのSEはSEの面汚し」)。
PGにプロジェクトの全体の流れは把握する機会はありません。PMやSEはリソースとしてのPGを取り合っており、PGは一つの仕事をすれば、即座に他のプロジェクトの仕事を任されるという状況であした。プロジェクトへの専任はおろか、自分の出したバグを自分で改修することもできず、作った人が見たらすぐに直せるであろうバグを、ソースの理解から始めなければならないという状況でした。
上記の状況下ではPGがプロジェクトへのモチベーションを維持することは難しく、また、自己のプログラマーとしての成長の機会も奪われています。PGは「前のとこよりはマシだから」といいながらコーディング作業に従事していました。
こうした対話を通じ、以下のヴィジョンを提供・共有することの重要性を痛感しました。
- 自己のプログラマーとしての成長のヴィジョン
- プロジェクトの成功のヴィジョン
- 会社の成功のヴィジョン
(3) 開発者に集中状態に入る状況を与えること
以下の状態に置かれたPGは、当然集中状態に入れません。
- 営業やSE, PMの電話や怒鳴り声
- 常に飛び交うIM、メール(しかも見ていないと「見てよ」と怒られる)
- SEから急に割り込みで頼まれる緊急のタスク
集中状態に入れないことで、PGはかなり無駄な時間を過ごしていることに気がつきました。
十分なコミュニケーションによって一定量の仕事をアサインした後は、PGは静寂に包んであげるべきと強く感じました。
一人のプログラマは「うるさいやつらはどっかにやって、開発メンバーがちゃぶ台を囲んで、濃いコミュニケーションをとりながら開発ができたら」と言っていました。
営業・マーケティングの視点も重要ですが、開発者にはとにかく集中状態に入る権利を与えるべきと感じました。