Slide 1

Slide 1 text

Teslaに学ぶ開発高速化と DMMポイントクラブの挑戦 @noa4021J DMM Meetup #38

Slide 2

Slide 2 text

中尾 俊介 DMMポイントクラブアプリのiOS開発を担当。普段はiOSテック リードとしてiOS開発業務とアプリ開発プロセスの改善に従事。 21新卒入社。 プラットフォーム事業本部 第1開発部 DMMポイントクラブグループ iOSエンジニア Profile

Slide 3

Slide 3 text

• • DMM PointClub Tech Book #1 第5章の振り返り DMMポイントクラブのモバイル開発で抱える開発課題 1. 第5章の振り返り • • イテレーションを2日で回すTeslaの開発 Tesla, SpaceXがイノベーションを起こす"第一原理"の考え 方 Table of contents 2. Teslaの開発から 高速化のヒントを得る 3. 開発を加速するために • • 開発高速化のヒントをどう適用するか フルサイクルエンジニアリングと開発速度を両立する為 に、これから挑戦していくこと これまで. 現在のDMMポイントクラブ Tesla, SpaceXの開発 これからのDMMポイントクラブ

Slide 4

Slide 4 text

1. 第5章の振り返り

Slide 5

Slide 5 text

• • • • DMMポイントクラブはフルサイクルエンジ ニアリング×データ駆動開発を行っている フルサイクルエンジニアリングは、やるこ とが多い(= 負荷が高い) 負荷を限りなく抑え続けるために、属人化 や定常的な作業を無くしていく必要がある DMMポイントクラブで運用している作業自 動化・効率化のツールや事例の紹介 第5章で書いた内容の要約

Slide 6

Slide 6 text

• コンテンツアップロード用ツール。Slackから起動可能であり技術的な知識 が不要。 Admin bot • WebView上の、アプリプラットフォーム上掲載できないコンテンツをブロッ クするスクリプトをリモートに配置し、アプリリースの不要化。 コンテンツブロックスクリ プトのリモート配信 テストケースの自動抽出 • 変更のあった機能に対するテストケースを抽出するツール。 第5章で紹介した、内製し運用しているツール群

Slide 7

Slide 7 text

• コンテンツアップロード用ツール。Slackから起動可能であり技術的な知識 が不要。 Admin bot • WebView上の、アプリプラットフォーム上掲載できないコンテンツをブロッ クするスクリプトをリモートに配置し、アプリリースの不要化。 コンテンツブロックスクリ プトのリモート配信 テストケースの自動抽出 • 変更のあった機能に対するテストケースを抽出するツール。 第5章で紹介した、内製し運用しているツール群 しかし、上記の開発高速化は“作業レベル”での自動化・作業簡略化が主。 開発プロセスや開発体制そのものがボトルネックとなり開発が遅くなっている場合は、 作業レベルでの改善のみでは大きな効果は見込めません。

Slide 8

Slide 8 text

設計 Design 開発 Develop テスト Testing デプロイ Deploy 運用 Operate サポート Support 1. 仮説, 要件定義 2. PRD作成 4. Design Doc作成 3. UI Prototype 5. 詳細設計 1. 実装 1. テスト計画 2. テスト実施 3. バグ修正 4. リリース判断 2. トラッキング アプリ審査, 公開 SLI/SLO 監視 効果測定 お知らせ配信 コンテンツ配信 問い合わせ対応 Backend デプロイ テストケース自動抽出 Admin Bot Admin Bot コンテンツブロック リモート配置 コンテンツブロック リモート配置

Slide 9

Slide 9 text

これまでに行ってきた開発高速化の効果は? The project 具体的な数字を出すことが難しいですが、作業完了自体は速くなっています。 特にコンテンツブロックスクリプトのリモート配信化では、アプリリリースを不要に したことで即日対応が可能になりました。またコンテンツ配信作業ではAdminBotによ り、属人化が排除されリソースを最適化しやすくなりました。 現状の課題は? 「まだまだフルサイクルエンジニアリングの旨味を引き出せていない」に尽きるかな と思います。アプリのリリース頻度/速度共に安定していないこと、エンジニアが上流 工程に関わるため、リソース状況によってはコードが変更されない期間が発生するな どが現状課題としてあります。 開発速度を大きく飛躍させるためには、作業単位での高速化のみではなく、組織構造 や事業戦略も含めて大元から評価した上で、根本から開発プロセスの最適化をかけて いく必要があると思っています。

