freeeの開発情報ポータルサイト

freeeでグローバルチーム開発にチャレンジしている話

こんにちは。freeeでエンジニアリングマネージャーをしている高野です。 freeeには2016年末にモバイルエンジニアとして入社し、直近3年ほどはモバイルチームのマネジメントを主に行ってきました。 今回は、2022年から兼務という形で新たに取り組み始めた、freeeにおけるグローバル開発チームの立ち上げについて紹介したいと思います。

グローバル開発チームの背景

深刻なエンジニア不足

私自身も自チームの中途エンジニア採用や新卒エンジニア採用に関わっていてひしひしと感じていますが、近年優秀なエンジニアの獲得は企業間の競争が激しく、本当に難しくなっていますし、その状況はまだ加速を続けています。
特に少しでもソフトウェアエンジニアの採用活動に関わったことがある方には切実に共感いただけるのではと思います。

それに対しfreeeがやっていること

そんな中、freeeでは地方開発拠点の設立や、ポテンシャルの高い非情報系・開発未経験の新卒採用など、日本国内でのエンジニア採用にも様々な角度から創意工夫し取り組んでいますが、 freeeの急速な事業成長を実現する開発力を更に獲得していくため、2021年からは海外にエンジニア組織を広げることに挑戦し始めています。 その第一歩がLikha-iT(フィリピンの開発会社)のfreeeグループへのジョインです。
https://corp.freee.co.jp/news/likha-it.html

freeeのグローバル開発で目指しているのは、所謂開発の外注的なオフショア開発を増やすことではなく、複数ある開発拠点と同等の海外開発拠点を作っていくことです。

グローバル開発チームでやっていること

実は既にfreee社内の4プロジェクトほどがグローバル化にチャレンジしています。
freee会計といった巨大プロダクトの一部の開発をしていたり、別の新規サービスを開発していたりですが、 私のいるチームでは、これまで関西支社(社内ではたこやきチームと呼ばれています)で開発してきたfreeeプロジェクト管理を受け継いで開発しています(関西支社のメンバーもまた別のプロジェクトにチャレンジしています)。
freeeがグローバル開発で目指しているのは、いわゆる開発外注的なオフショア開発による開発力の向上ではなく、あくまでfreeeが日本国内で作ってきた開発チームと同列のグローバル開発チームを構築していく事です。

ちなみにチーム名はKwek Kwek(クエクエ)です。Kwek Kwekは見た目がたこやきに少し似たフィリピンのストリートフードです。うずらの卵を揚げたものなので、実際は串カツの方が近いかもしれませんw

Likhaのメンバーが撮影してくれたkwek kwekの写真 kwek kwekの写真その2
kwek kwekの画像2 kwek kwekの画像

freeeは開発チームにオリジナルの名前をよく付けるのですが、フィリピン拠点そのものはhalohalo、別のグローバル開発チームはlapulapuと呼んでいたりします。

その中で、私のチームでは、freeeプロジェクト管理を更に成長させていくことはもちろん、言語や文化の壁を超えて、freeeの開発文化を体現するグローバルチームを目指し、freeeのグローバル化の足がかりとなることをミッションとしています。

コミュニケーションは英語

グローバル開発チームではコミュニケーションは基本的に英語で行っています。
しかしfreeeのプロダクトの性質上日本固有の専門用語が多いこともあり、現状はそれらが頻発する議論や抽象的な議論では日本人同士で日本語で会話している状態です。
日本メンバーにとってはどうしても、短期的には日本語で話してしまう方が早いし楽ですが、それでは本当のグローバル化は難しいですし、海外のメンバーからしても担当するプロダクト開発を自分ごととして捉えにくくなってくると思うので、本当に難しい場合以外は、仮に日本人同士のコミュニケーションであっても英語で行うようにしています。

一応、DeepLを使った翻訳のためのSlack botが居て、Slackのメッセージを機械翻訳にかける事もできるようになっています。

翻訳botの様子

ちなみに私は留学経験などはなく英語は絶賛頑張っている勢ですが、ありがたいことに会社から学習費用の補助が出るなどサポートは受けられます。
私個人としてはモバイルエンジニアとしてWWDCなどアメリカで開催されるカンファレンスへの参加経験から、セッションの内容をもっと理解できるようになりたい、現地に来ているさまざまな国のエンジニアとコミュニケーションをもっと取りたい、という想いからここ数年地道に英語学習はしており、 いつか仕事でも使いたいなと思っていたので、そういう意味でも個人的にとてもいい機会です。

プロジェクト管理の開発について

現状開発チームのメンバーは

  • 開発は私とフィリピンのエンジニア3名
  • 日本のプロダクトデザイナーが1名
  • QAエンジニアが日本4人・フィリピン1名
  • 日本のPdM・Bizメンバー

という形で構成されています。

実際にチームとして合流するまでは、実際の開発がどの程度成立するかもコミュニケーションが上手く取れるかも不確実性しかないような状態だったので、開発もコミュニケーションもまずはスモールスタートで徐々に規模を広げていくアプローチで進めました。

  • 兎にも角にもまずはEC2上に開発環境構築
  • コードリーディングと並行して小さめのバグフィックス
  • 小さめの機能改修をいくつかやってみる
  • 徐々に開発規模を上げ、DesignDoc*1を使い設計を行うところからやってみる

