割れ窓理論をWebインフラの改善に活用し、チーム内の知識共有を促進している話株式会社はてな SREid:hokkai7go
View Slide
はてなSREチームから来ました
突撃!隣のDevOpsで紹介されましたhttps://dev.classmethod.jp/devops/dev-ops-hatena/
今日話すことは既にブログ記事化済みhttps://blog.hokkai7go.jp/entry/sre-lounge8
割れ窓理論をWebインフラの改善に活用し、チーム内の知識共有を促進している話https://blog.hokkai7go.jp/entry/2018/12/13/000146
割れ窓とは● 割れた窓が放置されていると他の窓も割られやすくなってしまいます。軽犯罪を取り締まることで重大な犯罪も抑止できるとする理論です。不安や無秩序な状態を取り除くことができるというのも大きそうです。
割れ窓とはゴミが散らかったりしないように環境を保つことによってイノベーションにまっすぐ焦点を当て続け本物のエンジニアリングが前進できるようにしているのですBetsy Beyerら著、澤田 武男ら監修 「SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム」2017年 より引用
割れ窓タイムについて● はてなSREs(共通基盤)での割れ窓対応タイムのこと○ 問題の認識(issue起票)・方針策定・修正作業まで含む
割れ窓タイムを始めたきっかけ1● 下記記事へのあこがれ○ 割れ窓理論を導入してWebサービスのクオリティに直結した話 - pixivinside [archive]○ https://devpixiv.hatenablog.com/entry/2016/12/08/172049○ Webサービスの新規開発プロジェクトに取り入れているとか
割れ窓タイムを始めたきっかけ1● SREにも適用できそうと思った。なぜなら私達SREsもソフトウェアエンジニアリングをするし、エンジニアとして改善に向かいたいから。
割れ窓タイムを始めたきっかけ2● やりたいってチーム内で記事書いたら好意的な反応を複数もらえた
はてなSREs(共通基盤)チームのご紹介● 部長+テックリード+メンバー 計n名● アルバイト数名● 他に、チーム付きSREもいます
割れ窓タイム開始前の課題感● 技術的負債が結構ある。返済したいけどどうしよう…● 歴史的経緯など知らないことがたくさんある(僕もまだ入社して半年● ドキュメントはあるけど、古くなっているところも多い(10年前の記事とかも出てくる(みんな書いてくれるのすごい)
割れ窓タイムの目的● 下記2つにすることを上司と合意○ 「割れ窓の数を適切に制御する」○ 「直さなきゃな〜というものの修正スピードを上げる」● 知見の共有は副次的効果(開始時のメンバーからのコメント)
割れ窓タイムの開催方法(事前)● 適宜、チームメンバーは割れ窓を発見したらissueを作成し、割れ窓ラベルをつけておく● 割れ窓タイムの日程を確保し、取り組みやすそうなissueを週刊割れ窓マガジンという記事にリストアップしておく
割れ窓タイムの開催方法(当日)● 週に1度、1時間リモートでつないで作業時間をとる(SREチームは東京、京都の2拠点で仕事をしているからです)● 割れ窓タイムスタート時に、その日の割れ窓タイム用issueを立て、やることが決まればissueにその旨を書き、ログを取っていく● 実施後に非同期的に参加者がその日の割れ窓タイム用issueに感想やKPTにつながる内容をコメントする
割れ窓タイムの開催方法(事後)● 振り返りやすいよう、スプレッドシート上でissue URL等を一覧にしておく● 割れ窓タイム企画者(上司と自分)が、企画の改善のために振り返りを行う
割れ窓タイムの対象物● SREチームで開発しているソフトウェア● サーバの設定● 物理サーバやAWS上などのリソース● アラート
割れ窓タイムの開催実績● 2018/10〜2019/2までの5ヶ月で16回● 3.2回/月
割れ窓タイムの効果● 割れ窓タイムがないと取り組めないタスクに取り組むことができる● モブプロ、モブオペを推奨しており、知識(前提知識や、コード、過去の経緯等)の共有を図りやすい。新しく入った人のキャッチアップにも利用可能● 一人で取り組むには勇気がいりそうなところも、複数人で判断できるので勇気を持って取り組むことができる● あそこに割れ窓がありそうという認識がみんなに出てきた
割れ窓タイムの効果● みんなが集まっているので、タスクで困ってもすぐに相談、解決できてスピード感がある● これって割れ窓じゃないですか?と話す機会が増えた● 同じ割れ窓が発生することを検知できる● 普段だと時間取れないけど、割れ窓で直しましょうという会話がされるようになった
チーム内の知識共有を促進している!!!
運営上の工夫と、失敗したこと● 大割れ窓タイムの開催(長いやつ 2h)○ ダレた● タスクを大きめに切ってしまいがち○ 取り組むときに困る● 全員で割れ窓棚卸し会をやった○ 全員いらなかった
最近の話
1.5時間開催にトライ● 1時間だと短いけど2時間だと長い○ 重めのタスクだと時間がかかってしまう■ 調査・方針策定● 1.5時間なんか良さそうって話している
運営の民主化● 自分以外も開催可能になった○ waremado.rb を書いた■ 週刊割れ窓マガジンをGHEのissueとして作成。内容は割れ窓ラベル一覧
リズム● 細かいタスクで成功体験を積むと初速を得られる
割れ窓タイムなかなか良いですやってみた人、やりたい人お話しましょう
SRE絶賛募集中https://hatenacorp.jp/recruit/career/sre