$30 off During Our Annual Pro Sale. View Details »

ジョインして1ヶ月 緊急リリースを3度体験した話 〜そして改善へ〜

ジョインして1ヶ月 緊急リリースを3度体験した話 〜そして改善へ〜

2023年3月 DMMブックスアプリに発生した障害と緊急リリースを踏まえ、 リリースフローをチーム内で明文化したお話

Yomogi.

June 23, 2023
Tweet

Other Decks in How-to & DIY

Transcript

  1. © DMM
    1
    ジョインして1ヶ月
    緊急リリースを3度体験した話
    〜そして改善へ〜
    DMMブックス Androidチーム所属 柴田大輝
    ハッシュタグ :#dmm_android勉強会

    View Slide

  2. © DMM
    自己紹介
    柴田 大輝 (しばた だいき)
    • Android版 DMMブックスアプリ
    • 2023年3月にDMMにジョイン
    • 既存機能のリファクタやチームの採用窓口
    2
    愛犬:柴田コロ

    View Slide

  3. © DMM
    3
    ジョイン後の1ヶ月 GooglePlayStore配信後 3度の障害が発生
    • アプリ配信と緊急リリース
    • はじめての緊急リリースで感じた不安 3選
    • 緊急リリースフローの改善に向けたアプローチ
    • まとめ
    今回お話する内容

    View Slide

  4. © DMM
    アプリ配信と緊急リリース

    View Slide

  5. © DMM
    5
    • アプリ配信は段階的リリースを使用
    • 3日間に分けてリリース
    • 公開範囲を10% → 15% → 100%と徐々に広げていく
    • リリース直後 障害発生時に影響範囲を絞る
    アプリ配信と緊急リリース

    View Slide

  6. © DMM
    6
    • アプリ配信は段階的リリースを使用
    • 3日間に分けてリリース
    • 公開範囲を10% → 15% → 100%と徐々に広げていく
    • リリース直後 障害発生時に影響範囲を絞る
    • リリース直後の障害を解消するために緊急リリースで対応
    • ジョインして初めての障害は公開初日に60件のCrash
    • 残りのユーザに波及しないように緊急リリースで対応
    アプリ配信と緊急リリース

    View Slide

  7. © DMM
    はじめての緊急リリースで感じた不安 3選

    View Slide

  8. © DMM
    8
    1. 何をすればいいかわからない!
    → 先輩エンジニアに確認 = 先輩拘束 = 緊急リリース遅れる
    → 聞きづらい!!!(聞いた)
    → コミュニケーションコストが大きい
    はじめての緊急リリースで感じた不安3選
    当時の心理状況

    View Slide

  9. © DMM
    9
    1. 何をすればいいかわからない!
    → 先輩エンジニアに確認 = 先輩拘束 = 緊急リリース遅れる
    → 聞きづらい!!!(聞いた)
    → コミュニケーションコストが大きい
    2. リモートワークのため漠然とした不安感や緊張感に一人で襲われる
    →「ちゃんと進んでいるか・いつ終わるか」がわからない
    はじめての緊急リリースで感じた不安3選

    View Slide

  10. © DMM
    10
    1. 何をすればいいかわからない!
    → 先輩エンジニアに確認 = 先輩拘束 = 緊急リリース遅れる
    → 聞きづらい!!!(聞いた)
    → コミュニケーションコストが大きい
    2. リモートワークのため漠然とした不安感や緊張感に一人で襲われる
    →「ちゃんと進んでいるか・いつ終わるか」がわからない
    3. 「いつ集まる?何を決める?誰が何する?」が五月雨に決まる
    → 緊急時にチームで効率的に動けていない
    はじめての緊急リリースで感じた不安3選

    View Slide

  11. © DMM
    11
    • 全体の流れがわからない
    • 今どこまで進んでいるのかがわからない
    • 次に何をすべきかがわからない・自信がない
    緊急リリース対応 見直しに向けた課題
    \ ナニモワカラナイ!/

    View Slide

  12. © DMM
    緊急リリースフローの改善に向けたアプローチ

    View Slide

  13. © DMM
    13
    • 全体の流れがわからない
    → 緊急リリースのフロー図を作成
    • 今どこまで進んでいるのかがわからない
    → タスクのチェックリストを作成
    → Slack・Zoomで迅速にコミュニケーション
    • 何をすべきかがわからない・自信が無い
    →手順のドキュメント化
    緊急リリースフローの改善に向けたアプローチ

    View Slide

  14. © DMM
    14
    • 全体の流れがわからない
    → 緊急リリースのフロー図を作成
    • 今どこまで進んでいるのかがわからない
    → タスクのチェックリストを作成
    → Slack・Zoomで迅速にコミュニケーション
    • 何をすべきかがわからない・自信が無い
    →手順のドキュメント化
    緊急リリースフローの改善に向けたアプローチ

    View Slide

  15. © DMM
    15
    緊急リリースのフロー作成
    • 時系列でタスクを並べたもの
    • 障害解消に向けて何をすれば良いかが明確
    → 全体の流れを把握できる

    View Slide

  16. © DMM
    16
    • 全体の流れがわからない
    → 緊急リリースのフロー図を作成
    • 今どこまで進んでいるのかがわからない
    → タスクのチェックリストを作成
    → Slack・Zoomで迅速にコミュニケーション
    • 何をすべきかがわからない・自信が無い
    →手順のドキュメント化
    緊急リリースフローの改善に向けたアプローチ

    View Slide

  17. © DMM
    17
    タスクチェックリストを作成
    • GitHub Issueのテンプレ作成
    • Issue作成時に担当者も決める
    • 完了したらチェックボックス更新
     → 今どこまで進んでいるか明瞭になる

    View Slide

  18. © DMM
    18
    Slack・Zoomで迅速コミュニケーション
    • Slackで決めることなどを確認
    • Zoom繋いで細かい点も確認
    → 今どこまで進んでいるか明瞭になる

    View Slide

  19. © DMM
    19
    • 全体の流れがわからない
    → 緊急リリースのフロー図を作成
    • 今どこまで進んでいるのかがわからない
    → タスクのチェックリストを作成
    → Slack・Zoomで迅速にコミュニケーション
    • 何をすべきかがわからない・自信が無い
    →手順のドキュメント化
    緊急リリースフローの改善に向けたアプローチ

    View Slide

  20. © DMM
    20
    手順のドキュメント化(一部抜粋)
    • 具体的なアクションを記載
    • 事前レビューでチーム合意
     → 自信を持ってタスクを進められる

    View Slide

  21. © DMM
    21
    • 全体の流れがわからない
    → 緊急リリースのフロー図を作成
    • 今どこまで進んでいるのかがわからない
    → タスクのチェックリストを作成
    → Slack・Zoomで迅速にコミュニケーション
    • 何をすべきかがわからない・自信が無い
    →手順のドキュメント化
    緊急リリースフローの改善アプローチ

    View Slide

  22. © DMM
    22
    • 事前にやるべきことを明瞭にしておくことはとても有効
    • 緊急時こそ「迅速に・効率的に・ミスなく」対応できるように
    • フローを整備したことにより緊急リリース対応の速度向上
    • 障害発覚時からGooglePlayStoreでの配信まで
    • 初回 : 2日間
    • 2回目:1日以内
    • 3回目:半日以内
    緊急リリースフローを整備して振り返り

    View Slide

  23. © DMM
    23
    緊急リリースはいつか必ず発生しうるもの
    事前の準備をすることで、
    チーム全体で効率的に動ける→障害復旧が早くなる
    まとめ

    View Slide

  24. © DMM
    ご静聴ありがとうございました

    View Slide