エンジニアの急な離職を防止するには?課題の『可視化』で成長できるチームづくり

ファインディ株式会社 / Findy Inc.
取締役CTO
佐藤 将高 氏
さとう まさたか/ 東京大学 情報理工学系研究科 創造情報学専攻卒業後、グリーへ入社、フルスタックエンジニアとして勤務。2016年6月、ファインディ立上げに伴い取締役CTOに就任。

近年、ITエンジニアの慢性的な人手不足が叫ばれており、経済産業省によると2030年にはIT人材が45万人不足すると予測されている。

エンジニアは、離職した人と同じ技量を持った人を採用することが難しく、企業にとっては離職防止が重要な課題となっている。今回はエンジニア組織のパフォーマンスを可視化するツール「Findy Teams」を提供するファインディ株式会社の取締役CTOである佐藤将高氏に、エンジニアの急な離職を防ぐ対応策と、データを使ったチームづくりのポイントについて伺った。

エンジニアの突然の離職、予兆を見抜くポイントは

「エンジニアのエンゲージメントの低下や離職に繋がる一番の要因は、職場が自由にのびのび働ける環境でないことです。充実した開発環境で自分の思うようにコードを書き、技術を極めていける職場が多くのエンジニアの理想です。

しかし、開発環境が整っていない、ミーティングが多く開発に集中できない、あるいは想定外のマネジメント業務など直接技術に触れないといったタスクが増えてしまうことで、自分の理想とのズレを感じて離職につながってしまう例は多いです」

チームとして働く上で、コードを書く以外の仕事が増えてしまうのは避けられないことでもあり、エンジニアマネージャーにとっては悩ましい問題だ。加えて、エンジニアのこのような本音を引き出すことは実際には難しいと佐藤氏は続ける。

「営業職の人などは不満が溜まると比較的すぐに相談してくる傾向がありますが、エンジニアの場合は率直な課題や不満を相談するまでに時間がかかるように思います。また不満があっても『自分の課題かもしれないからもう少し考えてから言おう』と思い、一人で抱え込みがちです。その結果、抱えている小さな不満が次第に大きくなり、上長などに相談がないまま突然離職するケースも少なくありません」

エンジニアの離職を防ぐには、普段の行動から離職のサインを見つける必要があるようだ。では離職の予兆にはどのようなものがあるのだろうか。

「エンジニアの特徴として、他の職種に比べテキストでのコミュニケーションが多いことが挙げられますが、ここから予兆を見つけることができます。例えば、エンジニアがよく使うツール上でタスクに対する反応スピードが遅くなる、コメント数が減少するなど、アクティビティ量が減ってくることが離職の予兆として一番わかりやすいです」

パフォーマンスの可視化でエンジニアチームを最適化する

このように水面下で溜まっていくエンジニアの不満を、マネージャーはどう解消していけばいいのだろうか。佐藤氏いわく、まずは認識のすり合わせを行う必要があるという。

「日々の業務への不満に関して、主観的な判断を客観に落とし込むことが大事です。例えば『ミーティングが多い』という不満について、『実際ミーティングにはどれくらい時間を使っていたか』『ミーティングの頻度はどうだったのか』などを可視化していきます。

主観的な判断では個人差が生じるため、人によって週に2、3時間のミーティングを多いと感じる人もいれば、少ないと感じる人もいます。また体感的に週に2、3時間だろうと思っていたのに、可視化してみたら思っていたより多くの時間をミーティングに使っていたことが発覚する場合もあります。エンジニアとマネージャーの間にあるこのような認識のズレを解消するために、問題を数値化して客観的に見ることが大事です」

双方の認識を揃えた上で、改めて解決すべき課題を設定し、解決のための施策を考える。施策を実行する中でも常にデータをチェックしながら改善度合いを測り、施策の調整を行うことで不満の解消につながるという。

また個人のケアだけでなく、エンジニア組織全体のマネジメントにおいても可視化は重要だ。エンジニアの仕事は表からは見えないものが多く、重要にもかかわらず売上に直結しない役割を担っているために正当に評価されない、また特定の人に負担が偏っているなどの問題が起こりがちだ。

