海をまたぐ開発チームとTech Lead

海をまたぐ開発チームとTech Lead

Mercariでは今年からプラットフォームごとに技術ロードマップを策定し、Tech Leadが技術的な観点からもプロダクトへ貢献できるようにリードしています。特にMercari USを開発するチームはPalo Alto、東京の2拠点があります。そのようなチームにおいてTech Leadとして取り組んだことについて話しました。

860bf040d996601213e05747dd661c23?s=128

Tomoaki Imai

October 04, 2018
Tweet

Transcript

  1. 海をまたぐ開発チームと Tech Lead Mercari US Tech Lead Tomoaki Imai

  2. • メルカリにおけるTech Leadの役割 • 海をまたぐ開発チームでTech Leadが取り組んだこと 今日話すこと

  3. US Mercari Android 2017 → 2018

  4. US Android Project プロジェクト爆誕 Mercari Plus リリース Mercari と統合 リブランディング

  5. US Android Project プロジェクト爆誕 Mercari Plus リリース Mercari と統合 リブランディング

  6. US Android Project プロジェクト爆誕 Mercari Plus リリース Mercari と統合 リブランディング

  7. US Android Project プロジェクト爆誕 Mercari Plus リリース Mercari と統合 リブランディング

  8. US Android Project プロジェクト爆誕 Mercari Plus リリース Mercari と統合 リブランディング

    • リニューアル後リリース回数: 42回(ベータ版リリース等も含 めると200回) • コード(Java, Kotlin): 100,215行 • スクリーン数 ◦ Native : 約60 ReactNative : 約40 • クライアントABテスト: 約40 (2018.10月現在) Fun facts
  9. US Mercari Android Team 2017 → 2018

  10. US Mercari Android Team

  11. US Mercari Android Team Joined! (2018.2 ~) Joined! (2018.1 ~)

  12. US Mercari Android Team Joined! (2018.2 ~) Joined! (2018.1 ~)

    Moving to SF -> Palo Alto
  13. US Mercari Android Team Tech Lead (2018.1 ~) Tech Lead

    (2018.7 ~) Joined! (2018.2 ~) Joined! (2018.1 ~) Moving to SF -> Palo Alto
  14. なぜ Tech Leadが必要なのか?

  15. 2017/1 • 2名体制 • USメンバー のみ 2018/1 • 5 名体制

    • コア基盤はUS側 で管理 20XX • 100~ 名体制 • 各国でオーナーシップを 持ち、爆速開発 • 大規模でも高品質な プロダクトを提供 US Mercari Android Teamの開発体制
  16. 2017/1 • 2名体制 • USメンバー のみ 2018/1 • 5 名体制

    • コア基盤はUS側 で管理 20XX • 100~ 名体制 • 各国でオーナーシップを 持ち、爆速開発 • 大規模でも高品質な プロダクトを提供 コード品質とスピードをどう保 つ? どうオーナーシップをメンバー が持てるようにする? US Mercari Android Teamの開発体制
  17. メンバーがオーナーシップをもち、スケールに強い、 しなやかなチームを作るために 技術的な観点からチームを牽引するのが Tech Lead

  18. Tech Lead として取り組んだこと • 技術的ロードマップを作る • 技術的ロードマップをリードする

  19. Tech Lead として取り組んだこと • 技術的ロードマップを作る • 技術的ロードマップをリードする

  20. 技術的ロードマップとは? • 将来のあるべき姿に対して達成すべき技術的マイルストーン • メルカリUSでは全社的な技術的ロードマップをベースにプラットフォームごとの 技術方針を策定

  21. 技術的ロードマップで意識したこと 技術的に やってみたいこと ユーザーへの価値 目指す姿 生産性/品質 あくまでユーザーに価値をできること、目指す方向進め ることにフォーカス

  22. 取り組むべき課題の整理 スケール オーナーシップ ・暗黙知、属人化した仕様の増加 ・コードの複雑化によるキャッチ  アップコスト ・海をまたぐことによるコミュニ ケー ションコストや開発の遅延 ・技術的な役割分担の不足 品質

    ・コードの品質や生産性の向上 ・脆弱性への対応
  23. 取り組むべき課題の整理 スケール オーナーシップ ・暗黙知、属人化した仕様の増加 ・コードの複雑化によるキャッチ  アップコスト ・海をまたぐことによるコミュニ ケー ションコストや開発の遅延 ・技術的な役割分担の不足 品質

    ・コードの品質や生産性の向上 ・脆弱性への対応 Modularize Kotlinize Design Language Security 2018年は4つの領域にフォーカス
  24. Tech Lead として取り組んだこと • 技術的ロードマップを作る • 技術的ロードマップをリードする

  25. 海をまたぐチームでいかにロードマップを遂行 するか? 課題の先生になる 技術検証は誰よりもハマる オーナーシップの醸成 1 2 3

  26. • 課題を誰よりも説明できるようになる ◦ なにが問題なのか ◦ どう解決したいのか • 課題を共有 ◦ ピッチスライドを作成してプレゼン

    課題の先生になる 1 Why? How? • なぜ課題を解決すべきかメンバーに心か ら納得して関心を持ってもらうため
  27. なぜ、なにを、どうやってを 明らかにする ラフなアイデアも共有 (但し深掘りしすぎない ) スライド上でオープンな Q&A とディスカッション ピッチスライドの例

  28. • 手を動かして解決方法を検証する • 一番難しいケースにチャレンジする • 経験を共有する 技術検証は誰よりも ハマる 2 Why?

    How? • 自分が落とし穴を埋めてスムーズに新し い技術やアイデアにメンバーを導くため
  29. コード上での検証 検証しながらフィードバックを受 ける 検証した結果や気づきなどはド キュメントにまとめる

  30. • Tech Lead一人の力よりチームが一丸 になったほうが強いから オーナーシップの 醸成 3 Why? How? •

    タスクのオーナー制 • 必要なときの技術支援
  31. 各オーナーが責任を持って進め る タスクのオーナーシップ テックロードマップ関連のタスク やDevTaskはGithub issueで管 理

  32. タスクのオーナーシップ Fluxプロジェクト推進のため 1週間US出張 モジュール化プロジェクト関連で 1週間US出張 Googleチームとmtg

  33. • スケールできるチームを技術的な観点から牽引するのが Tech Leadの役割 • ユーザーに価値を提供できることにフォーカスして ロードマップを策定 • “課題の先生になる”, ”誰よりもハマる”,

    ”オーナーシップの 醸成”、それが私のTech Leadしぐさ まとめ