Slide 1

Slide 1 text

2022/10/01 XP祭り 2022 takashi matsuyuki (@applepine1125) オーナーシップを持ち自己組織化するチームに必要な、 Engineering Program Managerという役割

Slide 2

Slide 2 text

自己紹介 BASE, inc. (2020/09~) BASE BANK Section Dev Group / BASE Card Team Group Manager/EPM*1/Fullcycle Engineer Goとカード決済領域を生業としています Twitter: @applepine1125 *1: https://devblog.thebase.in/entry/bank-epm takashi matsuyuki 2

Slide 3

Slide 3 text

今日のテーマ より速く、柔軟に、顧客中心の要求に答え続けられるチームの作り方を ロール(役割)の観点から紐解きます 3

Slide 4

Slide 4 text

こういうことを思っている人に役立ってほしい - 課題に対しより速く意思決定を行い、より柔軟に実行できるチームを作りたい - プロダクト開発に携わる関係者間でコミュニケーションロスが発生している - 利害関係者と、対立関係ではなく仲間としてプロダクトづくりに向き合いたい 4

Slide 5

Slide 5 text

EPMとはなにか 5

Slide 6

Slide 6 text

EPMとは ソフトウェアエンジニアリングの専門知識を最大限に生かして ステークホルダーと協働し、 適切に開発プロセスを回してマイルストーンを達成するための支援を行う。 Glue(のり)の役割 別名: Technical Program Manager 6

Slide 7

Slide 7 text

EPMとは 7

Slide 8

Slide 8 text

EPMとは 国内でもまだ事例が少なく、メジャーなロールではない いくつかの事例を踏まえながら解像度を上げていきましょう 8

Slide 9

Slide 9 text

BASE BANKでEPMを必要と するまで 9

Slide 10

Slide 10 text

BASEがやってること 10 BASE株式会社 個人やスモールチームをエンパワーメントする ネットショップ作成サービス「BASE」 誰でもかんたんにネットショップを 無料で作れるネットショップ作成サービス 開設ショップ数180万ショップ突破 個人・スモールチーム等のショップ向け

Slide 11

Slide 11 text

BASE BANKがやってること 11 振込申請 BASEカード YELL BANK かんたん、即座に 1万円から資金調達が可能 売上をそのままお支払いに使える 「お急ぎ振込」では 最短翌営業日に売上を振込 「銀行をかんたんにし、全ての人が挑戦できる世の中に」 BASE加盟店向けに金融事業を提供しているチーム 個人やスモールチームの資金繰りに関する課題解決に取り組んでいます

Slide 12

Slide 12 text

BASE BANKの組織 2018年夏 BASE BANK 誕生 順当に人数が増え、2022年頭にEPMというロールを導入し今に至る 各プロダクトごとに1名。計3名のEPMがいる。 12 BASE BANK Product Design Dev YELLBANK 振込申請 BASEカード EPM

Slide 13

Slide 13 text

BASE BANKの価値観 13 影響を受けた書籍 特に影響を受けたトピック - ムーブメントとしてのアジャイル - 組織重力の法則からの脱却 - 組織重力第1法則: 組織に属する個人は日々の責任や インセンティブとの整合性がなければ顧客と向き合う 仕事を避ける - 組織重力第2法則: 組織における個人は、自分の チームやサイロの心地よさの中で一番簡単に完了 できる作業を優先する O’Reilly Japan: みんなでアジャイル https://www.oreilly.co.jp/books/9784873119090/

Slide 14

Slide 14 text

BASE BANKの価値観 14 影響を受けた書籍 フィードバックループを高速にまわすことや フルサイクルエンジニアとしてユーザーとの接点を 作ること、EPMを置いて早い段階からサイロを越えた 協力をしあえるようなチーム設計を行う基盤となった O’Reilly Japan: みんなでアジャイル https://www.oreilly.co.jp/books/9784873119090/

Slide 15

Slide 15 text

BASE BANKの価値観 15 フルサイクルエンジニア フルサイクルエンジニアとは: 設計、開発、テスト、デプロイ、サポート など、一連のソフトウェアライフサイクル にエンジニアが主体的に関わること。 これによりコミュニケーションのオーバー ヘッドが減り、主体性を持ってより高速に フィードバックループを回すことができる Netflix Technology Blog: Full Cycle Developers at Netflix — Operate What You Build https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249 要件定義・設計 企画 開発 テスト 問い合わせ対 応 デプロイ 運用 Software Developers