Slide 10

Slide 10 text

モバイル開発高速化PJ Throughput Developers Product / System Sprint .…. Full-Cycle Development BML Loop 資産 負債 純資産

Slide 11

Slide 11 text

モバイル開発高速化PJ Throughput Developers Product / System Scrum .…. Full-Cycle Development BML Loop 資産 負債 純資産 スループットを上げ、プロダクト価値の増大と負債の返済を目指す

Slide 12

Slide 12 text

2. Teslaの開発から高速化の手立てを得る

Slide 13

Slide 13 text

Joe Justice氏(Agile Business Institute CEO)による Teslaのアジャイル開発についての登壇。 Agile Tech Expo 2022 Agile Coach Learned "Tesla's True Awesomeness” - What is the difference between Agile and Tesla that you have learned? - アジャイルコーチが学んだ「Tesla 真の凄さ」 〜あなたが学 んできたアジャイルとTeslaは何が違うのか〜 通常、部品のチェンジにだいたい2年から7年かけてい ると思います。テスラでは、ヘッドライト、テールラ イト、あと充電口などを2日で変更します。2日で変更 というのは、設計から製造、そしてテスト、リリース まで2日で行ってしまうということです。 テスラの「Model 3」や「Model Y」などの充電口は3時 間でアップデートが行われます。そして、ソフトウェ アや組み込みも含めて1日60個以上の新しい部品がリリ ースされます。この惑星の中で最速だと言えます。 “

Slide 14

Slide 14 text

• • • • Digital Self Managementによるマネジメント業務の一部自動化 ソフトウェア(AI)が社員の管理、承認、予算編成を行ってい る マネジメントをソフトウェアに置換し、管理職を削減するこ とで財務的にもメリットがある 管理にではなく開発により予算を当てられる ソフトウェアにより、1分単位で予算編成が実行される Teslaの開発の特徴 : Digital Self Management これにより本来管理職となる人材も開発に加わる ことができ、Teslaではほぼ100%のスタッフが開 発に参加している

Slide 15

Slide 15 text

• • モジュール化による並行開発 車の部品単位で5人以下の開発チームが存在する それぞれのチームがモジュールに対して責任を持ち開発、最 終的に統合する Teslaの開発の特徴 : 並行開発 個々のモジュールが独立し依存関係を薄くするこ とで並行で開発を進行可能。 また30日以内という短期間でのリリースも実現。

Slide 16

Slide 16 text

他のものから推論することができない命題。自明と思われる仮説。 =何かを演繹する際に用いる、確実とされる大前提 第一原理 私は物理学の枠組みから物事にアプローチする傾向があります。そして物理学は、類 推ではなく第一原理から推論することを教えてくれます。 “ Elon Musk Video(EN): https://www.youtube.com/watch?v=NV3sBlRgzTI&ab_channel=Innomind Report(EN): https://www.wired.com/2012/10/ff-elon-musk-qa/

Slide 17

Slide 17 text

SpaceX 使用済みロケットの再利用 Tesla Battery Day 2020 タブレス電極 最もコストがかかる第1段部の使用済みロケットの回 収、の再利用により打ち上げコストを50%以上削減に 成功。 Tesla Battery Day 2020 電極コーティングの乾式法への移行 バッテリーセル製造の改善。電極のコーティン グ方法を湿式法から乾式法へ移行し、製造工程 を短縮。工場のサイズ、電力等の製造に必要な エネルギーを10分の1に削減。 従来の電極と蓄電部を繋ぐタブを廃止し、上端全 てを電極とするセル設計にすることで、容量を5 倍、出力を6倍に向上。航続距離では16%の向上。 https://www.youtube.com/watch?v=l6T9xIeZTds&t=2382s&ab_channel=Tesla https://www.youtube.com/watch?v=l6T9xIeZTds&t=2382s&ab_channel=Tesla https://spaceflightnow.com/2017/03/31/spacex-flies-rocket-for-second-time- in-historic-test-of-cost-cutting-technology/

Slide 18

Slide 18 text

