Slide 1

Slide 1 text

割れ窓理論をWebインフラの改善に活用し、 チーム内の知識共有を促進している話 株式会社はてな SRE id:hokkai7go

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

はてなSREチームか ら来ました

Slide 4

Slide 4 text

突撃!隣のDevOps で紹介されました https://dev.classmethod.jp/devops/dev-ops-hatena/

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

今日話すことは既にブ ログ記事化済み https://blog.hokkai7go.jp/entry/sre-lounge8

Slide 7

Slide 7 text

割れ窓理論をWebインフラの改善に活 用し、チーム内の知識共有を促進して いる話 https://blog.hokkai7go.jp/entry/2018/12/13/000146

Slide 8

Slide 8 text

割れ窓とは ● 割れた窓が放置されていると他の窓も割られやすくなっ てしまいます。軽犯罪を取り締まることで重大な犯罪も 抑止できるとする理論です。不安や無秩序な状態を取 り除くことができるというのも大きそうです。

Slide 9

Slide 9 text

割れ窓とは ゴミが散らかったりしないように環境を保つことによってイノ ベーションにまっすぐ焦点を当て続け本物のエンジニアリン グが前進できるようにしているのです Betsy Beyerら著、澤田 武男ら監修 「SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニ アリングチーム」2017年 より引用

Slide 10

Slide 10 text

割れ窓タイムについて ● はてなSREs(共通基盤)での割れ窓対応タイムのこと ○ 問題の認識(issue起票)・方針策定・修正作業まで含 む

Slide 11

Slide 11 text

割れ窓タイムを始めたきっかけ1 ● 下記記事へのあこがれ ○ 割れ窓理論を導入してWebサービスのクオリティに直結した話 - pixiv inside [archive] ○ https://devpixiv.hatenablog.com/entry/2016/12/08/172049 ○ Webサービスの新規開発プロジェクトに取り入れているとか

Slide 12

Slide 12 text

割れ窓タイムを始めたきっかけ1 ● SREにも適用できそうと思った。なぜなら私達SREsもソフトウェアエンジニ アリングをするし、エンジニアとして改善に向かいたいから。

Slide 13

Slide 13 text

割れ窓タイムを始めたきっかけ2 ● やりたいってチーム内で記事書いたら好意的な反応を複数もらえた

Slide 14

Slide 14 text

はてなSREs(共通基盤)チームのご紹介 ● 部長+テックリード+メンバー 計n名 ● アルバイト数名 ● 他に、チーム付きSREもいます

Slide 15

Slide 15 text

割れ窓タイム開始前の課題感 ● 技術的負債が結構ある。返済したいけどどうしよう… ● 歴史的経緯など知らないことがたくさんある(僕もまだ入社して半年 ● ドキュメントはあるけど、古くなっているところも多い(10年前の記事とかも 出てくる(みんな書いてくれるのすごい)

Slide 16

Slide 16 text

割れ窓タイムの目的 ● 下記2つにすることを上司と合意 ○ 「割れ窓の数を適切に制御する」 ○ 「直さなきゃな〜というものの修正スピードを上げる」 ● 知見の共有は副次的効果(開始時のメンバーからのコメント)

Slide 17

Slide 17 text

割れ窓タイムの開催方法(事前) ● 適宜、チームメンバーは割れ窓を発見したらissueを作成し、割れ窓ラベル をつけておく ● 割れ窓タイムの日程を確保し、取り組みやすそうなissueを週刊割れ窓マ ガジンという記事にリストアップしておく

Slide 18

Slide 18 text

割れ窓タイムの開催方法(当日) ● 週に1度、1時間リモートでつないで作業時間をとる(SREチームは東京、 京都の2拠点で仕事をしているからです) ● 割れ窓タイムスタート時に、その日の割れ窓タイム用issueを立て、やるこ とが決まればissueにその旨を書き、ログを取っていく ● 実施後に非同期的に参加者がその日の割れ窓タイム用issueに感想や KPTにつながる内容をコメントする

Slide 19

Slide 19 text

割れ窓タイムの開催方法(事後) ● 振り返りやすいよう、スプレッドシート上で issue URL等を一覧にしておく ● 割れ窓タイム企画者(上司と自分)が、企画の改善のために振り返りを行う

Slide 20

Slide 20 text

割れ窓タイムの対象物 ● SREチームで開発しているソフトウェア ● サーバの設定 ● 物理サーバやAWS上などのリソース ● アラート

Slide 21

Slide 21 text

割れ窓タイムの開催実績 ● 2018/10〜2019/2までの5ヶ月で16回 ● 3.2回/月

Slide 22

Slide 22 text

割れ窓タイムの効果 ● 割れ窓タイムがないと取り組めないタスクに取り組むことができる ● モブプロ、モブオペを推奨しており、知識 (前提知識や、コード、過去の経緯等 )の共有 を図りやすい。新しく入った人のキャッチアップにも利用可能 ● 一人で取り組むには勇気がいりそうなところも、複数人で判断できるので勇気を持っ て取り組むことができる ● あそこに割れ窓がありそうという認識がみんなに出てきた

Slide 23

Slide 23 text

割れ窓タイムの効果 ● みんなが集まっているので、タスクで困ってもすぐに相談、解決できてスピード感があ る ● これって割れ窓じゃないですか?と話す機会が増えた ● 同じ割れ窓が発生することを検知できる ● 普段だと時間取れないけど、割れ窓で直しましょうという会話がされるようになった

Slide 24

Slide 24 text

チーム内の知識共有 を促進している!!!

Slide 25

Slide 25 text

運営上の工夫と、失敗したこと ● 大割れ窓タイムの開催(長いやつ 2h) ○ ダレた ● タスクを大きめに切ってしまいがち ○ 取り組むときに困る ● 全員で割れ窓棚卸し会をやった ○ 全員いらなかった

Slide 26

Slide 26 text

最近の話

Slide 27

Slide 27 text

1.5時間開催にトライ ● 1時間だと短いけど2時間だと長い ○ 重めのタスクだと時間がかかってしまう ■ 調査・方針策定 ● 1.5時間なんか良さそうって話している

Slide 28

Slide 28 text

運営の民主化 ● 自分以外も開催可能になった ○ waremado.rb を書いた ■ 週刊割れ窓マガジンをGHEのissueとして作成。 内容は割れ窓ラベル一覧

Slide 29

Slide 29 text

リズム ● 細かいタスクで成功体験を積むと初速を得られる

Slide 30

Slide 30 text

割れ窓タイムなかなか良いです やってみた人、やりたい人お話しま しょう

Slide 31

Slide 31 text

SRE絶賛募集中 https://hatenacorp.jp/recruit/career/sre