地方エンジニアが感じる地方・中小企業での悩み

チームを率いて

»

 チームを組み業務として開発を行う場合に、問題となる点があります。「メンバー内で技術レベルにばらつきが存在した場合、どこに基準をおくか」という問題です。

 技術者としては、常に高みを目指していきたい気持ちもありますので、チームにおける技術リーダー的なポジションに就く方に合わせたくなります。ですが、それではほとんどの場合においてうまくいかないのではないでしょうか。最も高い人にレベルを合わせようとすることは、ものすごく他メンバーに対して負荷をかけてしまうことになります。全員が全員、学習熱が高く並々ならない向上心を持っているならば、あるいは成功するかもしれませんが、実体験を含めて思い出してみても、そのような状況になることはほぼないといってもいいでしょう。

 それではどのレベルを軸として考えるべきか、どのレベルであればチームとして活動がうまくこなせるか、また次へ繋ぐことを考慮してどのレベルに合わせようとすればいいのか。こうあるべき、という理想はありますが、現実としてどうすべきかというのは大変に難しい問題です。

 単純に今の案件だけを考えるならば、チームの中でも低い側に軸を置くのが良いのでしょう。もちろん要件を満たすことのできるレベル、という最低条件を満たす必要はあります。ですが、低い位置に軸を置いてしまうのは、エンジニアリングを行う企業として避けなければならないことだと、わたしは思います。

 いまも大事ですが、「これから」も同じくらいに大事なのではないでしょうか。「いま」をこなしたとして「次」がなければ、結局は駄目な結果でしかありません。技術レベルを低く合わせることは、自分達の将来を閉ざしてしまう行為だと、わたしは考えます。そのような状態では、競合する他企業に追い抜かれることは至極当然です。

 しかしあまりにも高すぎるレベルに合わせるのも、同様によくない結果しか生み出しません。技術のリーダーとなるべき人に求められるのは、どこまでなら追いつけるか、どこまでなら例え厳しくても追いつけるか、という部分でのバランス感覚ではないでしょうか。

 参加するメンバーとしては、できるだけ自分のことだけを考えず、少しだけでもほかのメンバーを気にして「ここまでなら大丈夫だ」と意見するぐらいがちょうどいいのではないでしょうか。参加するメンバー全員がこのように考えるところまでくれば、そのチームはほぼ間違いなくいいパフォーマンスを発することができる状態になる。わたしはそう思います。

 もしかすると、多くの方もこのように考えているかもしれませんが、現実問題としてそれほど簡単にことは進みません。理想としていろいろ掲げたとしても、現実には「納期に追われて時間がない」というような問題に悩まされた挙句、妥協案としてメンバーの中での最低ラインに合わせざるを得ないことが多々あります。

 「どこまでなら努力してもらえるか」、というのは、当然個人的な資質が関連してきますので、一概にどうこう決めることもできません。また、チームを率いるポジションの者の考えだけではなく、企業としての考えも考慮しなくてはなりません。

 率いるポジションから見て、チームメンバーの中にも「できれば外れてほしい」と思える人が含まれることがあるかと思います。中には、そのような人員には仕事を与えないプロジェクトもあると聞きます。わたしも似たような立場ですので、そうしたいと思う心情は理解できますが、これはやってはいけないことです。ましてや、パワハラ紛いなことを行うなどは言語道断です。誰かに対して「辞めた方がいい」とか言ってよいのは、相当の権限を持つ人だけです。少なくとも、一介のプロジェクトマネージャが言っていい言葉ではありません。

 大変なのは重々承知ですが、それでもチームを率いる立場であるならば、メンバーが有効に労働できるよう手配を行うことが、マネージャやリーダーの責務です。マネージャやリーダーの判断として特定メンバーに資質的な問題があると思われる際は、さらに上層部へと判断を仰げばいいのです。

 メンバーが自主的に活動する環境、それぞれに合った作業内容、メンバーに合わせた努力目標の設定など、チームを束ねるマネージャやリーダーというのは、難しく非常に大変なポジションだと思います。ですが、少なくとも会社としてある種類の期待を寄せているのですから、あなたにそのような立場に就くことを命じたのです。そう考えれば、また気持ちも変わってはこないでしょうか。

 1人で仕事を行っている際には、マネージャやリーダーといったポジションを体験するのは難しいです。もしそのような立ち位置に就くことがあった際には、視点を変えてみることで新たな楽しみを感じることができると思います。自分が整えた環境でメンバーが精力的に活動できたとしたら、非常に嬉しいことではないでしょうか。