「最終的な売上だけでは貢献度や価値を評価できないため、エンジニアのパフォーマンスを可視化する必要があります。成果物そのものだけではなく、生み出す過程でチームとしてどんなやり取りがあったのか、誰がどう関わっているのかを可視化することで影の功労者を見逃すことなく評価できます。

また、チーム内でのやり取りが滞ってしまう原因を見つけて高速化したり、誰かに負担が偏っていないかを確認しタスクの振り分けを行ったりなど、全体の開発プロセスを改善することに繋げられます」

ファインディ株式会社が先日リリースした「Findy Teams」はまさに、エンジニアチームのパフォーマンスを可視化するツールだ。社内でも実際にこのツールを使って業務改善を行ったという。

「弊社のエンジニアチームでは以前、リリース回数の少なさを課題として抱えていました。改善するためにはメンバー個人のパフォーマンスを上げる必要があり、指標としてプルリクエストと呼ばれる改善提案の回数を増やしていこうと決めました。そこで、Findy Teamsを使って実際のプルリク作成数を見ながら1on1を行いました。

目標の数に未達だった場合はなぜ未達だったかを考え、例えば『今月は問い合わせ対応が多かった』という理由であれば、問い合わせ対応を他の人と分担したほうがいいのか、それとも1人に集約する代わりにプルリクの目標数を下げるのか、などを相談したんです。

客観的なデータから上手くいかない原因を紐解いていくことで、チーム全体の役割分担を最適化し、結果的に個人としてもチームとしても成長できました。お互いの悩みを数値によって可視化することで改善が進んだと感じています」

データに囚われず、データから導く。エンジニアの成長を促すマネジメント

一方で、自身のパフォーマンスすべてが可視化されると、人によっては監視されていると感じてしまい、そのこと自体が不満になってしまうため注意が必要だ。

データ利用の権限をマネジメントをする人に限り、チーム全体のコンディションを把握するために使うのか、あるいはメンバーにも権限を付与し、全サービス・全エンジニアの情報をオープンにしながら開発を進めるのか、自社の状況や現場の意見に合わせて公開範囲や用途を調整する必要があるだろう。

「まずはCTOやVPoEがエンジニア組織全体を把握するために導入してみて、次にマネージャー、そして現場へと徐々に公開範囲と用途を広げていくとよいかもしれません」と佐藤氏は述べる。

データは便利な一方で、センシティブなものでもある。エンジニアにとって働きやすい組織を作るポイントと、そのためのデータとの向き合い方について聞いた。1つ目のポイントは、個人の成長を促すためにデータを使うことだという。

「課題が見つかったとき、数値の良し悪しそのものに言及するのではなく、原因は何なのか、どう改善するかを話し合う糸口にするのが良い使い方だと思います。数値を元に次の自分たちの組織がどうあるべきなのか、どうしたらもっと自分がイキイキ楽しく働けるかを考えていってください。

また、普段見えないポジティブな面を褒める手段として活用してほしいです。データを見ていいなと思う人やチームがあったら、それを積極的にチャットツールなどでシェアすることで、より良い組織作りに繋げられるでしょう」

2つ目のポイントは、それぞれのメンバーのやりたいことに向き合うツールとしてデータを活用することだ。事実に基づいたデータを共有することで、個人の意思や適性を尊重した納得感の高い配置を行うことができる。また、メンバーのキャリアプランを考える際、データを見ながらステップアップの道筋を分かりやすく示すことも可能だ。

「例えばテックリードになりたいメンバーがいるとして、『ではいつになったらなれるのか』というタイミングは今まで感覚的に判断することが多かったと思います。しかし自分の活動を数値化することによって、定量的な指標ができます。『メンバーの平均と比べてこれくらい数値が高いから、このポジションを任せても問題ないんじゃないか』といった配置検討に使うと、納得度が上がるんですね。

また、メンバー自身が過去の自分とデータを比べてみることで、成長した実感を作っていくことも可能です。パフォーマンスを可視化することによってエンジニアが次のステップに進む道筋を作り、チームみんなが成長していける組織作りを目指してみてください」

エンジニアリング組織のパフォーマンスを最大化する 「Findy Teams」はコチラ