こんにちは。開発Div. エンジニアの田中(@teriyakisan)です。
ウェブサービスには運用がつきものですよね。
なかでもエンジニアがなにかを調査したり、データ修正・抽出や一括処理などなんらかテクニカルな作業するようなものを、クラウドワークスでは「テクニカルサポート」、略して「テクサポ」と呼んでいます。
対応内容は幅広いのですが、「コード修正を伴わないもの」として、通常の開発業務とは線引きをしています。
今回はこれらテクサポをどのように回しているか、今後どうしていきたいかの話をしてみたいと思います。
呼び方について
古くは手動対応とかデータ修正作業とか呼ばれていて曖昧な概念だったのですが、半年くらい前からテクサポと呼び始めたことで社内にはだいぶ浸透してきました。 (名前大事ですね)
結果として「今日はテクサポ多い」、「このテクサポ辛い」、みたいな会話も日常的に聞こえてくるようになりました。
体制について
現在は5チームが週替り担当でテクサポを担当しています。
それにより多くのエンジニアがテクサポをやることになるのですが、対応することによってサービス理解が進んだり、さまざまな知見が溜まって手順の改善がおこなわれたり、大勢で対応するメリットも感じています。
(反面、専門外のテクサポが回ってきて大変なこともありますが、そこはエンジニア間でフォローしつつがんばっています)
テクサポ専任チームを設けた時期もあったのですが、専任はどうしても辛いのと、みんなでサービス開発をしたいという思いから現在の体制にしている部分もあります。
依頼の仕方
テクサポの依頼はユーザーサポートや事業部メンバーがRedmine起票でおこないます。
部署ごとに依頼するRedmineプロジェクトが分かれていて、そこに依頼内容を起票するとエンジニアに通知がいって対応が進む流れです。
Confluenceに依頼ガイドラインを用意しているほか、よくある依頼は穴埋めするだけでスムーズに依頼できるように「チケットテンプレート」機能(Redmineプラグイン)を使った整備も進めています。
対応の仕方
テクサポの依頼があると、slack上で担当チームに通知が流れます。
日付が指定されているものを除き、基本的には依頼当日中になんらかの返答か対応をおこなっています。
作業内容に応じて多くはConfluenceに手順書がまとめられており、それらを元に対応を進めます。
前例がないものや、不具合調査などについては過去事例をRedmineから探ったり、slack上でほかエンジニアの協力を仰ぎながら解決に向けて動きます。
対応で工夫していること
サーバにログインしてコンソール上でおこなう作業については、後日の調査や前回対応を参考にできるよう簡単にログ保存される仕組みが用意されています。
そのほか、5チームで回している関係上、次いつテクサポが回ってくるのかという不安にかられたり、開発計画の調整が必要になったりするので金曜日に直近のローテ表がslack通知されるようになっています。
対応コストの見える化
現在はユーザーサポートや事業部などの単位で、起票するRedmineのプロジェクトを分けて管理をしており、対応時に作業時間の記録をおこなうことでテクサポのコスト算出と増加状況などを見れるようにしています。
集計は自動化されていて、月初にスプレッドシートを見に行くとグラフとともに月次推移がすぐに見られるようになっています。
カイゼンと仕組み化
テクサポ自体は、サービスの成長やさまざまな機能追加、事業部ニーズの多様化により増える傾向にあります。
ただ漫然と対応しているだけだとコストはあがってしまうのですが、エンジニア陣のがんばりによってそうはならない状況をキープしています。
例えば、新しい対応があった際に手順書をつくることで、次回の対応が楽になるようにしています。
また、データ修正や一括処理などについては、手動でおこなっていた手順をスクリプト化して作業時間やリスクを減らしたり、管理画面化を進めることでエンジニア不要で依頼者自身が対応をおこなえるようにしています。
利用ユーザーにとっては?
テクサポ自体は普段クラウドワークスの利用ユーザーからは見えないものではありますが、操作ミスやなにかしらのトラブルの際など、通常の機能では対応しきれない問題が発生した場合はユーザーサポートチームとテクサポ担当者が協力して対応にあたっています。
すぐに解決できずご迷惑をおかけしている場合もあると思いますが、なかにはこれまでシステム的に要望に応えられなかったものがテクサポの仕組み化や改修によって対応できるようになったケースもあり、そういったものは取り消し機能だったり修正機能だったりの形でユーザー提供することを目指しています。
どうしていきたいか
最終的にはテクサポとしては調査業務や専門性の高い作業のみが残り、ほかの依頼は管理画面や自動処理によって即時に対応され、利用ユーザーも依頼者もエンジニアもハッピーな状態が理想だと考えています。
また新しい機能の追加時に、あらかじめ運用を考えた設計や実装をおこなっておくことで、新たなテクサポの芽を生み出さないようにしていくことも大事かなと思います。
なかなか道のりは遠いのですが、サービス開発と並行して辛くない良い状態に持っていきたいですね。
We're hiring!
クラウドソーシングでお馴染みのクラウドワークスでは、がんがんサービス開発をしていきたいエンジニアに加え、日々増え続けるテクサポを仕組み化や自動化によって0にすることに情熱を燃やしてくれるエンジニアも募集しています!