Comment(11)

コメント

インドリ

こんにちはAhfさん。
今回も非常に興味深いコラムですね。これは永遠のテーマですね。
私も一番レベルの低い人ではなくて、なるべく高い方に合わせるべきだと思います。
これからそれを実現する方法を書きます。
私はフリーなので、プロジェクトマネージャにはなった事はありませんが、何度もプロジェクトマネージャの頭脳的役割を果たしてきました。
その際に助言するのは、「一番難しい事から解決しよう」・「コードと知識は共有すべし」・「仕事の境界を定めるな」・「人ではなくアイデアを批判しよう」です。
それぞれの人が一番難しいことから始めると、自然とレベルに応じた仕事をする事になります。
その際にコードと知識を共有しておくと、自然と教育効果を生み出します。
この時重要なのは、仕事も共有するべきものだという事です。
チーム開発は全員でするものです。
個人が縄張りを決め、仕事を固定化しては良いアイデアが生まれませんし、教育効果も生まれません。
それに、仕事を完璧に割り振るのは不可能であり、考えるだけ無駄です。
各々の人が出来る事をすれば、無駄もなくスムーズに仕事が進みます。
最後に重要なのは、個人攻撃をしない事です。
個人攻撃をすると人は保守的になり、問題を発表しなくなり、仕事を隠蔽しようとしだします。
この状態になるとプロジェクトは失敗します。
これを避けるために、間違いもチームの共有資産だと考えて、全員で良いアイデアを出し合うのが一番効率的です。
個人攻撃をしない環境づくりをすれば、同じ過ちを何度も犯す事がなく、気持ちよくアイデアを出し合いながら、良質な製品を作れるようになります。

はつね

--引用開始
しかしあまりにも高すぎるレベルに合わせるのも、同様によくない結果しか生み出しません。技術のリーダーとなるべき人に求められるのは、どこまでなら追いつけるか、どこまでなら例え厳しくても追いつけるか、という部分でのバランス感覚ではないでしょうか。
--引用終了
まさにその通りだと思います。
そして追いつく過程の中では同じ過ちを何度も犯す(表面的には違っていても本質は同じものとかも含む)ので、同じ指摘と同じ注意を同じテンションで繰り返すことも必要だったりしますので、このあたりのバランス感覚も必要になってきますね。

Ahf

インドリさんコメントありがとうございます。

>それに、仕事を完璧に割り振るのは不可能であり、考えるだけ無駄です。
>各々の人が出来る事をすれば、無駄もなくスムーズに仕事が進みます

完璧に仕事を割り振ることはできない、その通りですよね。
わかっている「つもり」なのですが、それでも出来る限りは割り振りをしっかりと行いたくなるあたり、私は恐らくわかっている「つもり」なのだなぁ、と感じています。

後言われるように、いかにしてチームの雰囲気を良い方向へと持っていくか、そこがチームでの開発では重要ですね。インドリさんが助言されている内容を、いかにしてメンバーに理解してもらい実践してもらうか。この部分もまとめ役にもとめられる事なのだと思います。

Ahf

はつねさんコメントありがとうございます。

>同じ指摘と同じ注意を同じテンションで繰り返すことも必要だったりしますので

そうですよね。私も同じような過ちを繰り返してきて今がありますので、それを同様にメンバーへと行っていく必要があると感じています。

バランス感覚は要所要所で大切なのだと思います。
そしてこれがまた難しいのですよね・・・。

インドリ

Ahfさん返信有難うございます。

>わかっている「つもり」なのですが、それでも出来る限りは割り振りをしっかりと行いたくなるあたり、私は恐らくわかっている「つもり」なのだなぁ、と感じています。

つもりとかではないと思います。
恐らく、Ahfさんは生真面目だから頑張るのだと思います。
私が出会ったマネージャ/リーダも大半がそうでした。
でも、肩の力を抜いたほうがいい結果を生みます。
管理疲れしてしまうと、肝心な事が見えなくなってしまいます。
神でもない限り、完璧な仕事の割り振りが出来ないのですから、
思い切ってそこは極力管理しないというのが得策です。
プロジェクトの管理者なのに、管理しないのは気持ち悪いと思いますが、
そこは仕事仲間を信じましょう。
仕事仲間に判断をゆだねる部分もあってよいのです。
ヴァージョン管理システムで、不必要な要素を管理しないのと同じ理由で、管理するべきことに集中しよう。
その方が全体的な効率はよくなります。
Ahfさんならば大丈夫です♪
後は仕事仲間をよく観察し、仕事環境の整備に徹していれば、仕事仲間がいい結果を出してくれます。
私が思うに、リーダは「空気になる」事が理想です。
メンバーの体調を整えて最高の製品を生み出せば、それがリーダとしての成功です。
Ahfさんの場合プレイヤーにもなれるのですから、タイミング良くお手本を示せば、誰もが頼れるカリスマリーダー/マネージャになると思います。
プレイヤーの気持ちが分かるAhfさんならば、カリスマも夢ではありません。