SpaceX 使用済みロケットの再利用 Tesla Battery Day 2020 タブレス電極 最もコストがかかる第1段部の使用済みロケットの回 収、の再利用により打ち上げコストを50%以上削減に 成功。 Tesla Battery Day 2020 電極コーティングの乾式法への移行 バッテリーセル製造の改善。電極のコーティン グ方法を湿式法から乾式法へ移行し、製造工程 を短縮。工場のサイズ、電力等の製造に必要な エネルギーを10分の1に削減。 従来の電極と蓄電部を繋ぐタブを廃止し、上端全 てを電極とするセル設計にすることで、容量を5 倍、出力を6倍に向上。航続距離では16%の向上。 https://www.youtube.com/watch?v=l6T9xIeZTds&t=2382s&ab_channel=Tesla https://www.youtube.com/watch?v=l6T9xIeZTds&t=2382s&ab_channel=Tesla https://spaceflightnow.com/2017/03/31/spacex-flies-rocket-for-second-time- in-historic-test-of-cost-cutting-technology/ Tesla、SpaceXは自ら定義した問題を解決する際、 まず最初に「第一原理」に立ち返っている。 原則的に問題解決に必要なものだけを残し、さらに 良い方法で再構築している。既にあるものをより良 くするのではなく、より良いものを0から作る。

Slide 19

Slide 19 text

3. 開発を加速するために

Slide 20

Slide 20 text

事業の第一原理となる"ミッション"から最適なモバイル開発を考える 事業戦略 ソフトウェア アーキテクチャ 組織構造 開発戦略 開発手法 ミッショ ンビジョ ン 開発生産性 • • ミッションを達成するための事業戦略として、モバイルアプリという市場/手段が選ばれている。 事業戦略は開発に何を求めるのか? 現状の組織構造、開発戦略とのギャップや無駄はあるか?

Slide 21

Slide 21 text

モバイルアプリの開発プロセスの第一原理を考える 設計 Design 開発 Develop テスト Testing デプロイ Deploy 運用 Operate サポート Support 如何なるケースでも必ず開発とデプロイは必要になる アプリを世に出すことだけを満たすプロセス 事業の前提で考えるとやはり、全てのプロセスが必要 設計 Design 開発 Develop テスト Testing デプロイ Deploy 運用 Operate サポート Support 開発・デプロイ以外は無くすことは可能だが、無くすことで将来的なマイナスが待っています。 1つ1つのフェーズを限りなく軽量化するか、パラレルで動かすかで0に近づけるしかないというのが個人的見解です。

Slide 22

Slide 22 text

スクラム運営の自動化 POと開発者で行ったプランニングを元に今スプリン トスコープの全てのチケットが自動で切られる。そ の他マネジメント関連の定常的作業の自動化 BMLループの軽量化 BMLループの実作業まで開発メンバーが行う必要が あるか。分析クエリ実装〜効果測定の数字を出す工程 はアナリストに任せてもBMLループは阻害しないの ではないか。 設計フェーズの軽量化 1つの機能を設計する際に機能仕様の検討でリードタ イムが長くかかる場合がある。どれがいいかではな くどれも試せるほど軽量に回したい。 テストフェーズの軽量化 テスト項目の設計は専任を付けるor外部に任せる、リ グレッションテストは自動で回すなど、フルサイク ルエンジニアリングのメリットを享受しつつ軽量化 したい。 DMMポイントクラブで挑戦したいこと etc… フルサイクルエンジニアリング×データ駆動開発を前提とした場合 フルサイクルエンジニアリング×データ駆動開発のメリットを享受しつつ、 より高速に実行するためのアイディア

Slide 23

Slide 23 text

• • フルサイクルエンジニアリング×データ駆動開発 これまでの開発高速化は“作業レベル”での小さい自動化・ 作業簡略化が主 1. これまでのDMMポイ ントクラブ • • Tesla, SpaceXは1スプリントを2日で回す。世界的に見ても 開発速度が高い Tesla, SpaceXは問題を解決する際、揺るぎない大前提=第一 原理まで舞い戻りソリューションを再構築する まとめ 2. 第一原理 3. 前例を取り入れ尽くし たその先を見据える • • 事業の第一原理から、組織構造・アーキテクチャ、開発手 法と戦略が最適であるかを考える 開発プロセスの第一原理から、削減可能な工程を見つけ出 す

Slide 24

Slide 24 text

Thank you DMM Meetup #38 @noa4021J