ninjinkun's diary

ninjinkunの日記

Androidアプリの段階的リリース

Androidアプリは全体の5%のユーザーに公開するというような、段階的公開が可能です。会社でこの機能を使っているので、知見をまとめました。

目的

  • 致命的な問題 (e.g. 商品が出品、購入できない)に全ユーザーを巻き込むのを避ける
  • 不具合を減らしつつ、リリースサイクルのスピードを保つ

問題

  • 母集団が少なすぎると問題が見つからない or 報告されない場合がある
  • 変更できるのは公開するユーザーの割合のみ
  • できる限り不具合にユーザーを巻き込まないようにしながら、早めに段階を上げるという問題を考える

戦略

プラン

    • 変更点が多い場合、致命的なバグが発生する可能性がある場合
    • 5 or 10%からリリース
    • 最短で5日で全ユーザーにリリース
  • (竹は考えてなかった…)
    • 変更点が少ない場合
    • 20%からリリース
    • 最短で3日で全ユーザーにリリース

運用

  • リリースの翌日に不具合の有無を確認して、大丈夫そうなら公開の段階を一つあげる
    • サポートメール、Crashlyticsを都度確認
  • 土日のリリースは避ける
  • 不安なら段階を上げる間隔を2日くらいにする
  • これはあくまで基本プラン。リリースの優先度、緊急度によって臨機応変に対応

運用してみて

  • 毎日リリース作業があるのが地味に面倒
    • 不具合の確認作業に時間を取られる
      • 15分とかだけど、まあ仕方ない
    • 手作業なので、注意していないと作業自体を忘れる
    • このあたりは自動化の余地有りかも
  • 不具合は5~20%くらいで顕在化する印象
    • 50->100はそんなに怖くない、というかあまり意味が無さそうなので飛ばしてもいいかも
  • 不具合が出たら修正してapkを再アップロード。対象ユーザーだけにアップデートが配布される。よくできてる

他社の事例も知りたいっす。