Slide 16

Slide 16 text

BASE BANKの価値観 16 フルサイクルエンジニア 新規事業開発チームなので、不確実性の高い中で とにかく素早くアウトプットしユーザーからのフィードバックを得る 必要がある アウトプットに特に大きい影響を与えるエンジニアを開発だけでなく運用や企画など 事業全体のPDCAの中心に据えるべきと考えた すると自然とフルサイクルエンジニアとしてのスタンスにたどり着いた

Slide 17

Slide 17 text

BASE BANKの成長の過程で出てきた課題 人数とプロダクトの増加によりPdM、EMの負荷が高まった 組織が大きくなってもフィードバックループの速度を落とさないようにしたい つまりスケールできる組織であり続けたい そのために、事業のコアバリューの源である ソフトウェアを深く理解できる人間=エンジニア が中心となり、ステークホルダーと協力し、不確実性を低減させ一連のソフトウェア ライフサイクルを実行、改善し続けられるようにすべき 17

Slide 18

Slide 18 text

BASE BANKの成長の過程で出てきた課題 もっと噛み砕いて言うと PMやデザイナーに対していい感じに進捗報告しながら開発回せる人 がいてほしい PMやPdM、TLなど、どれとも定義しづらいこの役割になんと名付ければよいか AppleやGoogleなどいくつかの海外企業のJob Descriptionで Engineering Program Manager という概念を見つけた これまで誰かが担ってはいたが明確な役割として置いていない組織が多いのではない だろうか? https://jobs.apple.com/ja-jp/details/200037923/engineering-program-manager?team=HRDWR https://careers.google.com/jobs/results/134406752813621958-engineering-program-manager-google-pixel/?f=true&hl=ja_JP&page=5 など 18

Slide 19

Slide 19 text

組織によって少し異なる EPMの定義 19

Slide 20

Slide 20 text

BASE BANKではEPMをどう定義したか 安定したプロダクトデリバリー、クオリティの担保を行う - プロダクトに関わるチームやメンバーのスポンサー - ステークホルダーとコミュニケーションをとりながら開発スコープやスプリント ゴールの意思決定 - 安定した開発プロセスの実行に責任を持つ - PMやスクラムマスター的な側面が強い 20

Slide 21

Slide 21 text

他の会社ではどの様な役割を担っているか TPM Stories https://tpmstories.medium.com/ StripeやGoogle、Teslaなどで働くTechnical Program Manager (≒EPM)の インタビュー集 21

Slide 22

Slide 22 text

他の会社ではどの様な役割を担っているか Stripe: Betty Luk “By presenting a thorough data-driven analysis (that incorporates all the different vectors including technical, human, financial) and including all the stakeholders in the process, TPMs can empower leaders (and the organization) to make good decisions that stick and people buy-in to.” TPMは、技術的、人的、財務的など、さまざまなベクトルを含む徹底したデータ分 析を行い、すべてのステークホルダーをプロセスに含めることで、リーダー(および 組織)が適切な決定を下し、人々が納得できるようにすることができるのです https://tpmstories.medium.com/tpm-stories-betty-luk-from-stripe-cb9189acf9fe 22

Slide 23

Slide 23 text

他の会社ではどの様な役割を担っているか Stripe: Alessandro Catorcini “Think about a beautiful cake and imagine it represents a project. Now start slicing it. The first slice is engineering, then product management, then marketing, then all other disciplines involved. When you are done slicing, the crumbles that remain on the plate are the TPMs. They were the factor that held it all together” 美しいケーキを思い浮かべ、それがプロジェクトを表していると想像してください。 そして、それをスライスしてください。最初に切るのはエンジニアリング、次にプロ ダクトマネジメント、マーケティング、そしてその他すべての分野です。 最後に皿の上に残っている砕片がTPMです。彼らがすべてをまとめていたのです。 https://tpmstories.medium.com/tpm-stories-alessandro-catorcini-from-stripe-a02f6b50ca3b 23

