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

週次リリースを実現するための グローバルアプリ開発

週次リリースを実現するための グローバルアプリ開発

本スライドはTech Kitchen #29 Mobile App One Experienceで使用したスライドになります。

https://cookpad.connpass.com/event/337770/

Haruta Yamada

December 18, 2024
Tweet

More Decks by Haruta Yamada

Other Decks in Programming

Transcript

  1. © 2024 Cookpad Inc. Tech Kitchen #29 Mobile App One

    Experience 週次リリースを実現するための グローバルアプリ開発 Haruta Yamada
  2. © 2024 Cookpad Inc. 2 山田 陽大(Haruta Yamada) • 2024/04

    新卒入社 ◦ 2019/06~ 就業型インターン • 役職: iOSエンジニア • 趣味: 🍳, ☕ 自己紹介
  3. 1スプリントに1リリース(週次リリース) スクラム開発 © 2024 Cookpad Inc. 6 月 火 水

    木 金 プランニング レビュー コードフリーズ サブミット リリース
  4. FeatureToggle(FT) • ログインの有無 • リージョン • 課金の有無 • プラットフォーム(iOS, Android,

    Web) etc.. © 2024 Cookpad Inc. 9 スプリントを跨いだ開発をするには? APIレスポンスの一例
  5. スクラム開発 © 2024 Cookpad Inc. 12 月 火 水 木

    金 コードフリーズ サブミット リリース 機能公開 🎉
  6. © 2024 Cookpad Inc. 13 FTを利用した機能開発 管理コストの増加に繋がる サーバーサイド: 200のFT -

    Rollout: 179 - Experiment(期限付きFT): 21 iOS アプリ: 74のFT - Remote FT(global-webで制御する): 67 - Local FT: 7
  7. © 2024 Cookpad Inc. 17 FTを利用した機能開発 FTが放置されてしまう問題 • 明確な対応方針みたいなものはない •

    ロールバックするかもしれない • 特定のユーザー限定公開 • 削除自体が少なくない工数を消費する
  8. © 2024 Cookpad Inc. 18 FTを利用した機能開発 用法を守って使う • FTを使わないパターンも模索する ◦

    region == .jp / user.isPremium • 影響範囲を最小限に止める ◦ 遷移先の切り替え / Interactor, ViewModelBuilderでのみ...
  9. © 2024 Cookpad Inc. 20 翻訳(多言語対応) GitHub OneSky フレーズの追加、削除 翻訳の追加、削除

    コンポーネントの変更による フレーズの追加、削除 Bitrise(CI/CD) 各リージョン向けの 翻訳を追加 エンジニア 各リージョンの翻訳者
  10. 1スプリントに1リリース(週次リリース) スクラム開発 © 2024 Cookpad Inc. 21 月 火 水

    木 金 プランニング レビュー コードフリーズ サブミット リリース
  11. © 2024 Cookpad Inc. 22 翻訳(多言語対応) GitHub コンポーネントの変更による フレーズの追加、削除 エンジニア

    デザイナー 確定した仕様で依頼 UKリージョンの翻訳者 確認、修正 英訳チェック依頼
  12. © 2024 Cookpad Inc. 23 翻訳(多言語対応) Cooksnap つくれぽ Today CookingToday

    今日つくる 殿堂入りレシピ Top Cooksnapped Recipes
  13. 1スプリントに1リリース(週次リリース) スクラム開発 © 2024 Cookpad Inc. 24 月 火 水

    木 金 依頼する フレーズ追加 翻訳取り込み コードフリーズ
  14. © 2024 Cookpad Inc. 25 翻訳(多言語対応) GitHub OneSky フレーズの追加、削除 翻訳の追加、削除

    コンポーネントの変更による フレーズの追加、削除 Bitrise(CI/CD) 各リージョン向けの 翻訳を追加 エンジニア 各リージョンの翻訳者 補足情報を伝える