組織拡大と共に発生するソフトウェア品質の課題と裏話LT@目黒 #primenumber_kayac https://connpass.com/event/298302/
trocco®でのインシデント重大度表(SEVレベル表)運用2023.10.20「組織拡大と共に発生するソフトウェア品質の課題と裏話LT@目黒」primeNumber CTO Kenta Suzuki (@kekekenta)
View Slide
©primeNumber Inc.2資料の内容● インシデント重大度表(SEVレベル表)運用の効果● 過去にtrocco®でSEVレベル表を作成した際の、実際の手順
会社概要会社名代表創業OfficeCOMPANY株式会社primeNumber代表取締役CEO 田邊 雄樹2015年11月東京都品川区上大崎3丁目1番1号JR東急目黒ビル5F3
あらゆるデータを、ビジネスの力に変える。primeNumberは、データテクノロジーカンパニー。あらゆるデータが爆発的に増えていく時代に、誰もがすばやく、簡単にデータを使える環境を構築し、データ活⽀までのプロセスを最適化。⽀度なテクノロジーと独⽀のアイデアで、世界中のビジネスを⽀援します。V I S I O N4
©primeNumber Inc.trocco®とはA B O U T5
©primeNumber Inc.6trocco®とはtrocco®とは、データ統合を自動化し、データエンジニアリングにかかる工数を削減するSaaSです。データをビジネスに活用するまでのステップ「データ統合」を自動化し、データエンジニアリングにかかる工数を削減
©primeNumber Inc.7trocco®とはデモ動画URL:https://trocco.io/lp/index.html
©primeNumber Inc.8trocco®とはフルマネージド ETL/ELT日本特有のサービスを含めた、約100種のコネクタに対応データ分析基盤のための技術スタックを提供するサービスです。GUI ワークフロー複雑なデータ処理フローを GUI 上で設定・運用データマネジメント機能データリネージ / Git 連携・コード管理 / スキーマ追従 /データカタログ etc.
©primeNumber Inc.9プロダクトの規模拡大と開発組織拡大 にともない、大小問わずインシデントの発生頻度や対応の複雑さが増す。プロダクトの規模拡大とインシデント
©primeNumber Inc.10インシデントへの向き合い方● 大前提として、インシデントは少ないほうが良い○ お客様には可能な限り安定的にtrocco®を利用していただきたく、そのための改善努力を日々行っています● しかし、インシデントの発生は避けられないのは事実○ 皆さんの組織でも、軽微なものを含めてインシデントは必ず発生しているはず
©primeNumber Inc.11インシデントは発生前提で考えるインシデントが発生した場合に、早期に気づき、報告が挙げられ、チームが解決に注力し、ユーザー影響を最小にすることが重要
©primeNumber Inc.12インシデントをより早く解決するためには、社内の認識を揃えることが重要● 何が重大なインシデントで、どのような対応(報告/改修)をするべきなのかの社内認識を揃えることで、問題の解決に注力できる
©primeNumber Inc.13● 重大度レベル表(SEV表) を定義し運用するのが効果的○ SEV = Severity● 各社定義しているAtlassianの例○ SEV レベルの定義が明確であればあるほど、チームの認識が揃って、インシデントが発生したときに迅速かつ適切に対応できる可能性が高くなります。重大度レベルが明確に定義されていないと、インシデントを解決するのではなく、インシデントの緊急性を定義して説明するために大切な時間を無駄に費やしてしまいがちです。https://www.atlassian.com/ja/incident-management/kpis/severity-levels重大度レベル表(SEV表)
©primeNumber Inc.14SEV表: PagerDutyの例
©primeNumber Inc.15SEV表の中身● 各レベルごとに次の内容を記載○ 事象例: どんな問題がこのレベルに該当するのか○ 対応: 推奨される連絡方法、開発の優先度SEV表を見れば、誰もが重大度を認識し、適切な行動を取れる
©primeNumber Inc.16(※実際のものとは異なります)trocco®で運用しているSEV表
©primeNumber Inc.17trocco®において、過去にSEV表を作成した際の手順1. 問題が発生した際の対応方法をリストアップする -> SEVレベル数の決定2. 各SEVレベルに、過去のインシデントを割り当ててみる3. 割り当てたインシデントを元に、各SEVの事象を言語化4. 運用開始に向け、CSチームとの連携フローをすり合わせ5. インシデント発生タイミングでSEVの妥当性を振り返る
©primeNumber Inc.181. 問題が発生した際の対応方法をリストアップするSEV表の策定手順trocco®では、次の5パターンに対応が分かれる● 営業時間外問わず対応○ 1. 「最優先で修正対応を行う」「経営陣への通達を行う」○ 2. 「最優先で修正対応を行う」● 営業時間内で対応○ 3. 「最優先で修正対応を行う」○ 4. 「通常の開発よりも、優先度を上げて対応する」○ 5. 「通常の開発プロセスにおける優先度判断で対応する」
©primeNumber Inc.192. 各SEVレベルに、過去のインシデントを割り当ててみる● それぞれのインシデントでどの対応を取るべきだったかをエンジニア、CSで議論● trocco®では、インシデント発生時にポストモーテム資料を作成していおり、過去の問題を簡単に振り返ることができる。○ 1人目の専任SREがポストモーテム文化を改善したらエンジニア以外にも広まり、他部門との連携も強化された話|Hiroki TakatsukaSEV表の策定手順
©primeNumber Inc.203. 過去のインシデントを元に、各SEVの事象を言語化● 例○ ユーザーが運用中のデータパイプラインで突然trocco®起因のエラーが発生するインシデントは重要度が高いと考え、最優先で対応していることがわかった。■ SEV表を通して改めて言語化を行い、各チームで共通認識を持った。SEV表の策定手順
©primeNumber Inc.214. 運用開始に向け、CSチームとの連携フローをすり合わせ● CSチームと会話し、CS->エンジニアチームへの報告フローについての整合性を取るSEV表の策定手順
©primeNumber Inc.225. 定期的にSEVの妥当性を振り返る● 作って終わりではなく、継続的に運用改善していくのが大事● 定期的にSEVの判断軸が妥当かを検討するSEV表の策定手順
©primeNumber Inc.23SEV表の運用を通してのまとめ● 重大度の認識と対応方法が明確になり、より問題の解消にフォーカスできるようになった○ 「SEV-4なので、すぐの対応は不要」「SEV-3が見込まれるので調査を進め、hotfixでリリースしましょう」など、調査と認識合わせに時間がかかる時間が短くなった。ぜひtrocco®のSEV表作成手順を参考に、自社でも考えてみてください。
©primeNumber Inc.鈴木 健太WHO AM I?株式会社primeNumberCTOプロダクト開発本部 VP● 趣味:ランニング、読書1 24