はじめに
こんにちは、ライブコミュニティ事業本部Pococha事業部システム部の新城です。23新卒でPocochaにJoinしてから1年が経過しました。そこでPocochaの1CREというエンジニアをやっている私が業務を通して学んことやチームの取り組みについてお話ししたいと思います!
この記事では、新卒エンジニア/目指している方でエンジニアにはどのような職種があるのかイメージがまだできていない方、大規模サービスのCREチームは何をやっているのかと興味を持った方に特に読んでいただきたい内容です!
CREとは
そもそもCREは、2016年にGoogleが提唱した職種であり、2顧客信頼性エンジニアリングと呼ばれます。ユーザーさんのお問い合わせに対して調査を行い解決策を提案したり、システムの改善を促したりします。
PocochaのCREチームの調査は、コードレベルで調査することが多く、エンジニアの中で最も幅広く実装を把握している必要があります。
私もチームに加入してから効率的にコードを読むための方法を試行錯誤し、チーム内で共有会を実施することでコードリーディングの速度が格段に上がったと感じます。 具体的には、コードリーディングの際にどの層から読んでいくと原因のコードに早く辿り着けるのかをチームの共有会で学んだり、エディターの効率的な検索方法を試したりすることで該当するコードを迅速に特定できるようになりました。
また、調査を行う際には出来るだけユーザーさんの目線を意識しています。例えば、開発環境で実際に配信を行って不具合が再現するのかを確認したり、調査したログからユーザーさんと同じ手順で試したりすることで、どのような体験をしたのかを意識しています。時にはユーザーさんの体験が悪いと判断した場合、その機能を実装したエンジニアや企画の人と協力して改修するアクションをとります。
PocochaのCREチームでは、お問い合わせの調査を遂行するだけでなく、ユーザーさんの目線で現状のサービスに問題がある場合は積極的に改善する意識が求められることも特徴です。
業務内容
CREチームの業務内容は以下の2つに分けることができます。
- ユーザーさんのお問い合わせの調査対応
- CSサポートチームの開発
- 運用業務
1つ目のユーザーさんのお問い合わせの調査対応
は、先ほど述べたようにユーザーさんのお問い合わせに対してコードレベルで調査を行い、不具合の有無を確認します。
2つ目のCSサポートチームの開発
は、配信審査やプロフィール審査を行うための開発を行なっています。最近ではAIを導入して審査の効率化を行なっています。審査周りの開発は、実際に審査担当者と仕様の擦り合わせを行い開発するので、機能設計からリリースまで全てを担当することができます。
3つ目の運用業務
は、管理者画面の新規機能開発や改修などを行っています。
ただ、ここまで幅広く調査や開発を行なっていると段々と属人化するリスクが高まります。私がチームに加入した時は、AIを導入した審査周りの開発は1人のエンジニアで行われている状態やユーザーさんの調査は個人で対応するような形でした。なので、チームとしての学びが蓄積できない状況になっていたと思います。
そこでできるだけ属人化しないようにCREチームで取り組んだことことについて紹介します!
PocochaのCREチームの取り組み
属人化せずにメンバーの全員が幅広くタスクを行うことができるための取り組みについて紹介します!それはズバリ!モブプロを導入したことです。
モブプロの導入
PocochaのCREチームではモブプロを導入し、属人化しにくい仕組みを取っています。CREチームでは2つのモブプロチームに分けて審査周りの開発やユーザーさんのお問い合わせ調査を行っています。私の所属しているモブプロチームでは、午後のほとんどの時間をモブプロしています。
長時間のモブプロは作業の途中で集中がきれることもあるので、ポモドーロタイマーを導入して長時間でも集中して行えるような工夫をしています。モブプロチームでは作業時間を25分として、 その後に5分休憩を取るリズムでモブプロをしています。経験の浅い私にとってモブプロで得られるメリットが多くて日々学びがある状態です。次にCREチームがモブプロを行なって得られたメリットについて紹介します。主に得られるメリットは以下の2つだと思います。
モブプロのメリット
- 複雑なお問い合わせ調査に対応することが可能になった
- コードの質が上がりリリース頻度が上がった
複雑なお問い合わせ調査に対応することが可能になった
Pocochaのシステムは規模が大きいので、ユーザーさんがどういう時にxどの機能で不具合が起きたのかを特定するのは時間がかかります。
私が1人でお問い合わせ調査を担当していた時は、1~2日かけて原因を特定していました。しかし、お問合せ調査をモブプロで行うようになってからメンバーの様々な知識や視点があるので、原因を特定する時間が1日以内になっています。また、複雑なケースの問題であれば調査の考慮漏れもすぐに指摘が入るので、後戻りすることが減り、解決するまでの速度が上がりました。
コードの質が上がりリリース頻度が上がった
CREチームではCode With Meを使ってコーディングをしています。Code with meはモブプロのメンバーでリアルタイムにコードを編集することができるので、オフラインでモブプロをしているかのようにドライバーとナビゲータのやりとりがスムーズになります。
コーディングも議論しながら作成するのでより良いコードができ、レビューの際に指摘されて手戻りする回数が減りました。また、新卒だった私にとって経験豊富なエンジニアのアドバイスを受けながらコーディングしたのでこの一年間はとても成長ができました。
さらに設計もモブプロで行うので全員が理解できるような丁寧な設計書が書けるようになりました。また、出来るだけプルリクエストの単位を小さくし、素早くリリースできるようにメンバーで議論するようになったので、モブプロを導入してから月間のプルリクエスト数が約1.5倍ほど増加しました。
さいごに
以上がPocochaのCREチームの取り組みについての紹介と学んだことでした。新卒でPocochaのCREチームにJoinして1年経過しましたが、 現在でもより良いチームにするためにスクラムを導入したり、Jiraの機能を使って自動的にレビュー依頼を出すようにしたりと様々なアクションに取り組んでいます。 PocochaのCREチームは、ユーザーさんにより良い体験を届けるために常に改善できる部分を考え、実行に移しているアクティブなチームです。 もし本ブログでPocochaについて興味を持っていただいたら幸いです。Pocochaではより良いユーザー体験を考え、実行できる方を募集しています!一緒にPocochaを盛り上げていきましょう!
最後まで読んでいただきありがとうございます。
-
顧客信頼性エンジニアリング ↩︎
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。