Slide 1

Slide 1 text

1 障害対応の人間的側面 Katsuhisa Kitano / @katsuhisa__

Slide 2

Slide 2 text

2 皆さん、障害対応やっていますか?

Slide 3

Slide 3 text

3 組織としての障害対応は どのように成り立っていくか

Slide 4

Slide 4 text

4 Detect Respond Recover Learn Improve https://www.atlassian.com/incident-management/handbook#our-incident-values

Slide 5

Slide 5 text

5 https://speakerdeck.com/katsuhisa91/incident-response-as-a-team ここからの変化も いつかどこかで話したい e.g. Statuspage, 障害復旧訓練

Slide 6

Slide 6 text

6 今日は人間的側面から 障害対応という営みをみていく

Slide 7

Slide 7 text

7 もし障害対応が存在しない組織に 障害対応を根付かせるとするなら?

Slide 8

Slide 8 text

8 目的 責任 対応 文化

Slide 9

Slide 9 text

9 目的 責任 対応 文化

Slide 10

Slide 10 text

10 障害対応、なんでやるんだっけ

Slide 11

Slide 11 text

11 あなたの報酬の発生源にも影響があるから ● ECのような性質のサービス場合、 システムが利用できない時間帯は販売の機会損失が発生する ● SLA ( Service Level Agreement ) を守るため ○ SLAでは一般的に、違反時の返金等が定められている ● 顧客との信頼を維持する ○ SaaSの場合、解約リスクにつながることも ● 人命・社会問題につながるようなケースもあるはず

Slide 12

Slide 12 text

12 でもさ、障害ってなに? ● 障害と不具合ってなにが違う? ○ ログイン機能の不具合と、 いいね機能の不具合ってなにが違う? ● 障害と処理遅延ってなにが違う? ● どれくらい継続すると深刻なんだっけ? ● SLI( Service Level Indicator)や 障害レベル( Severity Levels )を話すことで 認識がそろっていく

Slide 13

Slide 13 text

13 稼働率 週間停止時間 月間停止時間 年間停止時間 99% 1.68 時間 7.2 時間 3.65 日 99.9% 10.1 分 43.2 分 8.76 時間 99.95% 5 分 21.6 分 4.38 時間 99.99% 1.01 分 4.32 分 52.56 分 99.999% 6 秒 25.9 秒 5.26 分 稼働率目標とサービス停止時間との関係

Slide 14

Slide 14 text

14 もっと人間的な側面に 目を向ける

Slide 15

Slide 15 text

15 なぜ人間は行動するのか “ つまり、人間すべての行動について、 その内なる主人って奴はだな、 つねに決って君自身まず利益を受けるってことを 期待してるんだ。 でなきゃ、一切行動なんてものはありえない。 “ 『人間とは何か』

Slide 16

Slide 16 text

16 なぜ人間は行動するのか “ まず君の理想をより高く、 さらにより高くするように努力することだな。 そしてその行き着くところは、 自らを満足させると同時に、 隣人たちや、ひろく社会にも善をなすという 喜びを見出すという境地を志すことさ。 “ 『人間とは何か』

Slide 17

Slide 17 text

17 目的 責任 対応 文化

Slide 18

Slide 18 text

18 障害に対応する人の責任って?

Slide 19

Slide 19 text

19 障害対応の責任ってなによ ● オンコール待機時間中に、 ○分以内に反応してPCをとりあえず開くこと? ● 復旧までぜんぶ対応すること? ● そもそも、いつはじまって、いつ終わる? ○ どうやったら障害対応が開始するのか ○ 復旧とはどういう状態か →これらの情報をもとに期待される振る舞いが決まっていく

Slide 20

Slide 20 text

20 一人でできる?

Slide 21

Slide 21 text

21 https://response.pagerduty.com/oncall/being_oncall/#recommendations 障害対応のローテーション

Slide 22

Slide 22 text

22 https://yakst.com/ja/posts/5588 ● インシデント指揮官 (IC = Incident Commander) ● 主任SME (SME = Subject Matter Expert) ● 外部通信役 (External Liaison) ● 書記官 (Scribe) 障害対応における役割分担の例

Slide 23

Slide 23 text

23 でもさ、役割分担できるくらい人は潤沢? ● まずは問題への対応を優先させるところから ● 人がいるなら、情報記録・収集・発信と 問題への対応を分担しよう

Slide 24

Slide 24 text

24 障害対応の責任を考える

Slide 25

Slide 25 text

25 責任を考える際はエラーの発生背景に目を向ける ● 技術的エラーは学習を促進するメリットがある ● 規範的エラーは歓迎されない ● ただし、これらを事後的に判断する場合には 後知恵バイアスに注意する 技術的エラー スキルが要求に及ばない際のエラー 規範的エラー 職務義務・態度に関係するエラー 『ヒューマンエラーは裁けるか』

