こんにちは、虎の穴ラボFantia開発エンジニアの磯江です。
新米ながら、後述する問い合わせ窓口の主担当をしています。
今回はFantia開発におけるDevOpsの取り組み、特にユーザーからのフィードバックなどを契機としたFantiaの改善についてご紹介します。
DevOpsの以下の要素には言及いたしません。
- インフラ管理・監視
- CI/CDなどの自動化
- セキュリティ
- トラブルシューティング
Fantiaのリリースについては、『Fantiaの新機能開発からリリースまでの道のり』という記事が公開されていますので、 合わせて読んでいただくと、Fantia開発の取り組みについてより理解いただけるでしょう。
Fantia開発のチーム構成
Fantiaのシステム開発・運用を行っているチームについて簡単に紹介します。 ※2024年10月時点のチーム構成です。
カスタマーサポートチーム(以降CS)
Fantiaに投稿されるコンテンツの審査やユーザーからの問い合わせ対応などを行うチームです。 Fantiaの運用には欠かすことのできない重要な業務を担っています。
開発チーム
開発チームは、メインとなる機能開発とは別にいくつかの役割を担っています。 今回はその役割の一部を紹介します。
役割1:負荷・性能改善
システムへの負荷を監視し、問題がある場合に主に対応する役割を担います。 よくある「SQLクエリの性能改善」だけではなく「オートスケーリングの設定調整」などインフラも責務に含まれます。
役割2:セキュリティチェック・対応
利用しているライブラリやミドルウェアに脆弱性が発見された場合の対応やフレームワークのバージョン更新などを行います。 昨今のセキュリティ情勢は変化が激しく、早急な対応を求められる場合もあるため、かなり重要度の高い役割です。
役割3:問い合わせ窓口
ユーザーからの問い合わせの中でも、エンジニア側で仕様やデータの調査が必要な問い合わせの対応を行います。 私が中心となり、課題の管理や解決・分担の決定を行っています。
CSからのフィードバックを元にしたFantiaの改善
Fantiaは毎日多くの問い合わせをいただきます。 そのフィードバックの中には、Fantiaの改善のきっかけとなるものも存在します。
またCSチームが業務を遂行するうえで必要な改善提案を出す場合もあります。
問い合わせの発生
問い合わせ対応チームの紹介で記載した通り、ユーザーからの問い合わせのうち、CSだけでは対応ができない内容や運用をするうえでエンジニアのサポートが必要な内容は、エンジニアへの問い合わせが発生します。
問い合わせ内容の管理は、全社で利用しているBacklogで行っています。
CSがBacklogで問い合わせ課題を作成すると、連携しているSlackチャンネルに通知が行われます。
課題解消とタスク化
問い合わせの内容によって解消方法は様々ですが、実装されている仕様やデータ取得時のSQL、ユーザーごとのデータ状況の調査を行う場合が多いです。
エンジニアへの問い合わせや改善提案のうち、エンジニアの開発によってユーザビリティの向上や効率改善が見込めるものは、 エンジニア開発タスクとしてBacklogの課題を作成します。
タスク実施可否の決定
Fantiaの開発チームは、週に1度バックログリファインメントを実施しています。 前述したCSチームからのフィードバックによって作成したエンジニア開発タスクもこの場で優先度を決定します。
軽微な修正や影響の大きいタスクについては、プロジェクトマネージャーの判断でタスクの実施を決定しますが、 修正内容が多いタスクについては、プロダクトオーナーと協議して開発計画に組み込む場合もあります。
開発
Fantiaの機能開発については、以下の記事で公開しています。
新機能開発だけではなく、システム改善の開発も道のりは同じです。
まとめ
今回はCSからのフィードバックを契機としたFantiaのシステム改善の流れについて紹介しました。 開発規模の軽微なタスクは、タスク化から2週間程度でリリースしており、Fantiaではシステム改善に積極的に取り組んでいます。
問い合わせ窓口を担っていると、ユーザーが一番利用する機能について仕様を把握する機会が多いという特徴があります。 様々な仕様について理解を深めていると新機能開発の要件作成時などに役立つ場面が多く、Fantiaの開発を担うエンジニアとして高いシナジーを得ることができます。
Fantia開発エンジニアを募集中
虎の穴ラボでは現在、一緒にFantiaを開発していく仲間を積極募集中です!
多くのユーザーに使っていただけるtoCサービスの開発をやってみたい方は、ぜひ弊社の採用情報をご覧ください。
カジュアル面談もやっておりますので、そちらのご応募もお待ちしております!