2023年3月 DMMブックスアプリに発生した障害と緊急リリースを踏まえ、 リリースフローをチーム内で明文化したお話
© DMM1ジョインして1ヶ月緊急リリースを3度体験した話〜そして改善へ〜DMMブックス Androidチーム所属 柴田大輝ハッシュタグ :#dmm_android勉強会
View Slide
© DMM自己紹介柴田 大輝 (しばた だいき)• Android版 DMMブックスアプリ• 2023年3月にDMMにジョイン• 既存機能のリファクタやチームの採用窓口2愛犬:柴田コロ
© DMM3ジョイン後の1ヶ月 GooglePlayStore配信後 3度の障害が発生• アプリ配信と緊急リリース• はじめての緊急リリースで感じた不安 3選• 緊急リリースフローの改善に向けたアプローチ• まとめ今回お話する内容
© DMMアプリ配信と緊急リリース
© DMM5• アプリ配信は段階的リリースを使用• 3日間に分けてリリース• 公開範囲を10% → 15% → 100%と徐々に広げていく• リリース直後 障害発生時に影響範囲を絞るアプリ配信と緊急リリース
© DMM6• アプリ配信は段階的リリースを使用• 3日間に分けてリリース• 公開範囲を10% → 15% → 100%と徐々に広げていく• リリース直後 障害発生時に影響範囲を絞る• リリース直後の障害を解消するために緊急リリースで対応• ジョインして初めての障害は公開初日に60件のCrash• 残りのユーザに波及しないように緊急リリースで対応アプリ配信と緊急リリース
© DMMはじめての緊急リリースで感じた不安 3選
© DMM81. 何をすればいいかわからない!→ 先輩エンジニアに確認 = 先輩拘束 = 緊急リリース遅れる→ 聞きづらい!!!(聞いた)→ コミュニケーションコストが大きいはじめての緊急リリースで感じた不安3選当時の心理状況
© DMM91. 何をすればいいかわからない!→ 先輩エンジニアに確認 = 先輩拘束 = 緊急リリース遅れる→ 聞きづらい!!!(聞いた)→ コミュニケーションコストが大きい2. リモートワークのため漠然とした不安感や緊張感に一人で襲われる→「ちゃんと進んでいるか・いつ終わるか」がわからないはじめての緊急リリースで感じた不安3選
© DMM101. 何をすればいいかわからない!→ 先輩エンジニアに確認 = 先輩拘束 = 緊急リリース遅れる→ 聞きづらい!!!(聞いた)→ コミュニケーションコストが大きい2. リモートワークのため漠然とした不安感や緊張感に一人で襲われる→「ちゃんと進んでいるか・いつ終わるか」がわからない3. 「いつ集まる?何を決める?誰が何する?」が五月雨に決まる→ 緊急時にチームで効率的に動けていないはじめての緊急リリースで感じた不安3選
© DMM11• 全体の流れがわからない• 今どこまで進んでいるのかがわからない• 次に何をすべきかがわからない・自信がない緊急リリース対応 見直しに向けた課題\ ナニモワカラナイ!/
© DMM緊急リリースフローの改善に向けたアプローチ
© DMM13• 全体の流れがわからない→ 緊急リリースのフロー図を作成• 今どこまで進んでいるのかがわからない→ タスクのチェックリストを作成→ Slack・Zoomで迅速にコミュニケーション• 何をすべきかがわからない・自信が無い→手順のドキュメント化緊急リリースフローの改善に向けたアプローチ
© DMM14• 全体の流れがわからない→ 緊急リリースのフロー図を作成• 今どこまで進んでいるのかがわからない→ タスクのチェックリストを作成→ Slack・Zoomで迅速にコミュニケーション• 何をすべきかがわからない・自信が無い→手順のドキュメント化緊急リリースフローの改善に向けたアプローチ
© DMM15緊急リリースのフロー作成• 時系列でタスクを並べたもの• 障害解消に向けて何をすれば良いかが明確→ 全体の流れを把握できる
© DMM16• 全体の流れがわからない→ 緊急リリースのフロー図を作成• 今どこまで進んでいるのかがわからない→ タスクのチェックリストを作成→ Slack・Zoomで迅速にコミュニケーション• 何をすべきかがわからない・自信が無い→手順のドキュメント化緊急リリースフローの改善に向けたアプローチ
© DMM17タスクチェックリストを作成• GitHub Issueのテンプレ作成• Issue作成時に担当者も決める• 完了したらチェックボックス更新 → 今どこまで進んでいるか明瞭になる
© DMM18Slack・Zoomで迅速コミュニケーション• Slackで決めることなどを確認• Zoom繋いで細かい点も確認→ 今どこまで進んでいるか明瞭になる
© DMM19• 全体の流れがわからない→ 緊急リリースのフロー図を作成• 今どこまで進んでいるのかがわからない→ タスクのチェックリストを作成→ Slack・Zoomで迅速にコミュニケーション• 何をすべきかがわからない・自信が無い→手順のドキュメント化緊急リリースフローの改善に向けたアプローチ
© DMM20手順のドキュメント化(一部抜粋)• 具体的なアクションを記載• 事前レビューでチーム合意 → 自信を持ってタスクを進められる
© DMM21• 全体の流れがわからない→ 緊急リリースのフロー図を作成• 今どこまで進んでいるのかがわからない→ タスクのチェックリストを作成→ Slack・Zoomで迅速にコミュニケーション• 何をすべきかがわからない・自信が無い→手順のドキュメント化緊急リリースフローの改善アプローチ
© DMM22• 事前にやるべきことを明瞭にしておくことはとても有効• 緊急時こそ「迅速に・効率的に・ミスなく」対応できるように• フローを整備したことにより緊急リリース対応の速度向上• 障害発覚時からGooglePlayStoreでの配信まで• 初回 : 2日間• 2回目:1日以内• 3回目:半日以内緊急リリースフローを整備して振り返り
© DMM23緊急リリースはいつか必ず発生しうるもの事前の準備をすることで、チーム全体で効率的に動ける→障害復旧が早くなるまとめ
© DMMご静聴ありがとうございました