Customer Reliability Engineer の発展的な職務領域についての覚書

Customer Reliability Engineering とは

現在の自分は B2B SaaS の技術サポートを提供するチームの中で Customer Reliability Engineer (CRE)として働いている。

Customer Reliability Engineering は 2016 年に Google が提唱し始めた職務領域で、Google 社内で蓄積した Site Reliability Engineering のノウハウを Google Cloud ユーザーのアプリケーション(サイト)にも適用してコミットしていこうというアプローチだ。つまり、Google が提唱する CRE は Customer('s Site) Reliability Engineering のようなものと言える。

そのミッションは、 Drive Customer Anxiety -> 0 のように表現されていて、Reliability と Anxiety の関係は Anxiety = 1 / Reliability であると書かれている。その理念に共感したフォロワー企業は日本でも多数生まれ、例えば Mixi, Hatena, Soracom, Mercari などが CRE と名前のつく部署を立ち上げている。

一方で、その職務領域は各企業ごとに異なっており、技術サポートチームを CRE チームとして名前を変えたものや、セールスエンジニアに由来を持つものなど、当初の Google が実践してきた職務領域の枠に囚われず、試行錯誤を進めている。

各オペレーションへの SRE の方法論の応用可能性

SRE の職務に関しては O'Reilly の書籍 Site Reliability Engineering に詳細がまとまっているが、Kazunori さんのこの「ソフトウェアエンジニアが作った運用チームとしての SRE」という言葉がわかりやすい。

SaaS を成功させるためには、さまざまな要素を担当するチームが必要で、それぞれに日々のオペレーションがある。SRE は DevOps というインターフェイスの実装であるように語られているが、そこから考えを進めて DevOps 以外の Ops である ProductOps、CustomerSuccessOps、SupportOps などの SaaS を提供する上では欠かせないファンクションにおけるオペレーションにも、それぞれにその精神性や方法論が横展開できるかもしれない。

既にそれぞれの Ops ロールの必要性は認められポジションとして存在するとは思うが、その技術職として可能性がこのような文脈で語られるのはみたことがなかった(もちろん既に高度に実践している企業もあるとは思う)。そこで、発展的に CRE にそのロールの一部を担わせることができるのではないかと思っている。

Embedded CRE

各オペレーションの具体的な業務は、例えば ProductOps なら製品の利用状況の開発へのフィードバック、CustomerSuccessOps ならカスタマーヘルスダッシュボードの構築や Churn / 売上予測、SupportOps ならサポートツールの開発やスループットの改善などが考えらられる。

これらの業務はカスタマーサクセスマネージャー、プロダクトマネージャー、カスタマーサポートが片手間で(もしくは専属のポジションとして)行う、それか社内で他業務を主としているエンジニアやデータサイエンティストなどに依頼ベースで実施しているところが多いのではないかと思う。その職務を「ソフトウェアエンジニアがなる運用ロールとしての CRE」に担わせることで、それらの業務をさらにドライブさせることができるのではないかと考えている。実際に上記の業務にはエンジニアリング的な素養は大きく活きると思う。

SRE が開発チームに Embedded されるように、CRE がプロダクトチーム、カスタマーサクセスチーム、サポートチームに Embedded され、業務を遂行するような形でも良いかもしれない。なぜなら、業務改善には業務理解が不可欠だからだ。そこはソフトウェアエンジニアリングを知っている SRE との違いであり、難しさかもしれない。更に Embedded SRE との違いは、Embedded される先のチームが基本的には組織的にエンジニアリングチームの外にあると考えられるため、組織的運用的には Embedded しにくいというところがある。

まとめ

この記事では CRE の業務の発展性について考えてみた。このアイディアは自分自身がサポートチームに所属する CRE としてプロダクトチーム、カスタマーサクセスチーム、サポートチームのオペレーションの改善業務を行っているところから着想を得ている(実際には Data Engineer 的な仕事が多いので Embedded Data Engineer と評しても良いのかもしれない)。このようなロールは組織構造や職務の切り方などによってはもちろん他のロールで代替可能なものだが、組織によってはその構成の選択肢の一つとして有効なのではないかと考えている。