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

グローバルチーム開発での経験とその取り組み

チームのオンライン会議中の写真

こんにちは。この記事は freee Developers Advent Calendar 2023 - Adventar の11日目です。

池澤と申します。freeeには2015年11月に入社しました。社歴が長いため、これまでにコアエンジンチームや金融開発チームなど、さまざまなチームでの経験を積み、2022年7月からはグローバルチームでの開発に携わっています。

developers.freee.co.jp

記事を執筆した高野さんは現在私のマネージャーでもあります。

グローバルチームへの参加

2022年7月に「異動戦国」という社内異動制度を利用してグローバルチームに参加しました。私は同じチームや同じ仕事を続けることでコンフォートゾーンに入りやすくなるため、定期的に新しい環境でのチャレンジを求める傾向があります。当初は英語が苦手でした(お世辞抜きに一切喋れませんでした)が、良い機会だと思いグローバルチームでの開発に挑戦することを決意しました。

やってきたこととその変遷

具体的なプロジェクトとして、以下の3つに取り組みました。

データ化サービスプロジェクト / 2022年9月〜2023年2月

最初に参加したのは「プロジェクト管理チーム」でしたが、2ヶ月ぐらいで「freeeデータ化サービス」の立ち上げに携わることとなりました。初めてのグローバルチーム開発でしたが、言語が変わってもエンジニアリングの本質的な課題は変わらないと感じ、コミュニケーションにも齟齬は生じませんでした。サービスの開発には9月から関与し、12月にはβリリース、2月には正式リリースを果たしました。

corp.freee.co.jp

英語はあまり上達していませんでしたが、日常会話は何とかついて行けるようになりました。コードベースでの議論が多いので、自分の意志が的確に伝わるようにプルリクエストのディスクリプションを丁寧に書いたり、コードコメントを意図的に増やすようにしていました。日本固有のドメインを説明するのが非常に難しかったです。

技術負債解消に向けたリモデリングと実行 / 2023年3月〜2023年7月

「freeeデータ化サービス」の正式リリース後、「freee顧問先管理β」プロジェクトに参加。しかし、先に解決すべきデータモデルの問題があり、これに着手しました。5年以上前から存在する問題であり、内部的な課題が多く複雑でしたが、税理士向けサービス提供に欠かせないプロジェクトでした。3-4名のメンバーと他チームのサポートを得て、問題を解消しました。

プレイヤーからマネージャーへ / 2023年4月〜現在

現在は「freee顧問先管理β」に関わり、チーム名はudonです。前述した負債解消と同時に、こちらのチームの設立並びに新しいアプリケーションの開発に携わっていました。

両方のプロジェクトを同時に兼務していたことから、チームの立ち上げは中途半端な印象が残ってしまっています。

チームは私を含めて10数名で構成されており、2023年11月に開発したサービスがリリースされました。リリース時の様子は以下の画像で確認できます。

サービスリリースのときのSlackの画像

corp.freee.co.jp

チームをMatthew Rollinsと2人でマネジメントしており、今後のチームの方針について検討しています。 The PODのように裁量を持たせ、メンバーが自律的に仕事を進められる形を模索しています。チーム全体でこのアプローチに取り組んでおり、サービスリリース後もその方向性を追求しています。

The POD Model of Software Development - [x]cube LABS

英語のレベルは、プレイヤーをやってた頃からするとかなり上達しましたがそれでも自分の意志を柔軟且つ的確に伝えるのは難しいです。マネージメントを行う上では、言葉は非常に重要なのでメンバーやチームとの接点を極力増やし、コミュニケーションを丁寧にするようにしています。

グローバルチームに参加した感想

最後になりますが、約1年半ほどグローバルチームで働いた率直な感想を書いておきます。

グローバルチームでの難しさ

言わずもがなですが、言語はやはり一番難しいです。私自身「英語」という言語を学んだ期間は長いものの、この言語に対する文化的な背景に興味を持つ時間は少なかったです。

