Slide 1

Slide 1 text

X @kotomin_m #phpcondo_yasai エラー発生時に冷静に対処している 先輩は何を考えているのか 2024/01/11 ことみん@kotomin_m (非公式)PHPカンファレンス北海道2024 全然野菜

Slide 2

Slide 2 text

X @kotomin_m #phpcondo_yasai

Slide 3

Slide 3 text

X @kotomin_m #phpcondo_yasai ことみん@kotomin_m 所属:株式会社ウィルゲート 出身:北海道沙流郡日高町 趣味:LT会とカンファレンスとネイル おすすめの北海道土産:ぽてコタン

Slide 4

Slide 4 text

X @kotomin_m #phpcondo_yasai 先輩は何を考えているのか 1. プロダクト開発担当者としてのスタンス 2. チームや事業部との連携 3. 不具合やエラーの対応方法

Slide 5

Slide 5 text

プロダクト開発担当者としての スタンス

Slide 6

Slide 6 text

X @kotomin_m #phpcondo_yasai 「自分がこのプロダクトの開発・保守を担当するエ ンジニアなんだ!!」 ❌ エラー通知は誰かが気づいて対応してくれるだろう ⭕ 自分が対応するんだ! スタンス

Slide 7

Slide 7 text

X @kotomin_m #phpcondo_yasai 「エラーや不具合に即反応するぞ!!」 ● 事業部との連携用のチャンネル ● エラー通知チャンネル ● など スタンス

Slide 8

Slide 8 text

X @kotomin_m #phpcondo_yasai 即反応するとは言っても・・・ ● 休みや旅行中とかはSlack見ない ○ チームメンバーに任せましょう ● でも、ときには業務時間外の通知でも気付けるよ うに、特定チャンネルだけ通知設定してる ○ 起きている時間帯だけ スタンス

Slide 9

Slide 9 text

チームや事業部との 連携

Slide 10

Slide 10 text

X @kotomin_m #phpcondo_yasai 連携 チームメンバーと連携を取る! ● エラー通知やメッセージに気づいたと知らせる ○ 誰が見ても今から対応しようとしていることが分かる ことが大事 ● 対応中はすべてログをテキストで残す ○ 例)XXController.php@indexでエラーになっている ○ エラー通知のスレッドや、調査用のスレッドに残す

Slide 11

Slide 11 text

X @kotomin_m #phpcondo_yasai 連携 チームメンバーと連携を取る! ● わからないことはわかる人に頼り、自分だけで判 断しない ○ 方針を考えて伝えるのは必要だが、これでヨシ!かど うかは必ず相談する

Slide 12

Slide 12 text

X @kotomin_m #phpcondo_yasai 連携 事業部と連携を取る! ● ユーザに影響があるエラーや不具合とわかる場 合、修正よりも先に事業部に連絡 ○ エラーになっている問い合わせがユーザからあるかも ○ 対応方針に事業部の判断が必要かも ○ ユーザへのお知らせが必要かも

Slide 13

Slide 13 text

X @kotomin_m #phpcondo_yasai 連携 事業部と連携を取る! ● 緊急度が高いときは連絡方法を工夫する ○ 緊急感が伝わる絵文字を使う ● 影響範囲・対応方針が分かる場合は一緒に連絡する ○ でも、ガチで急ぎなら簡単な連絡でもいい ■ 「今エラーでXX画面が開けないので調査中です」

Slide 14

Slide 14 text

不具合やエラーの 対応方法

Slide 15

Slide 15 text

X @kotomin_m #phpcondo_yasai まずやること ● エラーメッセージを読む ○ どこ(ファイル・機能)でエラーになっているのか? ○ なぜエラーになっているのか? ● 過去に同じエラーは来ていないか確認 ● 直前・最近デプロイしたものを疑う 対応方法

Slide 16

Slide 16 text

X @kotomin_m #phpcondo_yasai 原因を調査する ● 再現する不具合か? ○ 実際に触って確認してみる ● DBのデータが正しいか? ○ 想定した通り保存されているか?されていない! → こうなる原因のコードはどこだ!という調査 対応方法

Slide 17

Slide 17 text

X @kotomin_m #phpcondo_yasai 原因を調査する ● コードを読む ○ IDEとか活用してジャンプしたりしてたどる ○ 普段の開発とあまり変わらない 対応方法

Slide 18

Slide 18 text

X @kotomin_m #phpcondo_yasai 影響範囲を把握・緊急度を考える ● どこでどのように利用されている機能か? ● エラーになるのはどんなときか? ○ 例)トップ画面を開いたらエラーで真っ白になる → 緊急度が高い ○ 例)一部のユーザの特定の画面で特定の操作 → 緊急度が低い 対応方法

Slide 19

Slide 19 text

X @kotomin_m #phpcondo_yasai 影響範囲を把握・緊急度を考える ● 今すぐに対応が必要かを判断するのは早い方がいい ○ 障害の場合長引くと影響範囲が大きくなる ● 連続して数件〜数十件のエラーが来る ○ 緊急度が高い場合が多い(かも) ● たった1件のエラーだったとしても、重要な機能の不 具合の場合もある 対応方法

Slide 20

Slide 20 text

X @kotomin_m #phpcondo_yasai 対応方法 対応方針を考える ● 明らかに直前のマージが原因ならrevertする ● コードの修正が必要なとき ○ 優先度・緊急度で対応方針を判断する(判断を仰ぐ) ● そもそもこれは修正が必要なものか? ○ 必ずしも修正が必要無い場合もある ○ 例)利用している外部API側が原因の場合

Slide 21

Slide 21 text

X @kotomin_m #phpcondo_yasai ことみん先輩は何を考えているのか 1. プロダクト開発担当者としてのスタンス 2. チームや事業部との連携 3. 不具合やエラーの対応方法

Slide 22

Slide 22 text

X @kotomin_m #phpcondo_yasai おわり。