技術ではなく人間がソフトウエア開発プロジェクトの失敗の容疑者だ。これはComputerworldの最近の記事が指摘している点だ。特に、プロジェクトマネージャが問題だと指摘されることがほとんどだ。Change Strategists IncのBillie Blair氏によれば、組織がマネージャという重要な役割に技術的資源に集中すると結局、一人一人が仕事を効率的に遂行するのに必要な技術を持てなくなる。
"企業で上手くいかないことを追いかけると、マネージャにたどり着きます。"とBlairは言う。
技術者がマネージャになるのは上手くいくだろうか。多くの組織は技術者とマネージャに必要な適性には大きな違いがあり、2つの別のキャリアとして制度化されている。技術のキャリアでは普通、技術的知識や能力の習得が評価され、マネジメントはあまり顧みられない。マネジメントのキャリアの場合は、多くの人の管理に対する責任と、財務的な見通しと戦略ビジョンが評価の対象になる。
どちらのキャリアに進むかを議論するのは誰にとっても厄介な問題だ。Pawel Brodzinski氏はこの時に直面する選択肢とこの意思決定がいかに“相互排他的”であるかについて書いた。
“素晴らしいエンジニアになるために必要なことは、無能なマネージャになるための要素と同じです。”
マネジメントと技術者の両方の役割を同時に担えるということを示す例はあるだろうか。技術的スキルとマネジメントスキルの両方を平行して身につけるべきかどうかについての議論はウェブ上の様々な場所に存在する。下記のいくつかの議論を引用する。
“やらなければならないプログラミングの量と質とマネージャとしてしなければならない仕事の量と質に依ると思います。”とChrisF氏。
“私はあるチームに参加している開発者ですが、このチームでは一人のプログラマがマネージャを兼任しています。しかし、このやり方は生産的なことのすべてが台無しになります。要するに、すべての意思決定を一人の人物が行い、その人物が細部まで口を出すのです。”とMartin Wickman氏
“多くの場合、2つの役割を兼任するのは上手くいきますが、決して良い方法ではないと思います。熟練の開発者が、マネジメントのスキルも、ひょっとしたら意欲もないのに、どのようにチームのマネジメントを任されるのかについて書かれた記事はたくさんあります。彼らは‘マネジメント’の注力するのに苦労します。彼らに取って‘仕事’とは、プログラミングを完了させることであり、報告書を作ったり会議をしたりすることではないからです。”とDavid氏。
この議論を変える要素のひとつがアジャイルの手法だ。アジャイルの手法は従来のPMの役割を最小限に変更しつつ、開発者に多くの説明責任を負わせるため、チームの役割の中の単一障害点を低減することができる。
またプロジェクトマネージャについての別の角度からの議論をCA Atreya氏が書いている。 氏は2005のESIのプロジェクト失敗原因についての研究を引用して、要件定義が不十分なのがプロジェクト失敗の最大の原因だとしている。