プログラミングできなくてもマネジメントはできるか?

SIer で働く友人から聞きました。その友人は、数年、システムエンジニア (以下 SE) としてキャリアを積み、サブリーダーや新人研修の講師を務め、プログラミングも得意で、自身のキャリアプランとしてプロジェクトマネージャー (以下 PM) を目指しています。プロジェクトがある毎に上司に PM をさせてほしいと要望を出していました。

ある時、とあるプロジェクトに先輩 SE の A さんと一緒にアサインされることになり、いつものように PM をさせてほしいと要望を出しました。その時の上司の回答はこんな感じだったようです。

A さんはプログラミングできないからマネジメントをさせる。君 (友人) はプログラミング「も」できるから実装を担当してほしい。

先輩を立てるという意図もあったのかもしれませんが、この例で言うと、PM はどちらも未経験、プログラミングは友人の方ができるという状況のようです。

友人は、なぜ自分が PM を担当できないんだと愚痴をもらしていました、、、まぁ、当然ですね。

私個人の経験 (SI 業界) では「プログラミングできなくてもマネジメントはできるか?」という問いに対しては、できるかもしれないなぁと思っています。もちろん、これは PM はプログラミングできなくて良いと肯定しているわけではありません。

私の考える PM に重要な要素は次の3つです。

  • 肚が据わってる
  • 決断をする
  • 責任を転嫁しない

できるかもしれないなぁと思う理由はここに「プログラミングができる」が入らないだけです。

肚が据わってる

「このプロジェクトで赤字が出たら会社を辞めます」とコミットして PM をやる人って凄く少ないと思います。別に本当に辞めなくて良いと思いますが、そういう覚悟をもってプロジェクトに臨む人が稀だと思います。こういうことを言うと、熱血な人だったり、変な人だったりして、逆にお仕事がやりにくいんじゃ?と思うかもしれません。

でも、私の周りにいた人では、そういう人は決して評判が悪くなかったです。それは、顧客が悪いとか、環境がアレとか、メンバーの実力がとか、外的要因をあまり気にしない傾向にあるからです。失敗したら次なんてないのだから、今与えられた条件でプロジェクトをどう成功させるかということに専念しやすいのだと思います。

決断する

「全ての条件が揃ってから最も良い選択をする」理想ではありますが、お仕事においてはそんな状況の方が稀だと思います。不確定要素が多々ある中で、要所要所でベストな選択をしていく。あっているかどうか分からないけど、決めなければいけないタイミングで決めないと、残念な結果を招くことになります。

何も決めずに結果的に失敗するのと、決めて挑戦して失敗するのは大きな差があります。前者は次へつながる知見が得られませんが、後者はどの判断の何が問題だったかを反省して、次へつなげることができます。但し、プロジェクトの反省会というのをちゃんと実施しているチームに限る、が大事ですね。

何も決めずに結果的に成功する場合もあるんじゃないか?と思う方もいるかもしれません。これも前述したのと同じで、そのプロジェクトでは成功したかもしれないけど、成功要因が分からないということは、次へつながる知見が得られないことと同義なんだと私は思います。

責任を転嫁しない

私が SE をやっていた頃の、うまくまわっていたプロジェクトの PM は、私がやらかした大きな失敗を報告しても「はい。分かりました。」としか言わなかったのを今でもよく覚えています。

また以前勤めていた会社の経営者が「経営不振の理由の1つは、コミュニケーションの問題だ」と言い出したことがありました。それは確かに正しいのでしょうが、私は当時、何かしっくりこない気持ち悪さを感じました。それは裏返すと「経営者に責任はない」と暗にほのめかしているようにも聞こえるからだと最近、少し分かってきました。

「コミュニケーションの問題」というのは、現場の人が言うのはまだしも、管理する立場の人が言うのは責任転嫁だと私は思います。もっともらしくて誰も何も悪くないという思考停止に陥る危険があると思います。


と、いま書いてみて、マネジメントスキルとか、プログラミングとか能力は後付けで得られるけれど、資質はそうあろうとする本人の心がけ次第なのかなとちょっと思いました。私はプログラマ指向なのですが、こんな PM だと一緒にお仕事しやすいです。