言語だけでなく、その言語に隣接する文化や慣習も同様に重要です。単なる単語や文法の学習だけではなく、言葉の使い方や表現に込められた文化的な背景も深く理解することが求められます。

例えば、相手に対して「should」を使う際には、その意図や状況に留意することが不可欠です。ある表現が一般的な文法ルールに則っていても、それが文化的に受け入れられる表現であるかどうかは別の観点から見ていく必要があります

総じて、相手の立場や文化への理解が重要です。言語が変わっても基本的なコミュニケーションに対するアプローチは変わらないはずですが、今まで以上に言語や文化に対して注意が必要です。

英語スキル向上と自信の向上

英語が得意ではないという懸念を表明すると、ある時に次のように励まされました。

"Because you can understand the meaning of this, right? It means you can communicate with us."

この言葉には励ましと共に、喜びも感じました。確かに、私の英語力はまだまだ向上の余地がありますが、業務をこなしながら英語の学習にも励んでいます。 マネージャーとしては積極的な発言やメンバーへのフィードバックが不可欠なため、発話量も増えています。

発話量が増えることで、以前よりも喋ることへのハードルが低くなり、徐々に自信をつけることができるようになりました。

「freee顧問先管理β」の開発について

現在所属しているチームのメンバー構成は以下の通りです。

  • 開発: 日本8割、フィリピン2割(その内、日本人は私だけです)
  • プロダクトデザイナー
  • QAエンジニア: 日本5割、フィリピン5割

開発側は私を含めて日本人が一人で、主なコミュニケーションは基本的に英語で行っています。

ドキュメントは基本的に全て英語で作成しています。 また各プロジェクトではDRI*1を決めて、裁量を持ってもらって進める形を取っています。

サービスのリリースが完了したため、以下のようなアプリケーションの運用ルールの整備も開始しています。

  • バグハンター制度(問い合わせ対応/トリアージと優先度の高い修正の対応、持ち回り制)
  • デプロイオーナー(日替わり)

チームメンバーは問題を感じた場合には即座にチャンネルで共有し、自律的に開発に取り組むようなチーム文化を重視しており、現段階では非常にスムーズに開発できています。

また、各メンバーは既にDesignDoc*2などの作成にも着手しています。

これからやっていきたいこと

  • 問い合わせ対応のプロセス整備(サポートが日本語でもチーム全員で対応できる状態にし、言語を理由に仕事を区別しない)
  • 障害対応の体制を整える
  • メンバー全員がオーナーシップを持つチームを構築

udonチームでは現在チームがどうあるべきかを模索中です。サービスリリースも終わり落ち着いたので、今はThe PODのようなチーム運営を試しています。目指すところは、チームとしてより高い生産性で且つメンバーが自律的にマジ価値を提供できるようになることです。

従来型の組織体制は、責任の所在が明確である一方、「責任者以外のメンバーが主体性を持ちにくい」という弱点がありました。つまり、自分が参画しているビジネスを「自分事」として捉えられないのです。それゆえにPDCAの質があがらず、小さな変化は見過ごされ、徐々にパフォーマンスが落ちていくという問題がありました。 一方、The PODsでは、メンバーの裁量が大きく自由度も高いために、ビジネスを「自分事」として捉える土壌が生まれます。自分事という意識の蓄積がPDCAの質を上げ、プロジェクト(事業)を成功に近づける原動力となるのです。また、たとえビジネスが失敗(撤退)した場合でも、そこから得られる経験は「自分事」であるがゆえに内容が濃く、メンバーの成長やノウハウの形成を促します。

バーチャル経営実践編~バーチャルチームの原型「The PODs」モデルとは | バーチャル経営ブログ|ベンチャーネット

freeeの強いカルチャーとグローバルチームの組み合わせでシナジーを作りつつ、今後も良いプロダクトを最速で提供できるように頑張っていきます! 明日は、せんとくんこと辻さんの「freeer の人たちのキャリアに触れて学びにつなげる、eng 波乱万丈委員会」です。お楽しみに!

*1:直接責任者のこと、全てのプロジェクトにDRIを割り当てて成否の責任を負う

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