Slide 26

Slide 26 text

26 目的 責任 対応 文化

Slide 27

Slide 27 text

27 さあ障害だ!で、どうする?

Slide 28

Slide 28 text

28 原因究明よりも復旧を優先する ● ソースコードを調べて、正しくなおしたくなる 人間の気持ちはめちゃくちゃわかる ● でもまずは不格好でも良いので、復旧を優先しよう ○ フェイルセーフ … 被害拡大をおさえる ○ フェイルソフト … 全体の機能・処理を劣化させても 一部機能を守る ● 事後振り返りのためのログや情報は保持されるように 『システムはなぜダウンするのか』

Slide 29

Slide 29 text

29 ポテンヒットを起こさないためには、指名しよう ● NG 「誰か△△をやってもらえますか?」 ● OK 「○○さん、△△をやってもらえますか?」 ● → 救急救命講習で学ぶ内容と同じ

Slide 30

Slide 30 text

30 目的 責任 対応 文化

Slide 31

Slide 31 text

31 障害対応をうまくやってる チームや組織とは

Slide 32

Slide 32 text

32 レジリエンス型のチームを目指す 責任者断罪型 仲良しサークル型 チームレジリエンス型 犯人を探さない × ○ ○ 謝って終わりにしない × ○ ○ チームの関係性を深める × ○ ○ 困難をきちんと振り返る × × ○ 教訓を獲得する × × ○ 『チームレジリエンス』

Slide 33

Slide 33 text

33 障害につよい、立ち上がるチームにしていくには ● 振り返りを習慣にする ○ 困難の後は感情的になるが、 日頃から振り返っておけば、落ち着いて話すことができる ○ ー『チームレジリエンス』 ● 「当然」「べき」「ねばならない」思考から逃れる ○ イヤな気分やマイナス感情がつよいと、 立ち直る時間が長くなる ○ 「感謝」の反対は「当たり前」だと肝に命じ、感謝を伝える ○ ー『レジリエンス入門』

Slide 34

Slide 34 text

34 障害がヒューマンエラーに 起因していたら?

Slide 35

Slide 35 text

35 誤処理エラー 省略エラー 知識型エラー ミステイクエラー 10% 不作為エラー 30% 規則型エラー 進行エラー 1% 怠慢エラー 5% スキル型エラー スリップエラー 0.1% ラプスエラー 0.3% 『ミスを減らす秘訣』 ヒューマンエラーのほとんどは省略エラーに起因する “ 実際には、何もしないことが最大のエラーだ。 ”

Slide 36

Slide 36 text

36 ” 人々に報告させるということは、 信頼を築くということである。 善意で提供された情報が、 それを報告した人に害をなすような 使われ方をすることはない、という信頼である。 ” 報告には信頼が必要、報告率の維持にも信頼が必要 『ヒューマンエラーは裁けるか』 → 報告してくれた人を保護する

Slide 37

Slide 37 text

37 スタディスト社内のEngineering Handbookの一部抜粋

Slide 38

Slide 38 text

38 まとめ

Slide 39

Slide 39 text

39 障害対応には組織文化や価値観、人間的側面が現れる ● 書籍『SLO サービスレベル目標』にて 「信頼性は会話です」という名言があるが、 障害対応も会話の積み上げという意味では同じではないか ● 謙虚・尊敬・信頼に欠けた対応や発言があると、 積み上げた信頼はすぐに崩れる

Slide 40

Slide 40 text

40 人的負債の存在を意識した対応を積み上げていこう “ 技術的負債が積み上がるのと同じように、 同じものが組織レベルで、従業員についても 積み上がってきたのではないかと私は気づいた。 そこで創った言葉が「HumanDebt™(人的負債)」だ。 これは、私たちが職場における従業員の幸福を保証するために おこなうべきだった重労働を無視し、 職業世界全体として選んできた手抜きの近道を指す。 “ ー『心理的安全性とアジャイル』

Slide 41

Slide 41 text

41 ● 執行役員 VP of Engineering @ 株式会社スタディスト ● 一般社団法人 SRE NEXT 代表理事 ● https://x.com/katsuhisa__ 話者紹介: 北野 勝久 / @katsuhisa__

Slide 42

Slide 42 text

42

Slide 43

Slide 43 text

43 参考文献 ● 『人間とは何か』 ● 『ヒューマンエラーは裁けるか』 ● 『システムはなぜダウンするのか』 ● 『ミスを減らす秘訣』 ● 『チームレジリエンス』 ● 『レジリエンス入門』 ● 『心理的安全性とアジャイル』