Slide 1

Slide 1 text

タクシーアプリ『GO』Androidの リリースフロー 2023.10.31 / 後夜祭 DroidKaigi 2023 Kohei Yamamoto GO株式会社

Slide 2

Slide 2 text

© GO Inc. 2 GO株式会社 ユーザーシステム開発部 / Kohei Yamamoto 新卒でIT企業に入社後、継続的なサービスの成長に携わりたいと思 い2021年8月に入社。 タクシーアプリ『GO』のAndroidアプリ開発を担当。 BIOHAZARD RE:4 で恐怖の克服を試している。車が欲しい。 @farundorl @gyamoto 自己紹介

Slide 3

Slide 3 text

© GO Inc. 3

Slide 4

Slide 4 text

© GO Inc. 4 01 タクシーアプリ『GO』 Androidのリリースフロー

Slide 5

Slide 5 text

© GO Inc. 5 タクシーアプリ『GO』のリリースフロー QA完了 + リリースバージョン、 リリースノート、 公開日時の決定 GooglePlayで段階的な 公開として “99%” 割合 でリリース リリース当日 リリース前日 0 1

Slide 6

Slide 6 text

© GO Inc. 6 タクシーアプリ『GO』のリリースフロー リリース後に問題が 発生してないか調査 GooglePlayで段階的な 公開の割合を更新 問題あり → 0% 問題なし → 100% リリース後 調査後 2 3

Slide 7

Slide 7 text

© GO Inc. 7 アプリの段階的な公開 2 3 1 0 新バージョン アプリ 旧バージョンアプリ 新バージョン アプリ 旧バージョン アプリ 一時的に旧バージョンと新バージョンの両方を公開して 問題が発生した場合に備える

Slide 8

Slide 8 text

© GO Inc. 8 アプリの段階的な公開 一定割合のユーザにのみアプリを公開する機能 アプリの公開割合を都度更新することが可能 ・例えば 1%→5%→20%→100% と徐々に浸透させる ・『GO』Androidは 99%→100% と一気に公開している もし問題が見つかった場合は、最新アプリの影響を最小限 に抑えるために、段階的な公開を中止できる 段階的な公開を利用したアプリのアップデートのリリース | PlayConsoleHelp https://support.google.com/googleplay/android-developer/answer/6346149

Slide 9

Slide 9 text

© GO Inc. 9 02 段階的公開でリリース後の問題に備える

Slide 10

Slide 10 text

© GO Inc. 10 リリース後に問題が発生した場合 リリース後に問題が 発生してないか調査 問題発生 リリース後 対応方針の決定 2 0 1 修正版アプリの用意 2 アプリの 再リリース 3

Slide 11

Slide 11 text

© GO Inc. 11 リリース後に問題が発生した場合 リリース後に問題が 発生してないか調査 問題発生 リリース後 対応方針の決定 2 0 1 修正版アプリの用意 2 アプリの 再リリース 3 修正版アプリのリリースが完了するまでの間は 問題が発生するアプリのユーザが増え続けてしまう 修正版 アプリ 問題が発生するアプリ

Slide 12

Slide 12 text

© GO Inc. 12 段階的公開でリリース後の問題に備える 問題 発生 GooglePlayで段階的な 公開の割合を更新 問題あり → 0% 問題のリスク判断後 3 0 対応方針の決定 1 修正版アプリの用 アプリの 再リリー

Slide 13

Slide 13 text

© GO Inc. 13 段階的公開でリリース後の問題に備える 問題 発生 GooglePlayで段階的な 公開の割合を更新 問題あり → 0% 問題のリスク判断後 3 0 対応方針の決定 1 修正版アプリの用 アプリの 再リリー 修正版 アプリ 問題が発生する “前” のアプリ 問題が発生 するアプリ 修正版アプリのリリースが完了するまでの間は 一時的に問題が発生する前のアプリがインストールされる

Slide 14

Slide 14 text

© GO Inc. 14 03 ほぼ100%の段階的な公開

Slide 15

Slide 15 text

© GO Inc. 15 段階的な公開で考えること → 公開割合をどうする? → いつ公開割合を更新する? リリース内容によって公開割合の必須具合が変わる ・タクシー配車に関連する新機能  → タクシー事業者等と日時を合わせる必要がある ・UI改善や軽度な不具合対応など  → 急ぎではない ほぼ100%の段階的な公開を設定した背景

Slide 16

Slide 16 text

© GO Inc. リリース内容にあわせて公開割合と更新タイミングを調整 すると大変… → 段階的な公開を諦め、通常の公開(100%)にする…?   可能であれば問題が発生した場合に備えたい → ほぼ100%として段階的な公開を設定すると、  「通常公開と変わらない浸透スピード」と  「何かあった場合に公開を中止できる」が両立できる! 16 ほぼ100%の段階的な公開を設定した背景

Slide 17

Slide 17 text

© GO Inc. リリース時間 ・午前11時にアプリ公開し、翌日11時に問題ないか調査  → アプリ公開の翌朝に利用した結果をもとに確認する  → 1日目で ~10%のユーザに最新版が浸透済みなので    致命的な問題があれば発見できる(はず…!) 17 『GO』Androidのほぼ100%の段階的な公開

Slide 18

Slide 18 text

© GO Inc. 18 『GO』Androidのほぼ100%の段階的な公開 問題がないかの調査内容 ・Firebase Crashlyticsのクラッシュレポートを確認  → 主に「問題のシグナル:新規」が増えてないか ・バックエンド側でアプリ起因の不具合が起きてないか  → アプリに大きな変更がある場合は、念のため    リリース前にアプリのAPIリクエスト数が急増    してないかも計測する

Slide 19

Slide 19 text

© GO Inc. 19 04 おまけ:先週判明したこと

Slide 20

Slide 20 text

© GO Inc. 20 先週判明したこと 段階的な公開の割合は小数点ありで設定できるため、 実質100%で段階的な公開ができそう 割合99.99999%にするとデバイス数と対象数が一致した

Slide 21

Slide 21 text

© GO Inc. 21 先週判明したこと 実質100%(=99.99999%)段階公開に設定後も公開割合は 編集可能 ・99%と変わらず「公開を管理」が選択可能

Slide 22

Slide 22 text

© GO Inc. 22 https://hrmos.co/pages/m o-t/jobs/2100002 タクシーアプリ『GO』の開発を一緒にしませんか

Slide 23

Slide 23 text

© GO Inc. 文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください