- 株式会社マクアケ
- エンジニアリングマネージャー
- 秋山 譲
一人ひとりが自律的に専門性を磨き続けられる。マクアケ開発組織のワーキンググループ活動
開発組織において、エンジニアの興味関心を起点として各自の専門性を高めていくことは、意外に簡単ではない。日々のプロダクト開発に追われる中では、どうしてもこれまでの経験を踏まえた活動が主務となり、新しい機会を得るチャンスもそう多くはないためだ。
そんな中、アタラシイものや体験の応援購入サービス「Makuake」を展開する株式会社マクアケでは、開発組織に取り入れた「ワーキンググループ活動」によって、開発スピードを維持したまま各自の専門性を磨くことに成功している。
具体的な制度内容は、隔週の火曜日にそれぞれのメンバーが希望した専門領域の活動に参加できるというもの。直近では、スマートフォンアプリのFlutter化を目指す「App」や、機械学習の可能性を研究する「ML」、サービス間の通信を解析する「Tracing」など、その時々の事業課題に応じたグループが自発的に組成され、半年間を目処にその解決に取り組んでいるそうだ。
活動への参加は任意ではあるものの、新しく入社したメンバーを含めて大半がいずれかのグループに所属。2週間に一度、いつもとは視点を変えてより専門性の高い技術に触れることで、キャリアの不安や技術的欲求の解消、さらにはリーダーシップを磨く機会にもつながっているのだという。
今回は、同社でエンジニアリングマネージャーを務め、組織づくりをリードする秋山 譲さんに、ワーキンググループ活動をはじめとするマクアケの開発組織づくりとその変遷について、詳しくお話を伺った。
マクアケのビジョンの実現を、一人ひとりが目指している組織
私は、キャリアとしてはもう18年ほどエンジニアをしていますが、最近ではマネジメントに全振りする形で、チームビルディングや組織運営周りを得意領域としています。
新卒ではSIerに入社し、古(いにしえ)のフレームワークで基幹系システムの開発をしていたのですが、東日本大震災がきっかけとなり、ポイントを扱う事業会社に転職しました。その会社ではリードエンジニアを任され、新規サービス開発やポイントを扱う基幹部分の開発をしていました。
その後、転職したメガベンチャーでは、複数の開発チームをマネジメントするなどの経験を積みました。ここでスクラムの導入などを主導していくうちに、自然と開発チームの意思決定やエンジニア採用など、マネジメントにキャリアをシフトしていくことになりました。
▼エンジニアリングマネージャー 秋山 譲さん
その後、スタートアップや人材系の大手企業での開発マネジメント経験を経て、マクアケに入社したのが2020年4月です。スタートアップ時代に知り合ったCTOの生内から誘いを受け、エンジニアリングマネージャーとしての専門性や経験をマクアケで活かしてほしいということで、人事や組織運営周りの意思決定を担う役割として入社しました。
実際に入社後から、開発組織全体に関わる運営をミッションの軸としています。具体的には、開発組織の方向性を決めたり、目標設定をリードしたりといった、組織全体に関わることを担っています。
マクアケという会社は、開発組織の行動指針の最初にも掲げている、「Makuakeという事業を愛し、研究し、より優れた成果を追い求める」という考え方がとても浸透している組織だと個人的には感じています。
▼開発本部紹介資料より抜粋
開発組織に限らず、全社的に、「Makuake」というプロダクトや、そのビジョンが好きで入社した人が多いと思います。
その上で、エンジニアであればその専門性を活かした開発を通じて、キュレーターであればプロジェクト実行者のサポート、CS部門であればサポーター(プロジェクトを応援購入するユーザー)との対話を通じて、そのビジョンを実現することに思い入れを持っていることが特徴かなと思います。
将来に向けた開発基盤の整理を機に、組織の主体性が向上
現在のマクアケの開発組織は、業務委託の方を含めると全体で70名を超えるほどの規模になっています。私が入社した3年前は20名ほどだったので、3倍以上になりました。
具体的な組織図でみると、まず「MAX(Makuake eXperience)チーム」と呼ばれる、「Makuake」全体の開発をしているセクションが最も大きいチームです。ここは「Makuake」の体験に関わる開発をすべて担う組織ということもあり、技術的にはフルスタックのエンジニアが中心になっています。
続いて、より専門性が必要とされる開発を担う「Payment」「SRE」などのチームが複数あり、さらに、いわゆる情シス的な役割を担う「IT戦略」と、私が所属している組織開発や人事、マネジメントを担う「HR/OKR」があります。人数的には、HR/OKRが最も少ないです。
▼開発本部紹介資料より抜粋
私が入社した当時は、ちょうど新型コロナウイルスによる緊急事態宣言が発令された時期だったこともあり、最初はリモートで働いている各メンバーのパーソナリティの理解から始めましたが、それもすごく時間がかかった思い出があります。
当時は上場直後で開発組織が過渡期を迎えていて、マネジメントをあらためて整備していかなければいけないフェーズでした。2020年の夏頃には、当時「Makuake」事業へ向き合った開発を一手に担っていたチームのメンバーがモチベーションを失って離脱しかけるなど、チームが崩壊しそうになってしまったこともありました。
ベンチャー気質のまま「この機能がほしい、あの機能がほしい」といった要望に対する対応を繰り返してきた結果としてシステムの複雑性は上がり過ぎていましたし、背景の説明やメンバーの特性との接続が不十分なままがむしゃらに開発を進めてきたことで、チームが疲弊していたんです。
システムのことを一番よくわかっているのはチームですし、そのチームの中には、今ある技術的負債をちゃんと解決して、将来に向けた基盤の整理をやりたいというニーズが強くありました。それによって、先ほどご紹介したPaymentなど専門性を持ったチームが少人数ながら立ち上がり、サービスの安定成長のための役割分担をしていったという経緯があります。
現在の開発組織の特徴としては、以前は開発行程が込み入ってきた時に多少見られた余裕がなくギスギスした雰囲気もすっかりなくなり、みんなで協力していく雰囲気が醸成されていると思います。
私が特徴的だと思うのは、システム障害対応です。これまで6社で開発を経験しましたが、これだけシステム障害対応にみんなが主体的に取り組むチームは珍しいです。システム障害が起こると、Slackチャンネルにみんなが自然と集まってきて、それぞれの知識や情報、専門性を活かそうと自発的に取り組んでくれます。
みんな、サービスや技術に強く意識が向いていて、今サービスの運営に支障をきたしている事象をすぐに解決したい、という気持ちを強く持っていると感じます。
主業務以外の専門性を磨くことができる「ワーキンググループ活動」
マクアケの開発組織の特徴のひとつに、ワーキンググループ活動があります。これは、隔週の火曜日を活動日として、メンバーが主業務とは別の自分が希望した専門領域の活動に取り組めるというものです。
▼開発本部紹介資料より抜粋
そもそもの始まりは2020年の秋頃なのですが、当時、フロントエンドとバックエンドにそれぞれ大きな課題を抱えていました。
まずフロントエンドでは、コードやデザインの共通化がされておらず、それらのコンポーネント化をしたいという状況。そしてバックエンドでは、トラフィックや負荷に応じてサーバーの稼働が自動で調整されるようになっていなかったので、その昔ながらの構成を一新してコンテナ化したいというニーズがありました。
こうした技術的負債の解消をミッションとして立ち上がったのが、「フロントエンドグループ」と「バックエンドグループ」で、これがワーキンググループ活動の始まりとなりました。そしてその流れで、「Security」や「App」、「QA」といったチームが立ち上がり、それぞれがプロジェクト的に活動するようになりました。
当初はワーキンググループという名称もなく、稼働もバラバラだったりしましたが、自発的にチームが増えていったこともあり、2021年の初頭頃から組織全体の制度として運用し始めています。
特に直近で盛り上がっている活動としては、Appチームが取り組んでいるスマホアプリをFlutter化する取り組みがあります。みんな、Flutterを1回は触ってみたいという技術的な欲求があるので、多くのメンバーが集まっていますし、今期中に移行をやりきろうということでがんばっています。また、ML(機械学習)チームの活動も活発です。
メンバーからもこの制度は非常に好評で、例えば最近入社してくれたバックエンドエンジニアの方は、「Appチームにも参加することで、2週間に一度は視点を変えられること、そしてキャリアの不安解消にもつながることがありがたい」と言ってくれました。また、「副業を通じて、自分の主業務外の技術に触れるのも良いですが、社外に求めなくても会社の中でできるのが良い」という言葉もいただいています。
事業会社にいると、長く同じ技術に触れることが多く、技術的欲求への不満がたまりがちだと思っています。このワーキンググループの活動を通じて、それを解消できることが自慢できるポイントかなと感じています。
さらに、主業務のチームではリーダーをやっていない人がイニシアチブをとって開発を進めていくことも多いので、リーダーシップの経験値を得られる取り組みでもあります。
開発合宿をトリガーに、自律的にグループの組成や解散を判断する
現状、ワーキンググループ活動には、社員のほとんどが参加しています。基本的には複数のチームに所属している人はおらず、どれかひとつを選んで活動しています。
新しく入社した方に対しても、面接やオンボーディングを通じて活動を紹介しているので、入社すると自然に参加いただくような流れができています。参加は必須ではないのですが、幅広く活動していることもあり、どこかしらには興味を持ってもらえています。
各グループの組成と解散については、半期(春・秋)に一度実施している「開発合宿」がトリガーになることが多いです。開発合宿は、普段取り組んでいるプロジェクトの開発を止めて、ワーキンググループだったり、それ以外の特定のテーマに集中して取り組む期間で、準備期間を含めると毎回3週間ほどの時間を使って実施しています。
ワーキンググループについては、特定の課題はなるべく半期で解決したいと考えていることもあり、どこかの開発合宿で立ち上がって、次の開発合宿でゴールを迎える…というような形を理想としています。そのタイミングで、やりきったかやりきっていないか、何かを成し遂げたか、といった点をチームで判断して、解散するかどうかを決める形です。
このように、ワーキンググループには「チーム自治主義」といった、開発組織が大事にしているカルチャーが色濃く出ています。
▼開発本部紹介資料より抜粋
各チームで具体的に取り組むことを決める時にも、「Makuake」というプロダクトへの貢献の側面を考えた上で、技術とプロダクトをつなぐように主体的にしっかり考えられています。専門性とプロダクトの成長がしっかりクロスする、バランスが良い取り組みができていると思います。
これからのチャレンジは権限移譲と、「血」をより濃くすること
今後のチャレンジとしては、開発本部の拡大にともなってチームの細分化が進んできている中で、権限移譲をどう進めていくかだと思っています。
現状は、組織内に「CTO Office」という各領域の技術責任者が連携するためのチームがあるのですが、そこだけが全権限を掌握しているわけではありません。人事・組織系のチームが新しく立ち上がっていたり、PdMを中心にプロダクトの方向性を決めていくようになっていたりと、トップダウンではなくボトムアップの変革が急加速しています。
これまで、CTOの生内が中心となって進めてきた部分を、徐々にみんなで決めていくようになっているので、ここでいかに意思決定のスピードを落とさずにより良いプロダクトを作っていけるかは、大きなチャレンジになります。
また、急激に人が増えたこともあり、これからは組織の「血」をより濃くしていきたいと考えています。例えば、ビジョンや行動指針をより浸透させていく、といったことです。
開発組織だけではなく全社的にも同じような流れがあるのですが、これまでほぼリモート中心だった働き方についても、ハイブリッド型の出社に切り替えて相互理解を深めていこうとしています。今後もより良い組織を作っていけるように、引き続きがんばっていきたいです。(了)