というような進め方をしてきました。日々の定期デプロイも日替わりで交代しつつ今のチームで回しています。

やってみての印象

私のチームのメンバーは上手く意図を汲み取ってくれて、DesignDocにそのプロジェクトの背景やゴールを自分の言葉で書いてくれており、 開発アウトプットも順調で心強いチームの仲間というイメージが持ててきています。 リーダーシップを持ったメンバーもおり、マネージャーとして助けられる場面もありました。

一方、技術だけではなく日本固有の要素が多分にあるプロダクトの成長そのものにチームとしてコミットしていけるのか等、まだまだ未知な部分もありますし、 英語化されていない他のチームとの連携や、お客様からの問い合わせ対応など開発者としてやっていく必要がある部分では言語の壁があると感じます。
また、これまでfreee社内のドキュメント等は全て日本語でやってきていたので、メンバーへの様々なオンボーディングや情報インプットでまず英語ドキュメントを用意する必要がある点はなかなか大変に感じています。

なお、フィリピンは日本との時差が1時間しかないので、時差による苦労は今のところ全くありません。

やってよかったこと・気をつけていること
  • 開発関連に限らず様々な情報をドキュメントに起こし、ポータルページに集約していくということを徹底しています
    • 人が増えた時に有用ですし、メンバーも大量の情報を一度にインプットするのは難しいので、見返せる状態のドキュメントがあると良いですね
    • これはグローバルチームに限らず、日本だけで開発する場合でもやったほうがいい事ですが、現状英語でのコミュニケーションコストは高いので尚更恩恵があるかなと思います
  • そのドキュメント類に関しても、なるべく具体的に書くということを意識しています
    • 例えばデイリーデプロイは、差分コミットがある程度ある時だけにしましょう、という時、これまではよしなに受け取ってもらえる期待から”ある程度”と、そのままドキュメントに書いてしまうことがありました
    • しかし国や開発文化が違えば細かいところの常識が異なることは多いので、”差分コミットが5つ以上あったらデプロイする”というように具体的な数字を書くようにしています
これからやっていきたいこと

具体的には以下のことをやっていき、1開発チームとして回っている状態に近づけていくつもりです

  • コードレビューをグローバルチームで回す
  • 障害対応の体制作り
  • 安定的な開発プロセスを整備
    • スクラム開発への移行

また、このご時世なのでなかなか出張でお互いのオフィスに行くということができない現状ですが、落ち着き次第フィリピンに行く・日本に来てもらうなどして顔を合わせて仕事したり食事したりしたいですね。

コミュニケーション

コミュニケーションについても最初はキックオフや朝会などスモールスタートで始めましたが、現状は

  • デイリー朝会での状況確認(昨日やったこと・今日やること・困っていることといった一般的なフォーマット)
  • 隔週での振り返り(KPT)と成果物のデモを含むレビュー
  • 実装の相談などで必要な時に適宜Google Meetで会話
  • 毎週〜隔週での1 on 1

という形で徐々に型が出来てきています。

キックオフミーティングの様子
キックオフミーティングの様子

やってよかったこと・気をつけていること
  • 日本のプロダクトデザイナー/QAのメンバーも毎日朝会に来て英語でのコミュニケーションも積極的にとってくれる事で、徐々にチームの心理的安全性が上がってきたと感じています
    • やっぱり日本のアニメやゲームの話題は強くて、ポケモンの話でよく盛り上がります
    • ある日の朝会で、プロダクトデザイナーがユーザーインタービューの結果をチームにシェアしてくれた際、海外のメンバーもユーザーがプロダクトをどう使うのか・どういう課題を感じているのかに興味を持って聞いてくれていました
  • "あえて、共有する"というfreeeの文化があり、朝会で趣味や週末何した、みたいな話から、家族やキャリアの話までなんでも持ち回りで話すというのをやっています
    • 徐々にミーティングでの雑談やジョークが増え、メンバーの興味や人となりも分かってきて、自分の中にもチームとしての愛着が湧いてきました
    • 余談ですが、freeeのエンジニアが全体で100人位の頃までは、毎日全員で大きいホワイトボードの前に集まって朝会をやっていて、メガホン使ってあえ共していたんですよね。懐かしい
  • 1 on 1
    • 日本人同士の時同様、1 on 1ではメンバーとじっくり深い会話ができ、メンバーの理解や関係構築にとても有用だと感じています
    • 将来はチームリーダーになりたい、とか起業したい、といったキャリアの話だったり、フィリピンでエンジニアに人気の会社や向こうの考え方を聞いたりと、私自身の学びになることも多く、そういった点も異なる文化圏の人と一緒に働く醍醐味だなあと感じています

グローバル開発のこれから

freeeはハイコンテキストで強いカルチャーを他の国においてもユニークな存在としての強みにしていけると良いなあということと、異なる文化圏と融合することでfreee自体のカルチャーもまた変化していくきっかけにできたら面白そうだなと思っています。

現状日本以外の開発拠点はフィリピン拠点のみですが、意識的に成功パターンやアンチパターンの知見を溜め、再現性を持ってfreeeのグローバル開発を進化・拡大させて行きたいです。 海外拠点に限らず、日本国内の非日本語話者の方や、日本で英語を使った仕事にチャレンジしたい方の採用も始めますので、ぜひカジュアル面談からでもよろしくお願いします!

人材募集(求人一覧)

*1:Googleなどでも使われている設計仕様書の一種