
Google合同会社 シニアデベロッパーリレーションズエンジニア 山口能迪氏
開発効率と開発者体験の向上に繋がるSREのプラクティス
――現在システムやアプリケーションは作って終わりではなく、頻繁に改善を繰り返して育てていくようになりました。こうした開発サイクルを回すだけではなく、開発生産性を高めることも求められています。
山口:SREにはたくさんプラクティスがありますが、中でもSLO設定やエラーバジェットに基づいて開発することは効率性において重要だと思っています。ユーザーの信頼性さえ満たせていれば、その先の品質は不必要な改善になってしまうからです。SREのプラクティスでも、ユーザーの信頼性を満たす必要最低限の範囲で投資して、余った部分は改善プロセスに投資することが定式化されています。ですので、SLOに基づいて開発していくだけでもだいぶ変わるかと思います。
他にも、非難のないポストモーテム(失敗や障害から学び、再発防止に繋げる)もあります。開発効率というとプロセスやツールに目が向きがちですが、現場で働いている人が安心して働けることは非常に重要なことです。SRE本でも、従業員が安心して働けて、十二分に力を発揮できる状況を作る重要性が説かれていて、一つ一つのプラクティスをよく見ていくと、それぞれが効率化に繋がっているのです。
手塚:よく分かります! 開発現場では、経営・ビジネスサイドの鶴の一声によって突如方針が変わってしまうケースは度々散見されます。当然、事業運営において一定程度そういった「ビジネスの事情」の優先度が高くなるというのも分かりますが、頻繁に変えられると、開発側はたまったものではないというのが本音なのかなと思います。そうした状況に対して、SLOやエラーバジェットといったツールを駆使してロジカルに意思決定できる仕組みを導入すると、全員にとって納得度が高く開発者にとっても快適な環境になるのではないかと思います。
山口:ビジネス側にはいろいろなKPIがあるかと思います。アプリケーションならデイリーアクティブユーザーとかリテンションとか。そうした指標はプロダクトの開発側や運用側と共有されていて、アクションに繋がります。一方、ビジネス側はアプリケーションでビジネスをしているにもかかわらず、こうした指標をあまり重要視していないと感じることがあります。そうした中で、SLOはとてもいいKPIになると思います。システムの状態がユーザーの満足に直結する指標となり、ビジネス側と開発側が共通の言語で会話できるようになります。それよりコミュニケーションロスが減り、効率改善にも繋がります。
――実際にSLOを設定するときに、押さえておくべきポイントはありますか。
手塚:GoogleさんではCUJ(Critical User Journeys)に基づいて、ユーザーが体験したい一連のインタラクションを見定めるというプロセスがあります。ただしCUJはシステム側だけでは判断できないので、ビジネス側からお客様に提供したい機能とか、達成したいことなどを挙げてもらい、協調して定めていくプロセスが大事になります。
最近は、チームトポロジーをSREのメソッドに組み合わせることでより本質的なSREが実現できるなと思っています。SREを実践するにあたって、チーム間の連携は切っても切り離せないので、そのあたりのコミュニケーション設計についても深く入り込みながらご支援するようにしています。
――チームトポロジーは昨年書籍も出ましたね。どのようなところが関連性が高いのでしょうか。
手塚:チームトポロジーの中で面白いと思ったのは、チームタイプだけではなく、チーム間のコミュニケーション方式(インタラクションモード)をどう設計するかにフォーカスしているところです。例えばAPIのように会話するとか、互いにファシリテーションするとか、さまざまなインタラクションモードがあります。
また、フェーズなどに合わせて、チーム間のコミュニケーションを適切に設計する重要性を説いているところにポイントがあると思いました。このメソッドをSREや開発組織と組み合わせることによって、組織全体においてのSREの立ち位置や支援方法を明確にできるため、より活動を推進しやすくなり、開発効率も向上するのではないかというのが、個人的な仮説です。
山口:たしかに、SLOとか各種定式化されたものは結局、人間のコミュニケーションを円滑にするために定義されているものが多いので、うまくはまるのではないかと思います。
――SLO以外に心理的安全性を醸成していく点で何か工夫されていることはありますか?
手塚:ポストモーテムは可能な限り実施しています。(障害が起こると)批判やいじめが起きてしまいがちですが「そうじゃないよね」と。物事の解決が一番大事です。エラーを人ではなくシステムでとらえて問題解決するという姿勢がとても重要だと考えています。