組織のサイロ化を前提としたチーム構成、育成の仕組みとは?はてなとChatworkのエンジニアマネージャーがリモートワーク下のマネジメントを語る
近年、メガベンチャーの増加やスタートアップの大規模調達などによって、エンジニア組織の規模も増大、組織も複雑化するなか、エンジニアマネージャーやテックリードなどの重要性がますます高まっています。
2022年3月24日に開催した『onkさんとだいくしーさんに聞くエンジニア組織づくり最前線vol.5』では、株式会社はてなの大仲能史さん、Chatwork株式会社の粕谷大輔さんをお招きし、マネージャーとしてのミッションやリモートワークにおける「サイロ化」との向き合い方、マネジメントの面白さと難しさ、プレイヤーとの両立など多岐にわたるトピックを語っていただきました。 モデレーターはファインディの取締役CTO佐藤が務めます。
パネリスト
大仲 能史さん/ @onk
株式会社はてな チーフエンジニア 2018年4月 中途入社(3社目)。アプリケーションエンジニアとしてマンガビューワ「GigaViewer」や、Web小説サイト「カクヨム」「魔法のiらんど」の開発を担当。2019年4月よりチーフエンジニアとして技術組織全体のマネジメントにも携わる。
粕谷大輔さん/ @daiksy
Chatwork株式会社 エンジニアリングマネージャー 2001年に大学卒業後、SI、ソーシャルゲーム開発を経て、SaaSサービスの開発エンジニアやディレクターを経験。2021年よりChatwork株式会社にてScrum@Scaleをベースにした開発組織づくりに携わっている。共著に『Mackerelサーバ監視[実践]入門』(技術評論社)。アドバンスド認定スクラムマスター/認定スクラムプロダクトオーナー。
事業を加速させる成熟した技術組織へ、二社のマネジメントが担う役割
冒頭では、はてなとChatworkそれぞれのエンジニア組織の構成、お二人が今の役割を担うまでの経緯を紹介していただきました。
onkさんの所属するはてなでは、プロダクトごとのチームと、それらのチームに横串で関わるチームからなるマトリクス組織の形態を採っているそうです。onkさんは横串のエンジニアチームにてシニアエンジニアを務めています。
マネジメントに携わるきっかけについて、onkさんは「元々知らない情報のある状態が気に入らない性格」であり、社内で行動や提言を続けるうちに「シニアエンジニア」や「チーフエンジニア」などの役職を任されるようになったと振り返ります。
onkさん:「元々、会社のSlackのチャンネルはほとんど入っていて、知らない情報があったらどんどん掘っていく性格です。各メンバーがどういう目標を持っているか、何を考えているのかを日常的にウォッチし、意思決定の上流を遡るなどしていました。そのうち、リソース調整の会議に参加するようになり、目標設定や評価にも関わるようになった流れです」
だいくしーさんの所属するChatworkでは、バックエンドやフロントエンドなどの職種、料金プランを専門に扱うチームなどの機能でチームを分け、開発を行っています。並行して、現在はアーキテクチャや組織構造の刷新も進行中。だいくしーさんはこの刷新プロジェクトにエンジニアリングマネージャーとして携わっています。
だいくしーさんは、当初からマネジメントに関心があったわけではなく「コードを書き続けられないなら転職する」と考えていた時期もあったそうです。
だいくしーさん:「元々はコードを書き続けたいと思っていたのですが、周りからリーダー的な役割を勧めていただくことが多くて。『周りが言うなら』とトライしてみると、チームにレバレッジをかけて、一人では達成できない成果を出すのが楽しくなってきたんです。
加えて、今後のキャリアを考えると、一つのチームやプロダクトではなく、複数のチームやプロダクト、ひいては会社全体を俯瞰して動く経験やスキルがあったほうが、事業や組織に対して出せる影響力も広がるだろうと考えるようになりました」
それぞれの立場で達成したいミッションをたずねると、共通していたのは「開発」と「事業」をつなぎ、ビジネスや顧客への価値を生み出していくことでした。
onkさん:「開発が事業のボトルネックにならない状態を作りたいと思っています。大きな目標としてはスループットの向上ですね。デリバリーとディスカバリーの両輪を回していますが、特に前者の回転数を上げていきたいです」
だいくしーさんも、技術や組織の刷新と、顧客への価値提供を両立しようと試みています。
だいくしーさん:「ChatWorkは、開発から10年以上経ち、アクティブユーザーも多い。アーキテクチャの刷新には、一定の期間が必要になります。
ですが、ただチマチマと作り続けるだけではなく、部分的には、お客様に価値が届くところまで作り切って提供したい。そのうえで次のフェーズに進む、という流れを進められるよう、試行錯誤しています」
サイロ化を防ぐのではなく、サイロ化しても回る仕組みを作る
イベント中盤では、リモートワーク化でのマネジメントが話題に上がりました。意識していることについて、だいくしーさんは「サイロ化しても回る仕組みを作ること」について語ります。
だいくしーさん:「リモートだと、オフィスで他の人の声が聞こえることがないので、どうしても組織がサイロ化しやすい。それはやむを得ない部分ですし、一定は受け入れるようにしています。
それに、サイロ化しても機能単位で組織がきちんと分けられていれば、うまく回ることもある。逆に、バックエンドとフロントエンドでサイロ化してしまうと、本来は2チームが協働したほうがお客様に価値を届けられるのに、チーム単位で完結する作業を選んでしまったりする。
サイロ化を避けるのではなく、サイロ化を前提に、構造やコミュニケーションをいかに綺麗に作るかが大事なのだと思います」
サイロ化しても成り立つよう組織やチームを設計するという点に加え、だいくしーさんは「サイロ化したチームがバラバラに動かないよう、会社のビジョンやミッションを共有する」重要性も指摘しました。実際にChatworkでは、月に一度ほどYouTube番組を通して社長や経営陣のメッセージを伝えているそうです。
はてなのonkさんも、サイロ化を不可避と捉え「分割統治」を意識してきたそうです。
onkさん:「今まで70人ぐらいの技術組織のなかには『全員仲間じゃん』という雰囲気が一定共有されていました。ですが、リモートワークになって各メンバーの認識できる範囲が狭まった結果、その雰囲気を共有するのは難しくなっています。
だいくしーさんも言う通り、その現象自体はどうしようもない部分がある。ですので、今は分割統治を進めています。各開発グループごとにエンジニアリングマネージャーを置き、15人~30人ぐらいで同期してもらう。各リーダーが横のつながりを持って、方向性をぶれないようにする形です。
加えて、お互いの状況を共有する場や仕組みを意識的に増やしています。詳しい内容は『YAPC::Japan::Online 2022』のスライドで紹介しているので、興味のある方はよかったら見てみてください」
イベントでは参加者からの質問も多く挙がりました。サイロ化を前提に分割された組織で「ジュニアメンバーの育成をどのように進めているのか」という質問に、だいくしーさんは『組織パターン チームの成長によりアジャイルソフトウェア開発の変革を促す』の『託児所パターン』を参考にしたと紹介しました。
だいくしーさん:「『託児所パターン』ではチームを進捗組と育成組に分けます。前者は、難易度の高い仕事を進める。後者は、進捗組が進めた仕事の最後の作り込み部分などを、ベテランメンバーがジュニアメンバーに付きっきりで取り組みます。育成組では、リモートでのペアプログラミングや細かいレビューを入れて、ジュニアメンバーを育てていきます」
onkさんも「育成するメンバーがいるチームには『アウトプットが少し落ちてもいいから、チームで成果を出すことに気を払ってほしい』と声をかけることがよくある」そうです。
人材配置と育成の面白さ、組織に適切なパッチを当てる難しさ
イベント後半ではお二人の考えるマネジメントの面白さや悩みも共有していただきました。
onkさんは、メンバーの配置をパズル的に捉え、解く面白さと難しさを語ります。
onkさん:「育成を考える際は、それぞれのメンバーについて『このグレードのエンジニアとして活躍する』をObjectiveとして考えたときに、Key Resultが何になるか、計測可能な数値に落とし込めるかなどを整理していきます。
配置をエンジニアリング的に考えると、最終責任時点をどれだけ後ろに持っていけるかによって、柔軟性が変わる。例えば、障害対応時には何方面かに人を配置しなければいけない。その際に『このジャンルがわかるのは、この人しかいないから配置できない』といった状況が起きるのは避けたいわけです。
ですから、なるべく柔軟に対応できるように、メンバーのスキルマップを描く。なるべく広い選択肢を採れるよう、組織も人もコードベースも設計する。それは難しさであり、パズル的な面白さでもありますね」
だいくしーさんからは、マネジメントの難しさとして「仕事の成果がすぐに見えない」点も指摘。現職にマネージメント職として転職した際は「こまめに1on1などのコミュニケーションを重ね、期待値を揃えること」を意識されたそうです。
また、onkさんの回答を受け、だいくしーさんは「組織に対して適切にパッチを当てていく」ことに難しさを感じると語ります。
だいくしーさん:「マネジメントをしていると『組織にパッチを当てているみたいだな』と感じることがあります。エンジニアリングと同じで、そのビッグバンマージは駄目だよねとか、ダブルライトしながらの移行期間を設けるとか。運用しながら適切にパッチを当てていく必要がある。
さらにパッチを当てられる量は筋肉のようなもの。普段から組織の変化量が多いと、大きな変化でも受け入れやすくなります。その変化に耐えうるバジェットをどれぐらい大きくしていけるのか、現状のバジェットを使いきっていないかなど、合わせて検討していくのは、なかなか難しいなと感じます」
マネジメントの面白さや難しさを語った二人に、参加者からは「マネージャーと同時にプレイヤーでもあり続けるコツは?」という質問も挙がりました。
onkさん:「結構ハードワークをしないと無理では?」が一番最初に考えたことなんですけど(笑)それ以外だと、自分のおもちゃを持っておくこと。何かしらいじり続けられる盆栽のようなサービスを持っているといいと思います。
アプリケーションのインフラをAWS CDKで管理したり、GraphQL導入してみたり。アーキテクチャをどんどん変えて遊んで、その遊びを業務にも生かす。
はてなには『はてラボ』という仕組みがあって、誰でもラボサービスを作れるんです。そこで私は「Hatena::Let」というブックマークレットを共有するサービスのメンテナーとなり、インフラを変えたりして遊んでいます」
だいくしーさんは「一つの期間ではどちらかに振り切る」ようにしているそう。
だいくしーさん:「僕個人としては、プレイヤーと両立するのは諦めています。ただ、ずっとマネージャーをやり続けると、現場感覚が損なわれ、現場と距離が離れるという問題もある。なので、個人的には時期を決めて行ったり来たりするのもいいのではと思っています。
日本の会社だと、管理職やマネージャーになるのは『昇格』で、プレイヤーに戻るのは『降格』みたいなイメージは根強いと思いますが、最近はいずれも単なる役割で上下はないという考え方が、広まりつつあると感じます。
Chatworkでも、副本部長だった人が現場に戻って仕事をするといった配置転換の事例も実際にあります。降格ではなく、別に給料も変わりません。そうやって行き来する人が増えると、個人としても現場感を持った管理職や、管理職の目線を持ったプレーヤーとして活躍できるし、組織も良くなっていく感覚があります」
技術や組織の刷新と価値創出の両立、サイロ化を前提とした組織づくりや育成の仕組み、自分なりの遊びを持つことやマネージャーとプレイヤーの行き来をする意義など、多岐にわたるトピックが語られたイベント。一定規模の組織でエンジニアリングマネージャーとして働く面白さが伝わるとともに、最後にだいくしーさんは「マネージャーは孤独な仕事。マネージャー同士のコミュニティなども作っていけたらと思います」と語ってくださいました。
Findyは「挑戦するエンジニアのプラットフォームをつくる。」というビジョンのもと、引き続きエンジニアの組織づくりにまつわるイベントを定期的に開催しています。ぜひイベント情報をチェックしてみてください! https://findy.connpass.com/