Engineering Managerの役割 - 組織と成果の視点から
この記事は、Engineering Manager Advent Calendar 2020 の初日向けに書いたものです。Engineering Managerの役割を、組織自体の強化と組織が成果を出すプロセスの強化に分けて解説します。
Engineering Managerを続けていると、組織課題を解決しても一向に状況が改善しないという悩みを持つ時はありませんか?自分自身が課題の中に入ってしまうと、一歩引いて真の課題を見つけることが難しくなりがちです。そのような場合や抽象度の高い課題に取り組む場合など、Engineering Managerの役割を2つの視点で持つと、本質的な課題の発見と解決につながるはずです。
私は現在株式会社メルペイでDirectorとして組織やプロセスの課題の解決にあたっています。メルカリ・メルペイの組織が急拡大するフェーズで学び、経験してきたことを元にこの記事を書きます。
Engineering Managerの役割
マネージャーの役割は「組織の成果を最大化すること」とよく定義されます。
Peter Druckerは「マネジメント - 基本と原則」の中でマネージャーの第一の役割を以下のように定義していますし、
投入した資源の総和よりも大きなものを生み出す生産体を創造すること
Andrew Grove著「High Output Management」ではマネージャーのアウトプットを以下のように定義しています。
マネージャーのアウトプット
= 自分の組織のアウトプット + 自分の影響力が及ぶ隣接諸組織のアウトプット
*註: 当時は英語でもOutput (生産物) とOutcome (成果) をあまり区別しなかったようです。この記事ではアウトプットという言葉でなく成果という言葉を使います。OutputとOutcomeの違いについては、こちらの記事を参照ください。
では、Engineering Managerとして成果を出すために、もう少し役割を分解してみるとどうなるでしょうか?2019年のAdvent Calendarでは、広木大地さんが「弱めのEM定義」と「強めのEM定義」に整理して解説していました。弱めの定義としてピープルマネジメントとテクノロジーマネジメント、強めの定義としてそれら2つに加えプロジェクトマネジメントとプロダクトマネジメントに分類していました。
今回の記事では、別の切り口で見ていきます。組織の成果の最大化を単純に分解すると、「組織」と「成果」の2つのパートに分けられます。すなわち、組織自体を強化することと、組織が成果を出すプロセスを強化することの2つの視点で組織の成果の最大化を図ることができます。
プロダクト開発する組織でEngineering Managerが持つべき役割はこれら両方の強化です。複数のEngineering Managerで役割分担するケースがあるとしても、片方の強化だけでは組織の成果の最大化はされません。
それでは、「組織の強化 」と「成果を出すプロセスの強化」をどのように実現するか深掘ってみましょう。
組織の強化
メルペイVP of Engineeringのhidekさんは、Engineering Managerの役割として以下のサイクルを定義しています。
良い人を採用して → 成長を促して → 正しく評価して → 組織に愛着を持ってもらって→ その結果を外にPR → 良い人を採用する
以上はhidekさんの記事「どもども "VP of Engineering" です。」からの引用です。以下は私の解釈を入れていきます。
採用 (Hiring) はこのサイクルの入口です。AmazonではBar Raiserと呼ばれる役割の人もいるくらい重要なポイントです。単に職務スキルだけで判断するのでなく、その会社の文化 (Valueなどとも呼ばれる) にマッチし、社員と会社の両者にとって幸福な状態にすることが必要です。
育成 (Training) はスキルや影響力を高めることだけでなく、組織に入って成果を出すまでのキャッチアップを早めること (Onboarding) も含みます。特に在宅勤務下で入社した社員のためには、過去の状況よりも意識して情報共有や気軽に質問できる環境の整備が必要となります。また、誰でもOnboardingしやすい技術アーキテクチャや技術スタックの選定も重要な意思決定です。
評価 (Evaluation) はこの次の維持 (Retention) に不可欠な他、組織の成果と個人の成果を結びつける重要なパートです。組織規模に応じて、評価キャリブレーション (1人のマネージャーによる評価で決定せずに複数人のマネージャーで認識を揃えるシステム) や評価基準の定義が必要になってきます。それぞれ、Googleの人事制度を元に書かれた「ワーク・ルールズ」と、CircleCIのEngineering Competency Matrix (Spreadsheetと説明記事) が参考になります。マネージャー個人として注意すべきことは、ハロー効果などバイアスの認識です (カオナビの記事を参照)。
(人の) 維持 (Retention) は組織が価値を継続して生み出す源泉です。人の流動性が業界の健全性や発展を促す一方で、個別企業の視点では採用と両軸となる課題です。Slackの記事 "5 employee retention strategies every company should implement" では、(1) 組織リーダーレベルでの対策 (2) 社員からのフィードバックを聞くこと (3) インクルーシブなカルチャー (4) 成長機会への投資 (5) 退職面談の深掘り の5点を紹介しています。hidekさんの記事の開発環境整備などはこれらの手段としての位置づけで、モチベーションの源泉が異なる個々人に対して適切な対応ができるように1on1でヒアリングが必要と言えます。
PRは次の採用の流入を増やす効果を持つ他、一つ手前のRetentionにも影響を持ちます。最近では多くの会社で技術ブログ、Meetup開催、カンファレンス登壇支援などをしています。採用の観点で言えば、情報を発信する会社に人が集まります。Retentionの観点で言えば、エンジニアが業界で活躍する成長機会をサポートすることになります。
以上のようなサイクルを回すことにより、組織の成果を最大化する上での組織自体を強化していきます。
成果を出すプロセスの強化
組織を強化するだけでは組織の成果を最大化できません。組織の活動が組織の目指すべき成果を産むようにプロセスを構築する必要があります。
まず、個別組織が成果だと思っているものが会社全体にとっての成果と方向性が合ってないとそもそも成果になりません。より上位の組織と方向性を合わせることをアラインメント (Alignment) と呼びます。アラインメントを取るための効果的な手法として、超長期では会社のミッションとバリュー、中長期ではロードマップ、短期ではOKRがあります。
会社としてのメルカリを例にすると、初期からミッション・バリューを重視し、どのような状況においても組織メンバーが同じ方向を向いて成果を出す文化を構築していました (解説記事)。OKRも同様に長く運用しており、会社全体のチャレンジングな目標設定を各組織や個人に落とし込み、四半期ごとの大きな成長を遂げてきました。OKRの運用は元メルカリVP of Engineeringの是澤太志さんの解説記事に詳しいです。そして、メルカリJapan、US、メルペイとグループ会社が増えたタイミングでグループ全社でアラインメントの取られたロードマップを作り運用を始めました (紹介記事)。
このような組織のアライメントが重要である一方で、プロダクト開発では何をつくればお客さまにとって価値になるかわからない不確実性があります。これを目的不確実性と呼びます。広木大地さんの書籍「エンジニアリング組織論への招待」で、方法不確実性と通信不確実性とともに詳しく解説されています。
さて、目的不確実性を削減してお客さまに価値を届けるという成果を出すにはどうすれば良いでしょうか?その基本的な手法は学習サイクルをつくることです。その代表として、Build/Measure/Learnから成るLean Startupがあります。
Build (構築): 仮説を元に、それを検証できるものをつくる
Measure (計測): 顧客または一部の想定顧客に使ってもらい反応を見る
Learn (学習): 反応を元に新たな課題に対して仮説検証を計画する
この仮説検証のためにつくるものとして出てくるのがMVP (Minimum Viable Product) です。MVPは「顧客に価値を提供できる最小限のプロダクトやプロトタイプ」のように表現されますが、注意が必要です。こちらの記事にある有名な図のように、最終目標のパーツを順に小さくつくるのでなく、仮説検証が可能なものを順に構築して計測・学習しながら顧客にとって価値のあるものをつくっていきます。
このように学習しながらお客さまに価値を届ける (成果を出す) には、経営レベルでの理解が必要であり、Engineering Managerとしては理解されるよう働きかけが必要です。そうでなければ、成果を出すことでなく単に新しいものをリリースすることが目的になり、お客さまにとって価値のないものをつくり続けることになります。これは最近出版された本「プロダクトマネジメント - ビルドトラップを避け顧客に価値を届ける」で詳しく解説されています。米国企業でも陥りがちな課題であることがわかります。
以上、成果を出すプロセスの強化として、上位組織とのアラインメントに加え、学習サイクルの構築を解説しました。
組織と成果の2つのサイクルは自己強化型ループ
組織の強化と成果を出すプロセスの強化で2つのサイクルを紹介しました。これらは、システム思考でいう自己強化型ループになっています。
組織の強化が順調だと、成果を出すプロセスの強化も順調に回りやすくなりますし、逆に成果を出していると組織も強化されていきます。一方で、組織に問題が出始めると成果にも問題が出始め、逆に成果が出ないと組織にも問題が出始めます。このため、組織または成果を出すプロセスのどちらかに課題を感じる場合、大局的に見てループのもう一方に課題がないか確認することが必要です。片方だけで課題を解決しようとしても、状況が改善されないことが往々にしてあります。これが、組織の視点と成果の視点の両方をEngineering Managerが持つべき理由です。
eNPSという指標
ここまでで「組織の強化」と「成果を出すプロセスの強化」の2つの視点でEngineering Managerの役割を説明してきました。ここからは、サイクルを回す上で見る指標について説明していきます。
組織が大きな成果を出す状態になっているかを表す指標としてeNPS (employee Net Promoter Score) を導入する会社が増えてきています。eNPSは従業員のロイヤルティ (Loyalty) を可視化する指標で、組織の生産性 (Productivity) に相関性があることが知られています。
eNPSの測定方法はこちらです。
「この職場を友人にどの程度お薦めしますか?」という質問を0-10の11段階で回答してもらい、9-10の回答者の割合 (%) から0-6の回答者の割合を引いた値がeNPSとなる。
例: 9-10の割合が30%、0-6の割合が20%ならeNPSは10
元々は製品やサービスを質問対象として顧客ロイヤルティを測る指標であるNPSとして広まったものです。NPSはLTV (Lifetime Value = 顧客生涯価値) に相関性があることが知られています。LTVを簡単に説明すると、顧客が製品・サービスに生涯にわたって支払ってくれる対価です。eNPSにおけるLTVは従業員が在職期間にわたって企業に提供する価値に相当し、生産性 (在職期間の長さを含む) の高さに相関性があることと関連づけられます。
推奨者 (Promoters) はロイヤルティがある状態で、中立者 (Passives) はエンゲージメント (Engagement) がある状態です。ロイヤルティは心でポジティブに認識している状態 (好き・所属意識がある) で、エンゲージメントは頭でポジティブに認識している状態 (条件が良い・メリットがある) です。
では、なぜeNPSで組織の生産性を測れるのでしょうか?私の理解を書くと、eNPSは組織の集合知です。組織自体の良さと、組織として成果を出せているかは各従業員が実感 (心と頭) で理解しているのです。Google re:Workの "The five keys to a successful Google team" (心理的安全性の有名な記事) では、生産性の高いチームの特徴として以下をあげています。特に1は組織を心で、4と5は成果を心で認識している状態です。
1. Psychological safety: Can we take risks on this team without feeling insecure or embarrassed?
2. Dependability: Can we count on each other to do high quality work on time?
3. Structure & clarity: Are goals, roles, and execution plans on our team clear?
4. Meaning of work: Are we working on something that is personally important for each of us?
5. Impact of work: Do we fundamentally believe that the work we’re doing matters?
このように、eNPSを用いて組織と成果の状態を計測することができます。つまり、「組織の成果を最大化すること」という最も抽象度の高いレベルの計測ができます。
指標からアクションへ
では、eNPSという指標があるとして、実際にアクションに落とし込むにはどうしたら良いでしょうか?通常、組織生産性としてeNPSが使えるのはKGI (Key Goal Indicator) としてです。これは、アクションをとってから結果に変化が現れるまでに時間がかかる遅行指標 (Lagging Indicator) です。このため、先行指標 (Leading Indicator) となるKPI (Key Performance Indicator) が必要となります。
リクルートのKPI運用がよくわかる中尾隆一郎さん著「最高の結果を出すKPIマネジメント」では、以下のように説明しています。
- KGI (Key Goal Indicator) = ゴールを数値で表したもの
- CSF (Critical Success Factor) = ゴール到達に最も重要なプロセス
- KPI (Key Performance Indicator) = CSFを数値で表したもの
つまり、最上段のゴールである「組織の成果を最大化すること」の状態を示すKGIとしてeNPSを使います。その際、eNPSを直接見てアクションをとるのでなく、ゴール達成のための根本的な課題と対策をCSFとして定義します。そして、CSFの達成度となるKPIを見てアクションを繰り返していきます。
CSFとKPIの設定は個々の組織によって異なります。ゴールは「組織の強化」と「成果を出すプロセスの強化」に分解されます。どちらにより根本的な課題があるのかを見極め、CSFとKPIを設定します。People Managementの比重が大きいEngineering Managerは成果を出すプロセスを見落とす場合がありますし、プロダクト開発の比重が大きい役割の場合は組織状態を見落とす場合があるので注意が必要です。この見落としがないよう、組織と成果の2つの視点を持ってゴールに向けた課題を分解するのです。
まとめ
この記事では、「組織の成果を最大化すること」というマネージャーの役割を「組織の強化」と「成果を出すプロセスの強化」に分解しました。そして、プロダクト開発する会社のEngineering Managerの立場で、それぞれサイクルの形にした解説を加えました。2つのサイクルは自己強化ループとして繋がっているため、大局的に課題を特定してアクションをとる必要性もあります。その際に、KGIとKPI (CSF) の概念を知っていることも役に立ちます。
以上、Engineering Managerとして抽象度の高い課題に取り組む際などにお役に立てたら幸いです!