答えは「4」です。
一部のテクノロジーに関する豊富な経験が重要です。「プロジェクトマネージャーはテクノロジーを理解する必要はなく、人を管理するだけ」という考え方を知っています。
いいえ、PMは人を管理しません。彼は、少なくともいくつかの望ましい側面(機能、パフォーマンス、信頼性、セキュリティ、保守性など)で受け入れられる成果物を作成することになっているプロジェクトを管理します。彼がテクノロジーを理解できない場合、彼は道に迷っています。もちろん、彼はプロジェクトで使用される特殊なテクノロジーの専門家である必要はありません。しかし、彼はBSをフィルターで除去し、プログラマーの見積もりに疑問を投げかけ(私たちはそれらがどのように進むかを知っています)、少なくともここで技術的なリスクを感じることができなければなりません。そこでは、特定のテクノロジーのビジネスへの影響を定式化できるようになります。
ある意味で、テクノロジーに関するPMの課題は、プログラマーの課題よりもさらに大きいと思います。彼はテクノロジーに真に興味を持っている必要がありますが、実際に彼らに対して公平であるためには、テクノロジーの偏見を持つことはできません。実際に良いことと、実際には良くないこと)。
非技術系のマネージャーが多くの技術系企業を地面に追いやった証拠については、「愚かさを求めて」を読んでください。
これはSpolskyによる優れた要約です:http://www.joelonsoftware.com/articles/Stupidity.html
さて、小さな活字#1:もちろん、すべてのプログラマーが優れたPMを作成するわけではありません。要するに、コントロールフリーク、有毒な性格、エゴマニア、コーディングは得意だが交渉は得意ではない人々、コーディングは得意だがプレッシャーに屈しやすい人々は、プロジェクトをFUBRします。
小さな活字#2:非常に優れた分析スキルを持つ人々が、テクノロジーの経験不足を補う可能性があります。私は、優れたビジネスプロセスおよび手順の設計者であり、UIの編成方法、この特定の場所でのソフトウェアの動作、およびドメインの専門家がサービスを提供している場合でもBSを迅速に検出できる理由と人を本能的に理解している人々と協力してきました。彼らの人生がそれに依存しているなら、プログラムすることができませんでした。