生涯未熟

生涯未熟

プログラミングをちょこちょこと。

「QAと共に築く、機能性を通じた信頼性担保への取り組み」という発表をしました

SRE NEXT 2023で「QAと共に築く、機能性を通じた信頼性担保への取り組み」というタイトルで登壇させていただきました。

sre-next.dev

今回はQAとのコラボレーションとコミュニケーション・コラボレーションについて、のようなテーマを発表しました。

speakerdeck.com

発表で伝えたかったこと

SRE NEXTでCFPが始まった時に「あまり他の方が発表されてない内容」かつ、「SRE NEXT 2023の価値観に合う内容」にしようと決めました。
これは別に通りやすくするためではなく、単純にあまり発表されていない内容 = もっと界隈で知見を広げなければいけない分野なので、・カンファレンスのテーマに沿わないと折角運営の方々が立てていただいた価値観を蔑ろにしてしまうのでは?と考えたためです。

この2つの柱は外すことがないように肝に銘じて、まず今までに自分が行ったSREプラクティスの実践を改めて整理しました。

※ こんな感じでザザッと整理

で、色々整理していく中で「QAチームとの取り組みとか整理したら話できるんじゃないかな?」など他にも数個テーマを思い付きました。

次に思いついたテーマの中で前者に該当するものがあるかどうかを調べるため、2020/2022のSRE NEXTの全登壇者の資料に目を通しました。
ここで気づいたのが、セキュリティ分野の話が意外と少ないなぁとか組織作りの話はやっぱり人気だなぁなどと発見があったのですが、その中で"開発以外の他チームとのコラボレーション"について触れた発表がそこまでなかったので、ここは価値観のEmpathyにも通じるしやる価値があるなと判断。
結局、自分が思いついたテーマの中で一番合致するのがQAチームとの取り組みの話でした。

前段の話が長くなってしまいましたが、今回の発表の目次は以下のようなものでした。

  • はじめに
  • 機能性から考える信頼性
  • 機能性に対してSREが出来ること
  • 実際に取り組んだこと
    • E2E支援
    • QAテスト支援ツールの作成
  • まとめ

はじめにを除いた目次を一つ一つ解説していきます。

機能性から考える信頼性

まず、今回テーマから具体的な発表の内容を作成していく時に改めて「機能性とは何だろう?」を深掘る必要性を感じました。そこで、SRE本に書いてある信頼性の一節「システムが求められる機能を、定められた条件の下で、定められた期間にわたり、障害を起こすことなく実行する確率」の部分を読んでいると引用文献があることに気付きました。
Practical Reliability Engineeringという本から引用した一節ということで、「これは読んでみないとダメだな」とAmazonを覗いてみるとあらビックリ。1万円を超える書籍でした・・・

まぁ致し方なしと1万円払って読みましたが、発表で触れたように工業製品の信頼性について書かれた本で主な内容は確率算出のための統計手法についての解説となっておりました。とはいえ1割は信頼性とは何か?について書かれていて、信頼性獲得のための優先順位付け・何故障害は起こるのか?・修理について(MTBFなどMTTR周りの話)などなども書かれております。

で、そこから幾つか引用をさせていただきつつQAが信頼性を構成する機能性を担保する重要な要素だよ、というお話をさせてもらいました。

ここまではSREの視点で見た機能性についてだな〜と書きながら思っていて、ちゃんとQAに関わる人の目線からも機能性はどう捉えられているのか?を話さなければと色々と調べました。その中で、ISO/IEC 25010について知ることとなり、これも読まないとなと探してみるとこちらの日本工業規格の25010に辿り着きました。

kikakurui.com

日本にローカライズされたものとはいえ、ほぼほぼ国際標準規格と同じなのでありがたく読ませていただきました。

ここには発表で触れた通り、システムと関わりを持つ様々な人が必要としているテスト観点をモデル化したもので、この中にはそのものズバリな"信頼性"というモデルもありました。正直、この中に信頼性があることに驚き、内容自体もPractical Reliability Engineeringに則した内容になっていたので源流は同じっぽいですね。
機能性については3つのサブモデルから成り立っており、こういった内容でQAがなされることで機能性の担保はされているんだよという触れ方をさせていただきました。やはり、全然知らない分野を調べると新鮮な発見がありますね😊

機能性に対してSREが出来ること

ここでQAチームとのコラボレーションの話に入るわけですが、ここはもうカッコつけてもしょうがないのでコミュニケーションについて失敗した話も交えながらありのままを書かせていただきました。別の登壇でも発表させていただきましたが、コミュニケーション・コラボレーション促進の施策は失敗したものばかりでしたし、QAチームからコラボレーションのお話をさせてもらえなければQAチームに対してSREプラクティスを発揮することもなかったでしょう。この辺は書きながら反省することばかりでした・・・