はつね

> バランス感覚は要所要所で大切なのだと思います。
> そしてこれがまた難しいのですよね・・・。

そうなんですよね。
必要なものを必要なメンバーに!が理想なんですか、理想は理想としてあっても現実とのギャップを埋めるための施策というのがノウハウとして流通していないというかケースバイケースだから流通できないというか。
マネージャはチームの中のサービス業みたいなものですからね。様々なリソースを最適に割り当てるために管理するのであって、決して管理するために管理するわけじゃありませんから。
そう考えると、管理できるものをどんどん管理していけば、全体的な効率は上がるはずなんですが、自分自身を管理できないというジレンマがww
もちろん全部はできませんから優先順位をつけてと、ここでもバランス感覚なのかなーと思ってみたりしています。隙あらばできてないところまでやる気概は必要なんじゃと。。あくまでも気概で終わっちゃうんですけどね。

プレイングマネージャの場合、自分でもプレイできてしまうのが利点でもり欠点でもあるんですよね。できれば、専門家の他にその専門家の言葉をチーム内に広げるための翻訳家としてのマネージャという立場がとれるのが理想なんですが、なかなかどうして難しいですよね。

インドリ

懐かしいな。
私は昔「ベクトルを低い方へと向ければ、その企業の技術レベルは下がる一方です。
この状態では、レベルの低い新人が中堅となり、その中堅が新人を育てる負のスパイラルを生みます。
そもそも、企業のレベルを下げていいほど、IT業界は顧客の満足度を上げられていません。
つねに、企業は品質のレベルを上げる努力をしなければならず、個人もまた高みを目指して常に努力せねばなりません。
そうしないと、進化するコードジェネレーターに職を奪われるでしょう。
社員のレベルを上げる、もしくは維持する為にには、企業が意識して行う必要があります。
これをIT業界が怠るならば、エンドユーザーは直接エンジニアを雇う必要があるでしょう。」といったんですよね。伝わらなかったけど・・・
Ahfさんの記事から引用すると「低い位置に軸を置いてしまうのは、エンジニアリングを行う企業として避けなければならないこと」という事です。
この手の問題はやはり永遠のテーマですね。

Ahf

インドリさん返答ありがとうございます。

>後は仕事仲間をよく観察し、仕事環境の整備に徹していれば、
>仕事仲間がいい結果を出してくれます。
>私が思うに、リーダは「空気になる」事が理想です。

メンバーそれぞれが主体となって活躍してもらい、リーダーはそれを影から支える立場に徹するという事ですね。なるほど。
そのスタイルができるとリーダーとして嬉しいですね。

言われるように、良いタイミングで見本となれるよう頑張っていきたいと思います。

Ahf

はつねさん返答ありがとうございます。

>マネージャはチームの中のサービス業みたいなものですからね。様々なリソースを
>最適に割り当てるために管理するのであって、決して管理するために管理する
>わけじゃありませんから。

そうですね。まず管理を行うことがマネージャとして優先すべき責務だと思います。目的と手段をとりちがえないように、意識をしっかりさせておかないといけませんよね。

ある程度の中~長期的視野で考えてかないと難しい事も多いですよね。一つのプロジェクトだけで考えていかずに、次、またその次を考えて調整していく事も求められているのだと思います。

まぁ次の機会にそのメンバーがいるかどうかは難しい問題です・・・

Ahf

Jittaさんコメントありがとうございます。

Blogを拝見させていただきました。
今回のコラム内容に非常に近い話題で、大変参考になりました。ありがとうございます。

ここ数年でこの手の問題は、更に難しさを増しているように私には思えます。組織として成長するためにどうすればよいか、という難問はどこの企業でも抱えている事なのだと。

理想としてはできるだけ上位レベルに目標を置く事ですよね。そしてその企業における人材層をふまえて、その目標地点をどこにおくべきかという判断を経営的にジャッジしてもらう。(少人数の企業と大人数の企業とは若干質が異なると思いますが)同じジャンルで常に悩んでいかなければいけないと思います。

コメントを投稿する