Slide 24

Slide 24 text

N26: Meysam Sarabadani “This person requires a technical background because they need to understand and traverse technical dependencies, work very closely with deeply technical people and at the same time manage the roadmap and often non-technical stakeholders to ensure teams are on track.” 技術的な依存関係を理解し、それを乗り越え、技術者と密接に仕事をしながら、同時 にロードマップと多くの非技術的な利害関係者をマネージし、チームが軌道に乗るよ うにする必要があるため、この人材には技術的なバックグラウンドが必要です。 https://medium.com/insiden26/what-does-a-technical-program-manager-do-with-meysam-sarabadani-9f9e6005e9ed 他の会社ではどの様な役割を担っているか 24

Slide 25

Slide 25 text

改めてEPMの定義に戻る 25

Slide 26

Slide 26 text

つまるところEPM(TPM)って? ソフトウェアを深く理解できるバックグラウンドを持った人間が、 ステークホルダー間の関係を構築しながら 適切にチームやプロセスをサポートする役割 複雑なソフトウェアがプロダクトのコアバリューを生み出す、この業界ならではのロール 26

Slide 27

Slide 27 text

つまるところEPM(TPM)って? BANKでは現状PM兼スクラムマスター、 ちょっとEMという感じ - 日々のスプリントイベントの運営 - メンバーとの1on1 - 事業企画やデザイナーとの定期的なsyncポイントの 設計 - プロダクト要求を実現するための関係者との壁打ち - 実現したいフィーチャとシステム課題の解決 (リファクタなど)のバランスをとり、開発の マイルストーンを作る - etc… 27 PdM SRE 外部企業 開発に関わる ステークホルダー etc… 振込申請 EPM Engineer EPM Engineer EPM Engineer TL Planing Sprint:1 … Release Planing Sprint:1 … Release Planing Sprint:1 … Release

Slide 28

Slide 28 text

つまるところEPM(TPM)って? 非エンジニア出身のPMが多い組織では 技術的なトレードオフを伝えサポートをする Tech Lead的な側面が強くなる 日々の開発サイクルに課題がある組織であれば スクラムマスター的な側面が強くなる 組織の状況によってEPMの顔は様々に変化する 共通しているのは エンジニアのバックグラウンドを最大限に活かし、 ステークホルダーをうまく巻き込みながら チームやプロセスをサポートすること 28

Slide 29

Slide 29 text

あらためてEPMの定義 ソフトウェアエンジニアリングの専門知識を最大限に生かして ステークホルダーと協働し、 適切に開発プロセスを回してマイルストーンを達成するための支援を行う。 Glue(のり)の役割 ↑これが超大事 29

Slide 30

Slide 30 text

EPMがチームを自己組織化させる 不確実性の高い事業において、高速にアウトプットしフィードバックを得るために は、各メンバーが高度な機動力を持ち、チームが自己組織化していくことが重要 オーナーシップを持つことでチームは自己組織化へと向かうことができる。 フルサイクルエンジニアというスタンスは自己組織化の必須スキルであると考えて いる しかしそれだけでは自然とチームやメンバーが主体的に動き、効果的にプロダクト アウトプットを行えるようになるまで時間がかかる そこでEPMがうまくお膳立てをしてメンバーをサポートする InfoQ: What Are Self-Organising Teams? https://www.infoq.com/articles/what-are-self-organising-teams/ 30

Slide 31

Slide 31 text

まとめ よく言えば柔軟、悪く言えばなんでも屋 曖昧な役割だから大変だけど、自分で役割を定義できる。 関係者をつなげてスムーズにプロセスが回っていくのはめちゃくちゃ面白い 仕事ってそもそも境界やコミュニケーションの曖昧さは必ず残る そこをうまくカバーし、プロダクトに関わるチームやメンバーのスポンサーとして、 オーナーシップを持ってプロダクトと向き合う気概をもたらす それがEPM 31

Slide 32

Slide 32 text

まとめ あなたの組織に足りないGlueはなんですか? それを埋めるのがあなたの組織でEPMが果たすべき役割です 32

Slide 33

Slide 33 text

おわり 33 @applepine1125 https://twitter.com/applepine1125