今回書くことはなかったのですが実際問題コミュニケーションと一括りに言われても単純な雑談から実装などシステムについての突っ込んだ議論など様々かと思います。個人的には「相手の思考に立ってみること」がコミュニケーションだと考えていて、例えば先程の"実装などシステムについての突っ込んだ議論"ではキチンと相手が突っ込んできたことについて「何故相手はそう考えたのか?」「その考え方の根本のベクトルはどこに向かっているのか?」など、相手の思考・視点に立つことが出来ていないとコミュニケーションとは言えないのではないのでしょうか?
単純に「チーム皆でワイワイやりましょうや〜」「飲みニケーションや!」みたいなものも立派なコミュニケーションの一つだとは思いますが(勿論、この考え方が嫌いという人が一定数いることも理解はできます)、それよりももっと根本の部分でコミュニケーションを実践することが肝要かと思います。

ということをノー論理で言われても聴かれる側の方は「それってあなたの感想ですよね?」と思われるんじゃないかと思い、書かなかった次第ではあります。誰か、このあたりのSREが学ぶべきコミュニケーション術みたいな本を出してくれませんかね?(他力本願

実際に取り組んだこと

ここはただやったことを書いても聴いてる方に届かないかな?と思いまして、ちゃんと進め方の部分についても書かせていただきました。エンゲージメントモデル作りは責務をしっかり確定させるものなので、コラボレーションをやる際にはこれはマジで作っておいた方がいいです。問題の解決を急いじゃうとついつい最初に決めたことが疎かになっちゃうので、見返すためにもという意味で。

あとはここで信頼貯金について触れましたが、コラボレーションを抜きにしても仕事をする上で大切な概念で、これを貯めることで様々なムーブがやりやすくなります。例えば、いきなりチームに入った人が「◯◯というベストプラクティスがあります。これを導入することでこのチームはより良くなるので導入しましょう!」と提案し、もしそれが真であってもなかなか進まないでしょう。そういったムーブをかます時に、信頼貯金が物を言うのです。自分がやりたいことの実現のため、他者との協調のためにも信頼貯金を貯めるための行動を心がけていきましょう。
と、ここまで書いておいて「信頼貯金って誰かから教えてもらった概念だが原典あるのかな?」と調べてみたら著名な"7つの習慣"に書いてある概念みたいですね。今度読んでみよう📖

まとめ

正直、今回の一番の肝はここだと考えて力を入れました。
ザザザっと資料作ってまとめまで来た時に「絶対聴く人の中には大したことやってないな〜と感じる人いるんだろうな」と思ってました。そのくらいやっていることは平易で、別にテクニカルなことをやったという自負もないので、そう感じたのならその通りだなと。ただ、そこで落胆を感じたままだとこの後伝えたいことが心にスッと入ってこないかなと危惧して、「大したことやってないな〜と感じませんでした?」と問いかけさせていただきました。

今回、資料を作成するに至って様々な資料・書籍を改めて振り返ったりしたのですが、その時に「著者の方とかのブログとか登壇とかまでリーチしといた方がいいか」とどんどん手を広げて調査していった結果、Niall Murphy氏の素晴らしいブログ記事に辿り着くことができました🙏

blog.relyabilit.ie

ここには先程の「大したことをやっていない」ことに対しての解や、その他様々な発見があり非常に参考になりました。「Googleシリコンバレーの企業の中でも、多くの点で依然として文化的に異端者です」とハッキリ書いてあるのが面白く、他にも他社で働く際の注意点など気を付けた方がいいことなども書いてありますがSREを実践して働く方には刺さる話が多いかと思います。

ここで伝えたかったのは「SREはプロダクトに関わる全ての人が実践し、理想はSREチームが存在しない状況」ということです。今回はSREチームと他チームのコラボレーションということでもう少しマイルドに「プロダクトに関わる人全てにコラボレーションの目を向けていこう」という感じでお伝えしましたが、その先にあるのが先程の理想についてです。

LINEヤフー株式会社でSREチームでリードをやっておられる@maruloopさんがTwitterで仰られていたこの話が自分も凄く感銘を受けていて、これがSREのあるべき姿だと思っています。

というわけで、こういったことの前哨戦としての様々なチームとのコラボレーションという裏の意図がありきのまとめではありました。

最後に宣伝

こういった組織論というかSREの理想やコミュニケーション論などを語ったり聴くのは個人的に凄い好きなので、話したいことがあるぞ〜って人は是非ともゆるSRE勉強会に来てお話してください〜😊 (第2回はかなり埋まってるので第3回に是非!)

yuru-sre.connpass.com