[]
ソフトウェア開発の成否は、技術よりも人材にあります。大学を卒業するとき、私は「人を管理する技術は経営者の専売特許だ」と考え、さまざまな技術に精通してこそ優れたプログラマーになれると思っていました。しかし、真実は私に良い教訓を与えてくれました。よく、ピープルマネジメントの技術は学べない、才能だ、という意見を耳にしますが、私はこの意見には賛成できません。
誰も生まれながらにしてある技術を持っているわけではなく、観察と模倣によって身につけるものです。この分野の知識は読書で得たかもしれませんが、私は10代の頃に読んだ本の表紙に印刷されていた古いことわざを覚えています。"人生は本からは学べない、自分で感じるしかない"。
人と接するのが苦手だと感じているのなら、観察して学ぶしかありません。簡単なことです。たとえあなたが今チームリーダーでなくても、誰も率いていなくても、○○○○になる方法を学ぶことは、特にこのような人が中心の業界では、やる価値のあることです。
偉大なチームリーダーと一緒にいると、とても良い気分になるものですが、リーダーシップ・スキルの真価が問われるのは、ダメなチームリーダーです。私は幸運なことに、とても悪いチームリーダーに何人も会う機会がありました。ここでは、良いチームリーダーと悪いチームリーダーの対比を見てみましょう。
優れたチームリーダーは、責任を取る勇気があります。プロジェクトが失敗すれば、真っ先に非難されるのは自分だと考え、それを認める勇気があります。 | 下手なチームリーダーは、自分のせいではないと考え、チームの他のメンバーの罪を証明することに全力を注ぐか、チーム内の気に入らない人物に責任を押し付けるでしょう。 |
チームリーダーは、チームメンバーの模範となるべき存在です。少なくとも、他のメンバーと同じように懸命に働くのです。チームを率いているからといって、自分の好きなことだけを選んで、悪い仕事は他の人に任せる権利はありません。 | 劣悪なチームリーダーは、自分にはもっと重要なことがあると思っています。自分の下に使える人材がたくさんいるのに、なぜ自分でコード化するのですか? |
優れたチームリーダーは、チームの若手プログラマーを指導し、成長させます。彼は、若手プログラマーを困難な仕事で挫折させません。彼は、チームメンバーの成長に投資することが、開発の質で報われることを知っているのです。 | 下手なチームリーダーはそんなこと気にしません。経験の浅いプログラマーには難しい仕事をさせるべき。 |
優れたチームリーダーは、スキルに関係なく、すべてのチームメンバーを尊重します。チームを率いる唯一の方法は、威圧ではなく、尊敬を得ることだと知っているのです。 | このようなチームリーダーは、自分以外の誰に対しても敬意を払いません。誰かがミスをすると笑い、上層部への報告にもそのようなことを書きます。 |
優れたチームリーダーは、技術的・専門的能力の価値を信じています。彼は、自分の仕事をきちんとこなすことで、それにふさわしい地位を得ることができると信じています。 | 下手なチームリーダーは技術的に無能で、お世辞がうまい。部下を見下し、上司には極端に媚びます。 |
良いチームリーダーは成熟した人格を持ち、自分の感情をコントロールする術を知っています。チームメンバーを怒鳴りつけたり、脅すようなことは言いません。 | 貧乏なチームリーダーは明るくするのが好きで、威嚇することがチームを管理する○○○な方法だと思っています。彼は恐怖が****モチベーションだと考えています。 |
優れたチームリーダーはチームメンバーを信頼しています。チームリーダーは、同僚が改善すべき知識スキルを持って働いていることを知っています。だからこそ彼は、彼らがより多くを学び、より強くなることができるように、彼らが慣れ親しんだ知識分野の外に出て、新しいテクニックを使うことを奨励するのです。 | 劣悪なチームリーダーは、自分以外の誰も信用しません。経験の少ない人は、ドキュメントを書いたり、自分のコードのユニットテストを書いたりすることになります。結局のところ、テストのような仕事は誰もやりたがらないのです。 |
優れたチームリーダーは、誰もやりたがらない仕事を選びます。大変な仕事は自分たちで分担し、率先垂範。 | かわいそうなチームリーダーは、いつも自分の好きな仕事を選ぶんです。もしかしたら、ずっとやってみたかった新しいフレームかもしれないのに。どうして誰も、そんな素晴らしいチャンスに私と競争しないの?フレームワークが複雑すぎるとわかると、他のメンバーに丸投げして、小さな問題は自分で直すんです。 |
優れたチームリーダーは、すべての問題を解決しようとします。しかし、完全にうまくいかないことも必ずあり、そのときはすぐに上司に状況を報告し、適切な措置をとってもらいます。 | チームリーダーはいつも問題を隠ぺいします。自分の評判にかかわるからです。問題が起きれば、その責任を取ってくれる人を探し、決して自分の責任にはしません。 |
優れたチームリーダーは、コードレビューを楽しみ、チームメンバーに参加を促します。繰り返し問題が発生する場合は、ナレッジベースに記録し、全員がナレッジベースを通じて、発生した問題をよりよく解決できるようにします。 | 劣悪なチームリーダーはコードレビューをする時間がありません。誰かが自分のコードに問題があっても、貧乏なチームリーダーはそれを修正する方法を教えるだけです。 |
優秀なチームリーダーは、悪いアップラインを持っていたかもしれませんが、彼は自分自身に、世界ではあの人のようにはなれないと言い聞かせています。彼は成熟しており、他人の失敗から学ぶ方法をすでに知っています。 | 劣悪なチームリーダーは、自分がイライラしているときと同じように部下も苦しんでほしいと願っています。 |
優れたチームリーダーは人の話をよく聞きます。彼はチームメンバーにあらゆるブレーンストーミングをさせます。彼は、良いアイデアはしばしば意図せずに生まれることを知っています。 | 貧しいチームリーダーは、自分がいいと思うアイデアを「見せびらかす」人が嫌いなのです。自分のアイデアの方が優れていると思っているのです。面白い視点を耳にすれば、それをバカにし、上司のところへ行って、いいアイデアを思いついたと自分の手柄にするのです。 |
無能なチームリーダーは会社を壊しかねません。無能な人のリーダーシップの下でプロジェクトが開発された場合、彼のミスを補うために、有能なチームが再開発するよりも多くのコストがかかることになります。これはおとぎ話のように聞こえるかもしれませんが、上記のような無能なチームリーダーの特徴は、実生活からまとめたものであり、私はチームリーダー術の貴重な教訓を与えてくれた無能な人たちに感謝しています。