Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
Search
Tech Leverages
October 12, 2023
Technology
0
590
ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
## 技術
SRE, ポストモーテム, DevOps, SECIモデル, メンタルモデル, ダイアローグ, SLI, SLO
Tech Leverages
October 12, 2023
Tweet
Share
More Decks by Tech Leverages
See All by Tech Leverages
We Are PdE!! 〜高価値なプロダクトを作れるようになるための勉強会〜
leveragestech
1
560
Prisma Typed SQLのススメ
leveragestech
1
84
今日から始める技術的負債の解消
leveragestech
3
530
ドキュメントとの付き合い方を考える
leveragestech
2
200
開発者体験を向上させる ボトムアップな組織改善
leveragestech
1
240
市場価値の高いエンジニアを 目指そう!!
leveragestech
2
66
より快適なエラーログ監視を目指して
leveragestech
5
1.7k
絶賛設計中!参画者のエンゲージメントを最大化する体験重視のオンボーディング
leveragestech
1
120
SREが強化するべき組織のケイパビリティ
leveragestech
0
100
Other Decks in Technology
See All in Technology
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.8k
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
130
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
430
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
720
SSMRunbook作成の勘所_20241120
koichiotomo
3
180
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
200
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
200
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Code Review Best Practice
trishagee
64
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
GitHub's CSS Performance
jonrohan
1030
460k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
BBQ
matthewcrist
85
9.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
RailsConf 2023
tenderlove
29
900
Transcript
ポストモーテムは学びの場! 〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 2 • ポストモーテムは学びの場 • メンタルモデルを意識した振り返り • 発生対策と流出対策
この発表を通して伝えたいこと✉ ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 3 • 前半(学び編) ◦ ポストモーテムとその周辺の知識 ◦ ポストモーテム実施のコツ
• 後半(実践編) ◦ 組織のより良いポストモーテムを目指してやったこと ▪ 弊社での実際の取り組みを知りたい方は後編をご覧ください 本資料の構成⚙ ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
小堺 拓実 • 所属 ◦ レバテック開発部 基盤システムグループ • 出身 ◦
東京の下町 • 趣味 ◦ 任天堂 • 最近のトピック ◦ 第一子の子育てを楽しんでいます ◦ 右の画像は多いと週に3回は食べるTMCカ レーです。美味しいよ。 自己紹介
| © Leverages inc. 5 ポストモーテム is 何?
| © Leverages inc. 6 ポストモーテム 🟰 事後検証・検視・死体解剖
| © Leverages inc. 7 ポストモーテムは SREのプラクティス
| © Leverages inc. 8 インシデントとそのインパクト、その緩和や解消のために行われたアクション、 根本原因、インシデントの再発を避けるためのフォローアップのアクションを記 録するために書かれるドキュメント
| © Leverages inc. 9 失敗から学び、同じ過ちを繰り返さないこと
| © Leverages inc. 10 弊社でも導入されました🥛 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 11 けど実際やってみると
| © Leverages inc. 12 なーんかうまくいかない 😣
| © Leverages inc. 13 • 再発防止策が思いつかない • 観点と対策がズレている • ドキュメントを埋めることだけ考えている
なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 14 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ インシデントを深く振り返る • 観点と対策がズレている ◦ 観点を学ぶ ◦ 対策の勘所を磨く • ドキュメントを埋めることだけ考えている ◦ ポストモーテムの目的・心構えを知る なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 15 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ インシデントを深く振り返る • 観点と対策がズレている ◦ 観点を学ぶ ◦ 対策の勘所を磨く • ドキュメントを埋めることだけ考えている ◦ 👉ポストモーテムの目的・心構えを知る なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
心構え ポストモーテム徹底攻略
| © Leverages inc. 17 心構え其の一 学ぼうとする精神
| © Leverages inc. 18 なぜ、学びが大事なのか?
| © Leverages inc. 19 そりゃあ、同じ失敗を繰り返さないため でしょう?
| © Leverages inc. 20 ポストモーテムは SREのプラクティス
| © Leverages inc. 21
| © Leverages inc. 22 class SRE implements interface DevOps
| © Leverages inc. 23 DevOpsとは
| © Leverages inc. 24 なぜ、学びが大事なのか
| © Leverages inc. 25 なぜ、学びが大事なのか
| © Leverages inc. 26 スクラム開発🏉
| © Leverages inc. 27 なぜ、学びが大事なのか
| © Leverages inc. 28 なぜ、学びが大事なのか
| © Leverages inc. 29 なぜ、学びが大事なのか
| © Leverages inc. 30 失敗を研究することで、未来に繋げる
| © Leverages inc. 31 なぜ、学びが大事なのか
| © Leverages inc. 32 失敗から学ぶことが重要で、 学びは組織を強くする
| © Leverages inc. 33 一番大事なのは、学ぼうとする精神
| © Leverages inc. 34 心構え其の二 批判をしない
| © Leverages inc. 35 事故は普通にある
| © Leverages inc. 36 心構え其の二 批判をしない
| © Leverages inc. 37 心構え其の二 批判をしない 引用:ノートラブルシステムへの道
| © Leverages inc. 38 心構え其の二 批判をしない 引用:ノートラブルシステムへの道
| © Leverages inc. 39 心構え其の二 批判をしない 引用:ノートラブルシステムへの道
| © Leverages inc. 40 個人を責めたり犯人探しが 始まるとどうなるか?
| © Leverages inc. 41 透明性の欠如
| © Leverages inc. 42 事実がわかりづらくなり、 同時に学びづらくなる。
| © Leverages inc. 43 批判をしない
| © Leverages inc. 44 残りはさらっと行きます🏃
| © Leverages inc. 45 心構え其の三 熱いうちに叩く
| © Leverages inc. 46 • 理想は、24時間以内にポストモーテムを実施すること 心構え其の三 熱いうちに叩く
| © Leverages inc. 47 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? 心構え其の三 熱いうちに叩く
| © Leverages inc. 48 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
心構え其の三 熱いうちに叩く
| © Leverages inc. 49 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 心構え其の三 熱いうちに叩く
| © Leverages inc. 50 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 ◦ 失敗の背景にある感情やエネルギーを活用する為 心構え其の三 熱いうちに叩く
| © Leverages inc. 51 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 ◦ 失敗の背景にある感情やエネルギーを活用する為 ▪ 例:交通事故にニアミス 心構え其の三 熱いうちに叩く
| © Leverages inc. 52 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 ◦ 失敗の背景にある感情やエネルギーを活用する為 ▪ 例:交通事故にニアミス • その後しばらくは気をつける 心構え其の三 熱いうちに叩く
| © Leverages inc. 53 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 ◦ 失敗の背景にある感情やエネルギーを活用する為 ▪ 例:交通事故にニアミス • その後しばらくは気をつける • いつしか、信号待ち中に携帯を見るようになっている 心構え其の三 熱いうちに叩く
| © Leverages inc. 54 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 ◦ 失敗の背景にある感情やエネルギーを活用する為 ▪ 例:交通事故にニアミス • その後しばらくは気をつける • いつしか、信号待ち中に携帯を見るようになっている ▪ モチベーションが高いうちにやろう 心構え其の三 熱いうちに叩く
| © Leverages inc. 55 • 理想は、24時間以内にポストモーテムを実施すること • なぜか? ◦ インシデント発生から時間が経てば経つほど、記憶は薄れ、詳細が失われる。
▪ これによって、学びが薄れ、良い改善に繋がらなくなる。 ◦ 失敗の背景にある感情やエネルギーを活用する為 ▪ 例:交通事故にニアミス • その後しばらくは気をつける • いつしか、信号待ち中に携帯を見るようになっている ▪ モチベーションが高いうちにやろう 心構え其の三 熱いうちに叩く 熱いうちに叩く!
| © Leverages inc. 56 心構え其の四 根性論は禁止
| © Leverages inc. 57 心構え其の四 根性論は禁止 ノートラブルシステムへの道より
| © Leverages inc. 58 • 学ぼうとする精神 • 批判をしない • 熱いうちに叩く
• 根性論は禁止 心構えまとめ 🍀 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 59 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ インシデントを深く振り返る • 観点と対策がズレている ◦ 観点を学ぶ ◦ 対策の勘所を磨く • ドキュメントを埋めることだけ考えている ◦ 👉ポストモーテムの目的・心構えを知る ✅ なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 60 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ 👉インシデントを深く振り返る • 観点と対策がズレている ◦ 観点を学ぶ ◦ 対策の勘所を磨く • ドキュメントを埋めることだけ考えている ◦ ポストモーテムの目的・心構えを知る ✅ なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
深く振り返る ポストモーテム徹底攻略
| © Leverages inc. 62 深く振り返るには 他人のメンタルモデルまで知る
| © Leverages inc. 63 メンタルモデル?🤔
| © Leverages inc. 64 メンタルモデルとは、マサチューセッツ工科大学のピーター・センゲ氏が 提唱する「学習する組織論」で紹介されている、私たちが物事を捉える 際の前提です。 メンタルモデルは、過去の経験を通して形成され、レンズのような働き をします。(ダイアローグより参照) メンタルモデル
is 何 📛 メンタルモデルを知る
| © Leverages inc. 65 例えば
| © Leverages inc. 66 犬🐶に出会った時の メンタルモデルの差を見てみよう
| © Leverages inc. 67 犬を飼っていて、可愛がった経験のある人 メンタルモデルを知る 😊 観測 観測 犬は自分を癒してくれる
存在であるというメンタルモデル
| © Leverages inc. 68 小さい頃に犬に吠えられたり、追いかけられた経験のある人 メンタルモデルを知る 😨 観測 観測 犬は危険な存在である
というメンタルモデル
| © Leverages inc. 69 メンタルモデルとは、マサチューセッツ工科大学のピーター・センゲ氏が 提唱する「学習する組織論」で紹介されている、私たちが物事を捉える 際の前提です。 メンタルモデルは、過去の経験を通して形成され、レンズのような働き をします。(ダイアローグより参照) メンタルモデル
is 何 📛 メンタルモデルを知る
| © Leverages inc. 70 で、メンタルモデルが ポストモーテムとどう関係あるの?
| © Leverages inc. 71 システムやプロセスに対するメンタルモデルを知る ことで、失敗がどのように起きるか 理解する鍵になる。
| © Leverages inc. 72 例えば
| © Leverages inc. 73 インシデントはA田さんとB塚さんが対応しました。 A田さんはエラー文をググったりしたものの原因がわからず。 しかし、程なくしてB塚さんが原因を突き止め、解決に至りました。 とあるインシデントにて 🏢 メンタルモデルを知る
| © Leverages inc. 74 インシデントはA田さんとB塚さんが対応しました。 A田さんはエラー文をググったりしたものの原因がわからず。 しかし、程なくしてB塚さんが原因を突き止め、解決に至りました。 A田「B塚さん、どうして原因がわかったんですか?」 とあるインシデントにて 🏢
メンタルモデルを知る
| © Leverages inc. 75 インシデントはA田さんとB塚さんが対応しました。 A田さんはエラー文をググったりしたものの原因がわからず。 しかし、程なくしてB塚さんが原因を突き止め、解決に至りました。 A田「B塚さん、どうして原因がわかったんですか?」 B塚「実は、、」 とあるインシデントにて
🏢 メンタルモデルを知る
| © Leverages inc. 76 • 以前に似たような障害があって とあるインシデントにて 🏢 メンタルモデルを知る
| © Leverages inc. 77 • 以前に似たような障害があって • インフラ構成がhogehogeだから、fugaを疑ってみたらそれが答えだった とあるインシデントにて 🏢
メンタルモデルを知る
| © Leverages inc. 78 • 以前に似たような障害があって • インフラ構成がhogehogeだから、fugaを疑ってみたらそれが答えだった • アプリケーションログだけじゃなくてこっちも見ないといけなくて〜
とあるインシデントにて 🏢 メンタルモデルを知る
| © Leverages inc. 79 • 以前に似たような障害があって • インフラ構成がhogehogeだから、fugaを疑ってみたらそれが答えだった • アプリケーションログだけじゃなくてこっちも見ないといけなくて〜
• などなど。。 とあるインシデントにて 🏢 メンタルモデルを知る
| © Leverages inc. 80 • 以前に似たような障害があって〜 • インフラ構成がhogehogeだから、fugaを疑ってみたらそれが答えだった • アプリケーションログだけじゃなくてこっちも見ないといけなくて〜
• などなど。。 とあるインシデントにて 🏢 メンタルモデルを知る これらは全て、暗黙知の可能性があります
| © Leverages inc. 81 ある日インシデントを起こしてしまった A田さん。ポストモーテムにて。 B塚「A田さんは、どうしてこの時 hogehogeしようと思ったの?」 A田「それは、、」 とあるインシデントにて2
🏢🏢 メンタルモデルを知る
| © Leverages inc. 82 • バッチの存在を知らなくて、、 • NULL許容になっていると思わなくて、、 • ALB使ってたんですね、、
• などなど。。 とあるインシデントにて2 🏢🏢 メンタルモデルを知る
| © Leverages inc. 83 • バッチの存在を知らなくて、、 • NULL許容になっていると思わなくて、、 • ALB使ってたんですね、、
• などなど。。 とあるインシデントにて2 🏢🏢 メンタルモデルを知る これらは全て、暗黙知の可能性があります
| © Leverages inc. 84 暗黙知を形式知に
| © Leverages inc. 85 • ドキュメント化 暗黙知を形式知に ✍ メンタルモデルを知る
| © Leverages inc. 86 • ドキュメント化 ◦ アラート対応手順書 ▪ アラート内容にリンクを含めるとさらに効率
UP 暗黙知を形式知に ✍ メンタルモデルを知る
| © Leverages inc. 87 • ドキュメント化 ◦ アラート対応手順書 ▪ アラート内容にリンクを含めるとさらに効率
UP ◦ システム構成図・インフラ構成図 ▪ Githubで管理するのがおすすめ ▪ sudoモデリング図でさらに理解が深まる 暗黙知を形式知に ✍ メンタルモデルを知る
| © Leverages inc. 88 • ドキュメント化 ◦ アラート対応手順書 ▪ アラート内容にリンクを含めるとさらに効率
UP ◦ システム構成図・インフラ構成図 ▪ Githubで管理するのがおすすめ ▪ sudoモデリング図でさらに理解が深まる ◦ テスト仕様書・テスト観点 ▪ コスト検討しながらテスト自動化 暗黙知を形式知に ✍ メンタルモデルを知る
| © Leverages inc. 89 • ドキュメント化 ◦ アラート対応手順書 ▪ アラート内容にリンクを含めるとさらに効率
UP ◦ システム構成図・インフラ構成図 ▪ Githubで管理するのがおすすめ ▪ sudoモデリング図でさらに理解が深まる ◦ テスト仕様書・テスト観点 ▪ コスト検討しながらテスト自動化 ◦ ポストモーテム ▪ ポストモーテム読書会・発表会 ▪ チーム外の人が読んでもわかるような内容にすることがポイント • チームや領域特有のワードに解説を入れるなど 暗黙知を形式知に ✍ メンタルモデルを知る
| © Leverages inc. 90 • ドキュメント化 ◦ アラート対応手順書 ▪ アラート内容にリンクを含めるとさらに効率
UP ◦ システム構成図・インフラ構成図 ▪ Githubで管理するのがおすすめ ▪ sudoモデリング図でさらに理解が深まる ◦ テスト仕様書・テスト観点 ▪ コスト検討しながらテスト自動化 ◦ ポストモーテム ▪ ポストモーテム読書会・発表会 ▪ チーム外の人が読んでもわかるような内容にすることがポイント • チームや領域特有のワードに解説を入れるなど 暗黙知を形式知に ✍ メンタルモデルを知る オンボーディングにも使える!✌
| © Leverages inc. 91 ドキュメント化つらい😩
| © Leverages inc. 92 少しづつやりましょう。
| © Leverages inc. 93 そもそもドキュメント化に モチベーションがない🙉
| © Leverages inc. 94 ドキュメント化を奨励する 文化も必要
| © Leverages inc. 95 • 一緒にやる 暗黙知を形式知に メンタルモデルを知る
| © Leverages inc. 96 • 一緒にやる ◦ 調査・設計・実装 ▪ ペアプロ
▪ モブプロ ▪ これだけで一人の知識ではなくなる 暗黙知を形式知に メンタルモデルを知る
| © Leverages inc. 97 • 一緒にやる ◦ 調査・設計・実装 ▪ ペアプロ
▪ モブプロ ▪ これだけで一人の知識ではなくなる ◦ 障害対応 ▪ ベテランの指示を受けながら、新米が作業する ▪ 最優先で対応しないと!と言ってベテランがずっとやってると後続が育たない • スピードは成長とトレードオフ 暗黙知を形式知に メンタルモデルを知る
| © Leverages inc. 98 メンタルモデルを知ることで暗黙知を認識 して、形式知に昇華する。
| © Leverages inc. 99 メンタルモデルを知るプラクティス
| © Leverages inc. 100 ポストモーテムのタイムライン
| © Leverages inc. 101 • タイムラインに必要な情報 ◦ どのようなアクションやイベントがあったのか ◦ 誰がそれを行ったのか
◦ それが行われた時刻はいつか 前提:ポストモーテムのタイムラインとは ⏰ メンタルモデルを知る
| © Leverages inc. 102 • 質問の例 ◦ なぜそれが正しい行動だと感じたのか タイムラインを見て、行動の背景にある動機を質問する
メンタルモデルを知る
| © Leverages inc. 103 • 質問の例 ◦ なぜそれが正しい行動だと感じたのか ◦ システムで何が起こっているかについて、なぜそのように解釈したのか
タイムラインを見て、行動の背景にある動機を質問する メンタルモデルを知る
| © Leverages inc. 104 • 質問の例 ◦ なぜそれが正しい行動だと感じたのか ◦ システムで何が起こっているかについて、なぜそのように解釈したのか
◦ 他の行動を検討したか、検討した場合、なぜそれを排除したのか タイムラインを見て、行動の背景にある動機を質問する メンタルモデルを知る
| © Leverages inc. 105 • 質問の例 ◦ なぜそれが正しい行動だと感じたのか ◦ システムで何が起こっているかについて、なぜそのように解釈したのか
◦ 他の行動を検討したか、検討した場合、なぜそれを排除したのか ◦ 誰か他の人がそのアクションをとる場合、あなたがその時に持っていた知識をその人はどのよう に得るか タイムラインを見て、行動の背景にある動機を質問する メンタルモデルを知る
| © Leverages inc. 106 • スプリントゴール達成を優先する為に障害対応を後回しにした • 周りに頼れる人がいなかった • など。。
隠れた事実が見えてくることも🔎 メンタルモデルを知る
| © Leverages inc. 107 • メンタルモデルは、その人の経験から形成されるフィルター 「深く振り返る」まとめ 🏄 メンタルモデルを知る
| © Leverages inc. 108 • メンタルモデルは、その人の経験から形成されるフィルター • メンタルモデルを知ることで、暗黙知や隠れた事実が見えてくる 「深く振り返る」まとめ 🏄
メンタルモデルを知る
| © Leverages inc. 109 • メンタルモデルは、その人の経験から形成されるフィルター • メンタルモデルを知ることで、暗黙知や隠れた事実が見えてくる • メンタルモデルを知るには、タイムラインをヒントに質問する
「深く振り返る」まとめ 🏄 メンタルモデルを知る
| © Leverages inc. 110 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ 👉インシデントを深く振り返る ✅ • 観点と対策がズレている ◦ 観点を学ぶ ◦ 対策の勘所を磨く • ドキュメントを埋めることだけ考えている ◦ ポストモーテムの目的・心構えを知る ✅ なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 111 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ インシデントを深く振り返る ✅ • 観点と対策がズレている ◦ 👉観点を学ぶ ◦ 👉対策の勘所を磨く • ドキュメントを埋めることだけ考えている ◦ ポストモーテムの目的・心構えを知る ✅ なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
対策の勘所を磨く ポストモーテム徹底攻略
| © Leverages inc. 113 早期検出 再発防止 影響緩和 早期復旧
| © Leverages inc. 114 早期検出 再発防止 影響緩和 早期復旧 発生対策と流出対策
| © Leverages inc. 115 発生対策 トラブルが発生しないようにするための対策 流出対策 トラブルが発生した際に外部に出ないための (万が一起きても大丈夫にする)対策
| © Leverages inc. 116 例:工場の2階で工具を落とし、頭に当たる事故が頻発する。 発生対策と流出対策の例 対策の勘所を磨く
| © Leverages inc. 117 例:工場の2階で工具を落とし、頭に当たる事故が頻発する。 • 落としても大丈夫なように工具に紐をつけておく 発生対策と流出対策の例 対策の勘所を磨く
| © Leverages inc. 118 例:工場の2階で工具を落とし、頭に当たる事故が頻発する。 • 落としても大丈夫なように工具に紐をつけておく • 落としても大丈夫なように工場内ではヘルメットを着用 発生対策と流出対策の例
対策の勘所を磨く
| © Leverages inc. 119 例:問い合わせを受けて SQLクエリを流したところ、意図しないデータを消してしまった。 発生対策と流出対策の例 対策の勘所を磨く
| © Leverages inc. 120 例:問い合わせを受けて SQLクエリを流したところ、意図しないデータを消してしまった。 • クエリを流すプログラムを組んで、機械的に実行する仕組みを作る。 発生対策と流出対策の例 対策の勘所を磨く
| © Leverages inc. 121 例:問い合わせを受けて SQLクエリを流したところ、意図しないデータを消してしまった。 • クエリを流すプログラムを組んで、機械的に実行する仕組みを作る。 • データのバックアップを取っておき、すぐにロールバック出来るようにしておく。
発生対策と流出対策の例 対策の勘所を磨く
| © Leverages inc. 122 両軸で進めることで インシデントを減らせる!
| © Leverages inc. 123 引用:ノートラブルシステムへの道
| © Leverages inc. 124 早期検出 再発防止 影響緩和 早期復旧 4つの観点のポイント
| © Leverages inc. 125 • ありがちな再発防止 ◦ 〇〇を徹底する ◦ ちょっと待ってほしい
▪ 徹底できていなかったから障害が発生したってこと?であれば、なぜ徹底出来なかったのか、その状況を改善するにはどうすれば良いかまで考 察しないと! ▪ 例 • 実は、人によってタスクの作り方に差があって、テストのタスクが漏れてしまったんですよね。当時リリース前で急いでいたのもあって、 誰も気づけませんでした。 • なるほど、じゃあ、タスクをテンプレート化して、人による差異が出ないようにしよう。 • でも、テンプレートを使うのを忘れてしまうかも。 • いや、普通にタスクを作るよりもテンプレを使う方が楽であれば、忘れることはないと思うよ。人は楽な方に流れるから。 • テストを実施していたとしても、観点によっては防げなかったかも。 • なるほど、じゃあテスト観点書が必要かな。 • そもそも、そのテストって自動化出来ないかな? ▪ このように、再発防止策は様々なレベルとコストが存在します。 ▪ これらをどこまでやるかに正解はないので、考えなければなりません。 ◦ 安易なプロセスの追加 ▪ もう一つありがちな話。 ▪ 今回の事態を繰り返さないように、〇〇さんに必ずレビューと承認を得るようにフローを変えよう。 • パターナリスト症候群と呼ばれる • ある行動の実行や承認に必要な資格や信頼性を持つのは特定の人物やグループであるという考えに基づいている。 • 短期的には妥当かもしれないが、すぐに生産性の低下を招く。 • なので、同時にその状態を解消する為の行動をする(自動化も考える) 再発防止 4つの観点のポイント
| © Leverages inc. 126 • 複数システムへの影響が出た場合 ◦ システム間連携を非同期にすることで、影響を抑えられるかも • 影響ユーザーを減らす
◦ 大抵、早期復旧が影響を減らすことに繋がることが多い。 影響緩和 4つの観点のポイント
| © Leverages inc. 127 • ありがちな早期検出 ◦ アラートにすぐ気づいたので OK! ▪
ちょっと待ってほしい ▪ アラートとはシステムがエラーを発したタイミングである。しかし、実際のところアラート発報の前に「システムはエラー が発生するかもしれない状態」になっている。 ▪ この状態を、アラート前に検出する方法を考えないと! 早期検出 4つの観点のポイント
| © Leverages inc. 128 • 結構早く対応できたと思うなあ ◦ ちょっと待ってほしい。その対応、少しでも早く改善できたかも ◦ 例えば
▪ アラートの内容はわかりやすいものだった? ▪ 調査するのに欲しい情報はログにあった?見やすい状態になっていた? ▪ 一人じゃなくて、複数人で対応に当たっていたらもっと早く解決できたかも? 早期復旧 4つの観点のポイント
| © Leverages inc. 129 • 再発防止策が思いつかない ◦ 知識を増やす ◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている)
◦ インシデントを深く振り返る ✅ • 観点と対策がズレている ◦ 👉観点を学ぶ ✅ ◦ 👉対策の勘所を磨く ✅ • ドキュメントを埋めることだけ考えている ◦ ポストモーテムの目的・心構えを知る ✅ なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 130 • 再発防止策が思いつかない ◦ 👉知識を増やす => 本を読みましょう😉
◦ 人に聞く・AIに聞く・ネットで調べる(大抵の問題は解決されている) ◦ インシデントを深く振り返る ✅ • 観点と対策がズレている ◦ 観点を学ぶ ✅ ◦ 対策の勘所を磨く ✅ • ドキュメントを埋めることだけ考えている ◦ ポストモーテムの目的・心構えを知る ✅ なぜ、うまくいかないのか?🤔 ポストモーテムは学びの場!〜組織のより良いポストモーテムを目指してやったこと〜
| © Leverages inc. 131 ポストモーテムの心構えもコツもわかった! ✊
| © Leverages inc. 132 あとはやるだけ!
| © Leverages inc. 133 実際やってみると、 発生対策も流出対策もいくつか出せると思う
| © Leverages inc. 134 で、この対策、全部やるの。。? 😥
| © Leverages inc. 135 改善策の実行が一番難しい問題
改善策を実行する ポストモーテム徹底攻略
| © Leverages inc. 137 何からやるか
| © Leverages inc. 138 まず考慮すべき軸が2つ
| © Leverages inc. 139 障害A どの障害に対して 対策を打つか 対策の中から どれを実行するか 障害A
障害B 障害C うーむ 🤔 対策A 対策B 対策C うーむ 🤔
| © Leverages inc. 140 障害A どの障害に対して 対策を打つか 対策の中から どれを実行するか 障害A
障害B 障害C うーむ 🤔 対策A 対策B 対策C うーむ 🤔
| © Leverages inc. 141 対策すべき障害としなくて良い障害がある?
| © Leverages inc. 142 いや、本当なら全て対策したい。
| © Leverages inc. 143 けど、それは様々な都合上難しい。
| © Leverages inc. 144 上手く付き合っていかないといけない
| © Leverages inc. 145 例えば 障害を数値化してわかりやすくする
| © Leverages inc. 146 対策すべき障害の数値化 = 影響度 * 頻度
| © Leverages inc. 147 • 影響度に含まれる要素 ◦ 影響を与えたユーザーの数 ◦ 解決するのにかかった時間
◦ 金銭的損失 ◦ 不整合データの数 ◦ など 障害の数値化🤖 改善策を実行する
| © Leverages inc. 148 • 影響度に含まれる要素 ◦ 影響を与えたユーザーの数 ◦ 解決するのにかかった時間
◦ 金銭的損失 ◦ 不整合データの数 ◦ など • 頻度 ◦ 過去同じような事象があった ◦ 将来同じような事象が起こりうる 障害の数値化🤖 改善策を実行する
| © Leverages inc. 149 • 影響度に含まれる要素 ◦ 影響を与えたユーザーの数 ◦ 解決するのにかかった時間
◦ 金銭的損失 ◦ 不整合データの数 ◦ など • 頻度 ◦ 過去同じような事象があった ◦ 将来同じような事象が起こりうる • これらの要素を数値化して ◦ 数値が大きいものから順に対応する ◦ 一定の数値を超えたものだけ対応する 障害の数値化🤖 改善策を実行する
| © Leverages inc. 150 もっときっちりやるなら、 エラーバジェットという考え方に則り SLI/SLOを設定するのが良い 参考:SLOをゼロから作る
| © Leverages inc. 151 障害A どの障害に対して 対策を打つか 対策の中から どれを実行するか 障害A
障害B 障害C うーむ 🤔 対策A 対策B 対策C うーむ 🤔
| © Leverages inc. 152 発生対策 トラブルが発生しないようにするための対策 流出対策 トラブルが発生した際に外部に出ないための (万が一起きても大丈夫にする)対策
| © Leverages inc. 153 再発防止策の実行が大変なこともしばしば
| © Leverages inc. 154 コスト 効果 やらない やる意味ある? めっちゃ大変 迷わずやる
対策の4象限
| © Leverages inc. 155 @頑張りすぎない
| © Leverages inc. 156 その代わり、流出対策は必ず実施する
| © Leverages inc. 157 まとめ
| © Leverages inc. 158 • ポストモーテムには「何かしら学ぼう」というメンタルで臨む 色々話したけど特に重要なこと3つ🙈🙊🙉 改善策を実行する
| © Leverages inc. 159 • ポストモーテムには「何かしら学ぼう」というメンタルで臨む • メンタルモデルまで踏み込んで振り返る 色々話したけど特に重要なこと3つ🙈🙊🙉 改善策を実行する
| © Leverages inc. 160 • ポストモーテムには「何かしら学ぼう」というメンタルで臨む • メンタルモデルまで踏み込んで振り返る • 発生対策と流出対策の両軸で考える
色々話したけど特に重要なこと3つ🙈🙊🙉 改善策を実行する
| © Leverages inc. 161 最後に
| © Leverages inc. 162 行動喚起せよ📣 コミュニケーションの最後には、必ず何らかの形 で対象者を引きつけ、旅を続けてもらうための行 動喚起を提示しましょう。 効果的な情報共有
| © Leverages inc. 163 ポストモーテムをやる際は、今回お話ししたことを意 識して、取り組んでみてください!
| © Leverages inc. 164 そして文化になっていくと良いなと思います
| © Leverages inc. 165 • ノートラブルシステムへの道 • システム運用アンチパターン • Google
SRE Books • ダイアローグ 価値を生み出す組織に変わる対話の技術 • エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング • こうしてふりかえりは終わってしまった もっと深く知りたい方への参考文献📖 効果的な情報共有
実践編 組織のより良いポストモーテムを目指してやったこと
| © Leverages inc. 167 ここからは実際の現場で 取り組んだ内容を話していきます
| © Leverages inc. 168 • 開発部の規模 ◦ 50人くらい ◦ 17チームくらい
• ポストモーテムを実施する文化はあった • ポストモーテム用のテンプレートもあった 前提📝 実践編
| © Leverages inc. 169 • ポストモーテムは実施されていたが、どのように実施すれば良いかはわからずふんわりとした理解で やっていた。 • チームによってポストモーテムの質にばらつきがあった •
一部の人が障害レポートを見てフィードバックするも、あまり改善が見られない状態が続いた。 ◦ 障害レポートのレビューにもあまり時間が取れていなかった 課題感🗻 実践編
| © Leverages inc. 170 • みんながポストモーテムのコツを掴めば、自然と質も上がっていくはず。。! • そうすればフィードバックも楽になる(不要になる)はず! 解決するための仮説🌱 実践編
| © Leverages inc. 171 • ポストモーテム向上委員会発足 • ポストモーテムの推進 &啓蒙 •
ポストモーテムテンプレートテコ入れ • 障害対応Slackワークフロー作成 • ポストモーテム実施目安作成 • ポストモーテムのあれこれを社内発表 やったこと💪 実践編
| © Leverages inc. 172 • 一番最初にやりました • 思いつきで初めてもブレるし、「そういう取り組みをしている」ことを組 織に知ってもらいたかった •
指標を決めて計測したかった(改善といえば計測) • 委員会と言いつつ、最初は自分一人 ポストモーテム向上委員会発足🏯 やったこと
| © Leverages inc. 173 委員会発足資料にまとめたもの(目次) 👉 目標と指標を抜粋👇 ポストモーテム向上委員会発足🏯 やったこと
| © Leverages inc. 174 • 委員会の発足を周知して各チームのポストモーテムに招待を促しつつ、自分からも参加希望を出すよう にしました • 参加した際は、進行することもあれば意見や疑問を投げかけるだけのことも。 ◦
チームの経験値によって使い分ける感じ ◦ チーム独自のやり方をするところもあるので、あまり進め方に固執せずに任せる • 参加できなかったポストモーテムは、レポートを見てフィードバック ポストモーテムの推進&啓蒙🏋 やったこと
| © Leverages inc. 175 • 頂いたありがたい感想 🙏 ポストモーテムの推進&啓蒙🏋 やったこと
| © Leverages inc. 176 • レバテック開発部だけではなく、レバレジー ズ全体の開発部で使われているテンプ レートを変更 テンプレートのテコ入れ🔨 やったこと
| © Leverages inc. 177 • レバテック開発部だけではなく、レバレジー ズ全体の開発部で使われているテンプ レートを変更 • それぞれの記入項目に考え方のヒントを入
れたりしています • とはいえ見ない人も結構いると思われるの で、大きな効果は期待していません • ちなみにDocbaseです テンプレートのテコ入れ🔨 やったこと
| © Leverages inc. 178 • 今までの活動と少し毛色が違って、障害発 生時とポストモーテム含むその後の対応を 改善する取り組みです • 元々障害発生時の対応はタスク管理ツー
ルのasanaで行われていたのですが、少し 複雑でやることがわかりづらい問題があり ました ◦ 各所のポストモーテムに参加するこ とでこの問題が見えてきました 障害対応Slackワークフロー作成 やったこと
| © Leverages inc. 179 • そんな時ちょうど弊社の SREで障害対応 Slackワークフローを作る動きがあったので 便乗しました •
ワークフローの内容は 10Xさんの事例や GMOペパボさんの事例を参考にさせても らいました ◦ Botの方が色々出来るけど、一旦は 手軽なワークフローに。 障害対応Slackワークフロー作成 やったこと
| © Leverages inc. 180 • 心理的ハードルを乗り越えて報告してくれ たことにまず感謝を伝えるようにしています • また、絵文字を使ってかっちりしすぎないよ うにしてます
◦ 障害報告時は心の余裕がないの で、少しでも和らげたかった 障害対応Slackワークフローを作る ときに考えたこと やったこと
| © Leverages inc. 181 • 活動を続ける中で、障害の度に毎回ポストモーテムを実施するのはしんどい。。というような声も聞こえ てきました • 元々ポストモーテムの実施は必須ではなかったのですが、わかりやすい基準が無かったからか、いつの 間にか必須であるような認識が広がっていました
• これによってポストモーテムの印象が悪くなってしまうことは避けたかったので、コスパの良いポストモー テムが実施できるよう目安を設けました ◦ 割と緩めに設定したので、「基準」ではなく「目安」としています ポストモーテム実施目安作成👀 やったこと
| © Leverages inc. 182 • 活動を続ける中で、障害の度に毎回ポストモーテムを実施するのはしんどい。。というような声も聞こえ てきました • 元々ポストモーテムの実施は必須ではなかったのですが、わかりやすい基準が無かったからか、いつの 間にか必須であるような認識が広がっていました
• これによってポストモーテムの印象が悪くなってしまうことは避けたかったので、コスパの良いポストモー テムが実施できるよう目安を設けました ◦ 割と緩めに設定したので、「基準」ではなく「目安」としています 実際の目安がこちら やったこと
| © Leverages inc. 183 • 他社事例をいくつか参考にしました • あくまでもポストモーテムを実施するかどうかはチームに一任しているので、目安は厳しめにしているつ もりです •
ちゃんとやるならSLI/SLOを設定した方が良いと考えますが、それには時間がかかるのでパッと作りまし た 目安を作るときに考えたこと💭 やったこと
| © Leverages inc. 184 • 本資料が発表内容です • 元々は社外アウトプットの機会として提供された場でしたが、ポストモーテム委員会として活動をする中 で得た知見を伝えたくて纏めています •
本資料がどこかの誰かの役に立つと嬉しいですね ポストモーテムのあれこれを社内発表 やったこと
| © Leverages inc. 185 • 障害レポート自動化 ◦ Docbaseのテンプレートから手動で作っている状態 ◦ 障害対応ワークフローから一部の自動作成を行いたい
▪ Docbaseが連携弱い • 障害分析 ◦ Docbaseでは入力内容を構造化して集計、分析が出来ない ◦ 社内生産性可視化ツールBoostでfour keysとして一部は集計可能 • 障害対応管理 ◦ asanaで管理しているが、障害発生時にたくさんあるタスクを見て理解してぽちぽちやる余裕がない ◦ 障害発生したその日中に対応必要なものはワークフローに寄せて、それ以降の事後対応はasanaで管理するよう分 割したい • 恒久対応管理 ◦ 期限切れのタスクが多い状態 ◦ どこまで管理するか? ◦ まだ手をつけられていない • SLO/SLI設定 ◦ SREの方で進められている。 ◦ 今後、より説得力を持って進めるには必要になってくると思う 色々やったけど、課題はまだたくさんある😇 やったこと
| © Leverages inc. 186 • 👍 ◦ 各チームのポストモーテムに積極的に参加していったのは良かった ▪ 言うだけでは伝わらないものがある。一緒にやってナンボ
▪ 普段あまり関わりのないチームのことを知るきっかけにもなった ◦ あまり時間をかけずにワークフローや実施目安を作れたのが良かった ▪ 「早く行くなら一人で行け、遠くに行くならみんなで行け」私の好きな言葉です • 👎 ◦ 最初にみんなが楽になる施策をやった方がよかった ▪ イネイブリングするときは「仕事が減る」ことからやると感動される。刺さる 振り返ってみてどうだったか🚩 やったこと
| © Leverages inc. 187 で、ポストモーテム向上委員会の効果は?
| © Leverages inc. 188 • 活動開始前(6月) ◦ 障害レポート数:22 • 活動開始後(7月)
◦ 障害レポート数:16 • 活動開始後(8月) ◦ 障害レポート数:17 ポストモーテム向上委員会の効果(抜粋)🤖 定量評価
| © Leverages inc. 189 ちょっと減った。。!
| © Leverages inc. 190 加えて体感としては、障害レポートへのフィードバッ クが減ったように感じています😄
| © Leverages inc. 191 • 社内のポストモーテム改善の為、様々な取り組みを行いました! • 定性的には効果を感じているけど、定量的にはまだまだ分析が足りない • 何かを啓蒙・推進するときのポイント
◦ まずは「やって見せる」「一緒にやる」 ◦ 何かやってほしいことがあるなら、仕事を増やすだけではなく 「仕事を減らす」 まとめ📌 組織のより良いポストモーテムを目指してやったこと