プロジェクト・マネジャーが知るべき97のこと/我々は敵に出会った。それは我々自身だ
『Pogo』という長期連載漫画を描いた漫画家のウォルト・ケリーは、「我々は敵に出会った。それは我々自身だ」という言葉で有名です。ソフトウェア開発プロセスに不慣れなプロジェクト・マネジャーを表現するのに、これほど的確な言葉はほかにないでしょう。ここではあなた自身が「敵」にならないための方法を挙げましょう。

 あなたはプロジェクト・マネジャーとして、チームメンバーがタスクを完了するのにかかる時間を適切に見積もることを期待しているでしょう。もし割り当てられた時間をはるかにオーバーしてしまうと、スケジュールに悪影響を及ぼします。プロジェクトにおけるあなたの役割のひとつは、ミーティングを開いてチームのコミュニケーションを促進することです。開発者がコード量を見積もって約束通りに納品することを望んでいるなら、あなたもミーティング時間を見積もって約束通りに実施できることを示す必要があります。ミーティングが長引いてしまうと、開発者が当てにしていた貴重なプログラミングの時間を、あなたが盗んでしまうことになります。
 もしプロジェクトチームが外国語を話しているなら、あなたはレッスンを受け、通訳を用意したいところでしょう。開発者はあなたの母国語を話してはくれません。本を買って、授業を受け、Google を友とし、複雑なことをシンプルに説明してくれる開発者を見つけましょう。チームが取り組むコンセプト、用語、課題について学ばずに、口先だけでプロジェクトを乗り切ることはできません。
 あなたはこれまで、トースターや車を作ったり、調合薬を開発したり、高層ビルを建設したりするのに最適な手法を使ってきたでしょう。しかし、ここではそうしたやり方は機能しません。信頼できるメンバーにアジャイル開発について説明してもらいましょう。アジャイル開発というのは新しいものではなく、危険なものでもありません。プロジェクトの終わりに機能する製品を作り上げる絶好の機会を提供してくれるものです。
 開発者は職人であり芸術家です。彼らは会計士、弁護士、銀行の窓口とは違ったやり方で働きます。2 人1 組になっていきいきと話しているときも、彼らは実際には仕事をしているのです。壁に向かってボールを弾ませたり、ホワイトボードに落書きしているときも、彼らはコンピュータの画面をじっと見ていても解けないアーキテクチャ問題の解決策を練っているところなのかもしれません。彼らに居場所を与えましょう。
 チームは空き時間も仕事をしています。皆さんは、地元のスーパーのレジ係が交代するのを見たことがあるでしょう。彼女はレジを開いてお金の引き出しを入れ替え、新しいレジ係が仕事できるよう準備をします。しかし、プログラマの場合、仲間と交代して相手がやっていた仕事の続きをそのまま引き継ぐことはできません。メンバーが無我夢中で働いているときには、そっと一人にしておきましょう。ある研究によると、人間は割り込まれると、生産性を取り戻すのに1 時間以上かかるそうです。
 全員がまったく同じプログラミング言語でプログラミングする必要はありません。新しい言語を活用することで、書いて、テストして、サーバに配置して、メンテナンスするべきコード量が少なくなる場合もあります。開発者が仕事に最適なツールを使うことを拒んではいけません。
ソフトウェア開発の新しい世界に心を開きましょう。そうすれば、あなたは敵ではなくソフトウェア開発チームの味方になれるでしょう。