Slide 1

Slide 1 text

インシデントに対するQAの向き合い⽅ チームで品質に向き合うエンジニアとQAそれぞれの取り組み NEWT Tech Talk vol.10 QA Engineer ⾼⽊ 涼⼦

Slide 2

Slide 2 text

© 2023 Reiwa Travel, Inc.
 2
 Background 2018年4⽉:株式会社SHIFTに新卒⼊社 ● 広告配信システムや決済系アプリなどのQA 業務を担当 ● チームリーダーとしてメンバーのマネジメ ントや育成業務なども⾏う 2022年9⽉:令和トラベルに⼊社 ● NEWT app/webのQA業務を幅広く担当 Like ● ディズニー ● 脱出ゲーム ● 旅⾏ QA Engineer ⾼⽊ 涼⼦

Slide 3

Slide 3 text

© 2023 Reiwa Travel, Inc.
 今⽇のテーマ QAはインシデントに どう向き合えるか?

Slide 4

Slide 4 text

© 2023 Reiwa Travel, Inc.
 インシデントとは?

Slide 5

Slide 5 text

© 2023 Reiwa Travel, Inc.
 インシデントとは 5
 ツアーが 検索できない 予約したホテルに 泊まれない 基幹システムが 開けない 誰かしらに影響がある障害 →予約前のカスタマー →旅⾏中のカスタマー →社内メンバー

Slide 6

Slide 6 text

© 2023 Reiwa Travel, Inc.
 インシデントとは 6
 インシデント対応フロー 1. 気づいた⼈がインシデントチャンネルに第⼀報を投下 2. コントローラーを⽴てて、不具合内容/影響度からレベル判断 a. レベルとは:L0/L1/L2/L3で定義、L0が⼀番深刻な障害(サーバー全停⽌など) 3. レベルごとのフローに従って対応 a. L0/L1:即時の原因究明&暫定対応が求められる b. L2/L3:ベストエフォートで対応 →PM/エンジニア/QAがそれぞれ協⼒しあって対応

Slide 7

Slide 7 text

© 2023 Reiwa Travel, Inc.
 わたしがQAとして 直⾯した課題

Slide 8

Slide 8 text

© 2023 Reiwa Travel, Inc.
 QAはインシデントを 直すことができない

Slide 9

Slide 9 text

© 2023 Reiwa Travel, Inc.
 わたし:開発経験なし コードも読めない

Slide 10

Slide 10 text

© 2023 Reiwa Travel, Inc.
 振り返りを積極的にやる? 事前にQAフェーズで インシデントの芽を摘む? →インシデントを0にすることはできない

Slide 11

Slide 11 text

© 2023 Reiwa Travel, Inc.
 QAがインシデントに対して リアルタイムでできることって ないんだっけ?

Slide 12

Slide 12 text

© 2023 Reiwa Travel, Inc.
 ⾃問⾃答し続けて たどり着いた答えを 紹介します!

Slide 13

Slide 13 text

© 2023 Reiwa Travel, Inc.
 1. そもそも⾃分で最速で⾒つける 2. 各チームの橋渡し役になる

Slide 14

Slide 14 text

© 2023 Reiwa Travel, Inc.
 1. そもそも⾃分で最速で⾒つける 2. 各チームの橋渡し役になる

Slide 15

Slide 15 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 15
 2024/4以降でiOS/Android/webで検知したインシデント QAメンバーが検知:78% わたしが検知:56%

Slide 16

Slide 16 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 16
 カスタマー⽬線での リリース時本番確認 push通知/メールは 全て開いて確認 インシデント検知のためにやっていること QAフロー内 QAフロー外

Slide 17

Slide 17 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 17
 テスト環境でのQAと違って、全て のパターンを本番確認することは 不可能 →カスタマーが最も通りやすいパ ターンで、カスタマーの気持ちに なって操作 カスタマー⽬線でのリリース時本番確認

Slide 18

Slide 18 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 18
 push通知/メールは⾃動送信して いるものも多く、全てを事前にQA することはできない →⾃分に届いたものは全て開いて 確認し、少しでも気になることが あればエスカレ push通知/メールは全て開いて確認

Slide 19

Slide 19 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 19
 カスタマー⽬線での リリース時本番確認 push通知/メールは 全て開いて確認 チームで形式知化するために 全社的な意識づけ 🦋ラベルの運用 QAフロー内 QAフロー外

Slide 20

Slide 20 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 20
 Regressionや本番確認で検知した 不具合に関しては、都度振り返り を実施 →仕様/開発/QA段階のどこで防ぐ ことができたかを確認 🦋ラベルの運⽤

Slide 21

Slide 21 text

© 2023 Reiwa Travel, Inc.
 そもそも⾃分で最速で⾒つける 21
 マーケティングチームとも連携し、全社にも広報 全社的な意識づけ

Slide 22

Slide 22 text

© 2023 Reiwa Travel, Inc.
 インシデントを直せなくても 徹底的なカスタマー⽬線で 検知することはできる

Slide 23

Slide 23 text

