Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

US Mercari Android 2017 → 2018

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

US Android Project プロジェクト爆誕 Mercari Plus リリース Mercari と統合 リブランディング ● リニューアル後リリース回数: 42回(ベータ版リリース等も含 めると200回) ● コード(Java, Kotlin): 100,215行 ● スクリーン数 ○ Native : 約60 ReactNative : 約40 ● クライアントABテスト: 約40 (2018.10月現在) Fun facts

Slide 9

Slide 9 text

US Mercari Android Team 2017 → 2018

Slide 10

Slide 10 text

US Mercari Android Team

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

US Mercari Android Team Joined! (2018.2 ~) Joined! (2018.1 ~) Moving to SF -> Palo Alto

Slide 13

Slide 13 text

US Mercari Android Team Tech Lead (2018.1 ~) Tech Lead (2018.7 ~) Joined! (2018.2 ~) Joined! (2018.1 ~) Moving to SF -> Palo Alto

Slide 14

Slide 14 text

なぜ Tech Leadが必要なのか?

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

2017/1 ● 2名体制 ● USメンバー のみ 2018/1 ● 5 名体制 ● コア基盤はUS側 で管理 20XX ● 100~ 名体制 ● 各国でオーナーシップを 持ち、爆速開発 ● 大規模でも高品質な プロダクトを提供 コード品質とスピードをどう保 つ? どうオーナーシップをメンバー が持てるようにする? US Mercari Android Teamの開発体制

Slide 17

Slide 17 text

メンバーがオーナーシップをもち、スケールに強い、 しなやかなチームを作るために 技術的な観点からチームを牽引するのが Tech Lead

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

● 課題を誰よりも説明できるようになる ○ なにが問題なのか ○ どう解決したいのか ● 課題を共有 ○ ピッチスライドを作成してプレゼン 課題の先生になる 1 Why? How? ● なぜ課題を解決すべきかメンバーに心か ら納得して関心を持ってもらうため

Slide 27

Slide 27 text

なぜ、なにを、どうやってを 明らかにする ラフなアイデアも共有 (但し深掘りしすぎない ) スライド上でオープンな Q&A とディスカッション ピッチスライドの例

Slide 28

Slide 28 text

● 手を動かして解決方法を検証する ● 一番難しいケースにチャレンジする ● 経験を共有する 技術検証は誰よりも ハマる 2 Why? How? ● 自分が落とし穴を埋めてスムーズに新し い技術やアイデアにメンバーを導くため

Slide 29

Slide 29 text

コード上での検証 検証しながらフィードバックを受 ける 検証した結果や気づきなどはド キュメントにまとめる

Slide 30

Slide 30 text

● Tech Lead一人の力よりチームが一丸 になったほうが強いから オーナーシップの 醸成 3 Why? How? ● タスクのオーナー制 ● 必要なときの技術支援

Slide 31

Slide 31 text

各オーナーが責任を持って進め る タスクのオーナーシップ テックロードマップ関連のタスク やDevTaskはGithub issueで管 理

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

● スケールできるチームを技術的な観点から牽引するのが Tech Leadの役割 ● ユーザーに価値を提供できることにフォーカスして ロードマップを策定 ● “課題の先生になる”, ”誰よりもハマる”, ”オーナーシップの 醸成”、それが私のTech Leadしぐさ まとめ