🦫

SREチームのロードマップを作った話

2024/12/06に公開

はじめに

株式会社モニクルでSREをしているbeaverjrです。
この記事はモニクルAdvent Calendar 2024の6日目の記事です。

今回は、弊社のSREチームのロードマップを作成した背景や、作成にあたって意識したことをまとめました。

なぜロードマップを作成したか

SREチームでは、これからチームとしてどうしていくか、という具体的な中長期における計画は立てておらず、方向性が漠然としている状態でした。

また、弊社のSREチームは未経験からスタートしたチームであり、1年と少しが過ぎて徐々にSREとしての考え方や業務の進め方に慣れてきたところでした。このタイミングで、改めてチームの未来を考え、ミッションを軸にしながら「具体的に何を目指すべきか」を言語化する必要性を感じていました。

言語化することで、

  • 内部的には、SREチームの中長期的な方向性を明確にすることで、メンバー全員が共通の目標を持ち、一貫した取り組みができるようにしたい

  • 対外的には、プロダクトチームや他部門へSREチームの計画や優先順位を示すことで、期待値をすり合わせ、より良い連携を図りたい

これらのモチベーションから、ロードマップの作成に取り組むことにしました。

作成にあたって意識したこと

1. ゴールに紐づく形で計画を立てる

ロードマップ作成にあたっては、ミッションやゴールを出発点にして計画を立てるアプローチを意識しました。

すでに決まっていたミッションを基盤に、SREチームとして何を目指すべきかを整理し、以下の2つのゴールを設定しました。

  • 全員がフルサイクルエンジニアになるためのサポートをすること
    • チーム発足時からの目標であり、エンジニアが設計から運用までの一連の開発サイクルのすべてに主体的に取り組めるよう支援するものです。
  • SREが経営にとって指標になること
    • チームの活動が進む中で意識されるようになったゴールです。SLOやオブザーバビリティを活用して信頼性を可視化し、経営判断に役立つデータを提供する役割となることを目指しています。

これらのゴールを基に、中期(9ヶ月)、長期(2年半)で「どのタイミングで何を達成すべきか」を逆算し、ロードマップを構築しました。

2. 活動の軸を決め、軸ごとに成熟度のレベルを定義する

ゴールに向けて、組織的なSRE成熟度の向上、オブザーバビリティの浸透など、活動の軸を複数設定しました。

軸ごとに、「どのタイミングでどのレベルに到達すべきか」を明確化するため、成長の指標としてレベル定義を作成しました。

レベル定義の意義

「導入」や「浸透」といった言葉は解釈の幅が広いため、ロードマップ作成の際に具体的なレベルへと定義し直し、曖昧さを排除することを意識しました。

例えば、オブザーバビリティでは各レベルにおける組織の状態を次のように定義しました。今回は割愛しますが、各レベルに達した時の事業へのインパクトも記載しました。

Level 組織の状態
1 オブザーバビリティの重要性が認識されているが、メトリクスやログ収集の範囲が限定的
2 メトリクスやログが収集され、可視化が一部のチームで利用され始めている
一部のチームでSLIの計測に必要なデータが取得できている
3 全プロダクトでメトリクス、ログ、トレースが可視化されている
全プロダクトでSLIの計測に必要なデータが取得できている
横断で分析ができる
4 各プロダクトチームがオブザーバビリティのベストプラクティスを共有し始めている
顧客の要求(パフォーマンス、安定性、機能性)に基づく改善案が実行されている
5 顧客の要求(パフォーマンス、安定性、機能性)に基づく改善案が短期間で実行され、競争力が向上している

3. 取り組みがワークしているか、を計測する指標を定義する

ロードマップの取り組みを測定するため、各軸において指標を設定しました。これにより、活動の進捗を定量的に評価できるようにしました。
四半期などのタイミングで指標自体が適当か?の見直しも行なっていく予定です。

各軸の指標の例

項目 指標
組織全体のSRE成熟度向上 各チームがSRE成熟度評価レベル3を達成している割合
SLO達成率
SLO導入の進捗 SLOを定義しているプロダクトの割合
SLOレビューの実施頻度
ナレッジ共有 更新されたドキュメントの数
ドキュメント参照頻度
いいねの数
オブザーバビリティの活用 SLOアラートの設定率
可視化されたデータから改善が行われた割合
インシデント解決の時間
DevSecOps セキュリティポリシーに準拠しているコードの割合
リスクの一元管理が行われているプロジェクトの割合

期待する効果

ロードマップを作成してから間もないですが、今後の取り組みを通じて、次のような効果を期待しています。

  1. チームの成長を可視化する

    • ロードマップを通じて、チームの成熟度がどう進化しているのかを定量的に追えるようになることを期待しています。
    • 定期的な目標設定時には迷って時間を取られることも多く憂鬱でしたが(!)、今後は場当たり的ではなく中長期的な計画に基づいて目標設定ができるようになり、スムーズにぶれない目標が立てられるようになると考えています。
  2. チーム間の連携を強化する

    • ロードマップを他のチームと共有することで、他チームと期待値をすり合わせしやすくなったり、協力を得やすくなると考えています。
  3. 体制変更時への対応

    • チームのロードマップが明文化されていることで、新メンバーや異動メンバーがスムーズにチームの状況を理解し、業務を始められる状態になると考えます。これにより、知識や経験の属人化を防ぎ、チーム全体として安定した運営を続けられるようになることを期待しています。

感想

初めてロードマップを作成してみましたが、チームのタスクがどのゴールに結びついているのかを言語化・可視化できたのは、とても良い成果だと感じています。また、「これは事業へのインパクトが低そうなので優先度を下げられそう」という考え方を得られたのも、大きな収穫でした。

SREチームは横断的に働きかける役割を担っているからこそ、自分たちの目指す方向や活動計画をわかりやすい形で示すことの重要性を改めて実感しました。
さらに、「今後SREチームはどうしていくつもりですか?」という問いに対して、具体的な根拠をもって答えられる準備が整っていることは、チーム運営における自信や安心感にもつながると感じています。

また、「どの指標で進捗を測るか」や「指標そのものを定期的に見直す」といった当たり前のことではありますが、それを中長期的な計画として本格的に取り組むのは今回が初めてでした。このロードマップを通じて、試行錯誤しながら少しずつ精度を上げていきたいと思います。

まとめ

ロードマップは完成したら終わりではなく、継続的に見直しを行いながら成長させていくものなので、実際に運用を進めていく中で見えてくる課題や改善点を柔軟に取り入れていきたいと思います。

この記事を通じて、読者の皆さんがSREチームやロードマップの重要性を考えるきっかけになれば幸いです。これからも引き続き、SREとしての取り組みを改善・発展させていきます!

最後まで読んでいただき、ありがとうございました!

株式会社モニクル

Discussion