© 2023 Reiwa Travel, Inc.
 1. そもそも⾃分で最速で⾒つける 2. 各チームの橋渡し役になる

Slide 24

Slide 24 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 24
 (再掲)インシデント対応フロー 1. 気づいた⼈がインシデントチャンネルに第⼀報を投下 2. コントローラーを⽴てて、不具合内容/影響度からレベル判断 a. レベルとは:L0/L1/L2/L3で定義、L0が⼀番深刻な障害(サーバー全停⽌など) 3. レベルごとのフローに従って対応 a. L0/L1:即時の原因究明&暫定対応が求められる b. L2/L3:ベストエフォートで対応 →PM/エンジニア/QAがそれぞれ協⼒しあって対応

Slide 25

Slide 25 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 25
 (再掲)インシデント対応フロー 1. 気づいた⼈がインシデントチャンネルに第⼀報を投下 2. コントローラーを⽴てて、不具合内容/影響度からレベル判断 a. レベルとは:L0/L1/L2/L3で定義、L0が⼀番深刻な障害(サーバー全停⽌など) 3. レベルごとのフローに従って対応 a. L0/L1:即時の原因究明&暫定対応が求められる b. L2/L3:ベストエフォートで対応 →PM/エンジニア/QAがそれぞれ協⼒しあって対応

Slide 26

Slide 26 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 26
 (再掲)インシデント対応フロー 1. 気づいた⼈がインシデントチャンネルに第⼀報を投下 2. コントローラーを⽴てて、不具合内容/影響度からレベル判断 a. レベルとは:L0/L1/L2/L3で定義、L0が⼀番深刻な障害(サーバー全停⽌など) 3. レベルごとのフローに従って対応 a. L0/L1:即時の原因究明&暫定対応が求められる b. L2/L3:ベストエフォートで対応 →PM/エンジニア/QAがそれぞれ協⼒しあって対応 カスタマーからの問い合わせ →トラベルサポートチームが対応

Slide 27

Slide 27 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 27
 トラベルサポートチームは、カスタマーサポートのプロであって プロダクトのプロではない

Slide 28

Slide 28 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 28
 トラベルサポートチームは、カスタマーサポートのプロであって プロダクトのプロではない トラベルサポートチーム どこまでの調査でエンジニアに質問 してよいのかわからない →第⼀報を上げるのが遅れる&上げ ても不安な状態で待つことになる プロダクトチーム 直接カスタマーとコミュニケーショ ンを取れない →第⼀報が上がってきても、カスタ マーの状況が詳細に掴み取れないこ とがある

Slide 29

Slide 29 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 29
 トラベルサポートチームは、カスタマーサポートのプロであって プロダクトのプロではない トラベルサポートチーム どこまでの調査でエンジニアに質問 してよいのかわからない →第⼀報を上げるのが遅れる&上げ ても不安な状態で待つことになる プロダクトチーム 直接カスタマーとコミュニケーショ ンを取れない →第⼀報が上がってきても、カスタ マーの状況が詳細に掴み取れないこ とがある QAエンジニアだからこそ できることは…?

Slide 30

Slide 30 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 30
 とにかく早く レスポンスする 調査しやすいように ⾔語化する 回避策を⾒つけて 共有する わたしが意識していること 心理的安全性 メンバーの橋渡し カスタマー目線

Slide 31

Slide 31 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 31
 第⼀報を投げても誰かから返信が 返ってくるまでとても不安 →とにかく、⾒てるよ、今再現確 認してるよ、とアピール ※これを意識したことで、普段から少し気軽 に質問してもらえるようになりました とにかく早くレスポンスする

Slide 32

Slide 32 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 32
 例:トラベルリンクできない ● できないってどの画⾯で? ● エラーが出る?ボタンが押せない? ● iOS/Android 再現verは? →再現確認を通して、障害をエンジニア がより調査しやすいように⾔語化 調査しやすいように⾔語化する 旅行者から同行者に 旅程をかんたんに シェアできる機能

Slide 33

Slide 33 text

© 2023 Reiwa Travel, Inc.
 各チームの橋渡し役になる 33
 例:特定の画⾯が表⽰されない この導線では出るけどこの導線では出な いから、⼀旦回避策としてこの導線を 使ってもらってね、など カスタマーへのコミュニケーション⽅法 を伝える 回避策を⾒つけて共有する

Slide 34

Slide 34 text

© 2023 Reiwa Travel, Inc.
 インシデントを直せなくても 寄り添って⾔語化することはできる

Slide 35

Slide 35 text

© 2023 Reiwa Travel, Inc.
 まとめ

Slide 36

Slide 36 text

© 2023 Reiwa Travel, Inc.
 QAはインシデントにどう向き合えるか? 1. そもそも⾃分で最速で⾒つける a. 徹底的なカスタマー⽬線で検知 2. 各チームの橋渡し役になる a. できるだけ寄り添って⾔語化

Slide 37

Slide 37 text

Thank you!
 CONFIDENTIAL
 © 2023 Reiwa Travel, Inc.
 37