Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Shunsuke Nakao

December 20, 2022
Tweet

More Decks by Shunsuke Nakao

Other Decks in Technology

Transcript

  1. • • DMM PointClub Tech Book #1 第5章の振り返り DMMポイントクラブのモバイル開発で抱える開発課題 1.

    第5章の振り返り • • イテレーションを2日で回すTeslaの開発 Tesla, SpaceXがイノベーションを起こす"第一原理"の考え 方 Table of contents 2. Teslaの開発から 高速化のヒントを得る 3. 開発を加速するために • • 開発高速化のヒントをどう適用するか フルサイクルエンジニアリングと開発速度を両立する為 に、これから挑戦していくこと これまで. 現在のDMMポイントクラブ Tesla, SpaceXの開発 これからのDMMポイントクラブ
  2. • • • • DMMポイントクラブはフルサイクルエンジ ニアリング×データ駆動開発を行っている フルサイクルエンジニアリングは、やるこ とが多い(= 負荷が高い) 負荷を限りなく抑え続けるために、属人化

    や定常的な作業を無くしていく必要がある DMMポイントクラブで運用している作業自 動化・効率化のツールや事例の紹介 第5章で書いた内容の要約
  3. • コンテンツアップロード用ツール。Slackから起動可能であり技術的な知識 が不要。 Admin bot • WebView上の、アプリプラットフォーム上掲載できないコンテンツをブロッ クするスクリプトをリモートに配置し、アプリリースの不要化。 コンテンツブロックスクリ プトのリモート配信

    テストケースの自動抽出 • 変更のあった機能に対するテストケースを抽出するツール。 第5章で紹介した、内製し運用しているツール群 しかし、上記の開発高速化は“作業レベル”での自動化・作業簡略化が主。 開発プロセスや開発体制そのものがボトルネックとなり開発が遅くなっている場合は、 作業レベルでの改善のみでは大きな効果は見込めません。
  4. 設計 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 コンテンツブロック リモート配置 コンテンツブロック リモート配置
  5. モバイル開発高速化PJ Throughput Developers Product / System Scrum .…. Full-Cycle Development

    BML Loop 資産 負債 純資産 スループットを上げ、プロダクト価値の増大と負債の返済を目指す
  6. 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個以上の新しい部品がリリ ースされます。この惑星の中で最速だと言えます。 “
  7. • • • • Digital Self Managementによるマネジメント業務の一部自動化 ソフトウェア(AI)が社員の管理、承認、予算編成を行ってい る マネジメントをソフトウェアに置換し、管理職を削減するこ

    とで財務的にもメリットがある 管理にではなく開発により予算を当てられる ソフトウェアにより、1分単位で予算編成が実行される Teslaの開発の特徴 : Digital Self Management これにより本来管理職となる人材も開発に加わる ことができ、Teslaではほぼ100%のスタッフが開 発に参加している
  8. 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/
  9. 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から作る。
  10. 事業の第一原理となる"ミッション"から最適なモバイル開発を考える 事業戦略 ソフトウェア アーキテクチャ 組織構造 開発戦略 開発手法 ミッショ ンビジョ ン

    開発生産性 • • ミッションを達成するための事業戦略として、モバイルアプリという市場/手段が選ばれている。 事業戦略は開発に何を求めるのか? 現状の組織構造、開発戦略とのギャップや無駄はあるか?
  11. モバイルアプリの開発プロセスの第一原理を考える 設計 Design 開発 Develop テスト Testing デプロイ Deploy 運用

    Operate サポート Support 如何なるケースでも必ず開発とデプロイは必要になる アプリを世に出すことだけを満たすプロセス 事業の前提で考えるとやはり、全てのプロセスが必要 設計 Design 開発 Develop テスト Testing デプロイ Deploy 運用 Operate サポート Support 開発・デプロイ以外は無くすことは可能だが、無くすことで将来的なマイナスが待っています。 1つ1つのフェーズを限りなく軽量化するか、パラレルで動かすかで0に近づけるしかないというのが個人的見解です。
  12. スクラム運営の自動化 POと開発者で行ったプランニングを元に今スプリン トスコープの全てのチケットが自動で切られる。そ の他マネジメント関連の定常的作業の自動化 BMLループの軽量化 BMLループの実作業まで開発メンバーが行う必要が あるか。分析クエリ実装〜効果測定の数字を出す工程 はアナリストに任せてもBMLループは阻害しないの ではないか。 設計フェーズの軽量化

    1つの機能を設計する際に機能仕様の検討でリードタ イムが長くかかる場合がある。どれがいいかではな くどれも試せるほど軽量に回したい。 テストフェーズの軽量化 テスト項目の設計は専任を付けるor外部に任せる、リ グレッションテストは自動で回すなど、フルサイク ルエンジニアリングのメリットを享受しつつ軽量化 したい。 DMMポイントクラブで挑戦したいこと etc… フルサイクルエンジニアリング×データ駆動開発を前提とした場合 フルサイクルエンジニアリング×データ駆動開発のメリットを享受しつつ、 より高速に実行するためのアイディア
  13. • • フルサイクルエンジニアリング×データ駆動開発 これまでの開発高速化は“作業レベル”での小さい自動化・ 作業簡略化が主 1. これまでのDMMポイ ントクラブ • •

    Tesla, SpaceXは1スプリントを2日で回す。世界的に見ても 開発速度が高い Tesla, SpaceXは問題を解決する際、揺るぎない大前提=第一 原理まで舞い戻りソリューションを再構築する まとめ 2. 第一原理 3. 前例を取り入れ尽くし たその先を見据える • • 事業の第一原理から、組織構造・アーキテクチャ、開発手 法と戦略が最適であるかを考える 開発プロセスの第一原理から、削減可能な工程を見つけ出 す