Secret Ninja Blog

Support Engineering Director してます

トレジャーデータのテクニカルサポートエンジニアの役割とは

*自分の整理も兼ねて

トレジャーデータのテクニカルサポートエンジニアには、大きく分けて4つの役割がある。

  • Customerの問題解決
  • Developerの問題解決
  • Productの問題解決
  • Customer Successの問題解決

これらの4つの問題解決の役割を通して、

  1. 顧客体験の向上
  2. サービスの利用促進
  3. 顧客との信頼関係の確立

を実現している。

それぞれの問題解決について説明していく。

顧客の問題解決

顧客はサポートに対して、Email / Online Chatなどを介して問い合わせができる。

問い合わせの内容は、使い方の質問、エラーの解決方法、パフォーマンスチューニング、アーキテクチャの相談など様々である。 サービスの機能も多種多様であり、外部サービスとのコネクタだけでも200以上存在している。各種コネクタの外部サービスの仕様を把握しつつ、調査や質問に回答しなければならない、という点だけみても範囲が広いことがわかる。しかもこれは単なる1サービスコンポーネントであり、これ以外にもクエリエンジン、各種ライブラリ、CDPとしての機能、Fluentd, Javascript/Mobile SDK、etc、など機能一覧を単純に並べたら数え切れないほどあるだろう。

現状サポートの問い合わせのメトリクスとしては、年間8,610件(FY2019)の新規チケットが作られている、そのため1日約30件のチケットが発生している。さらに、毎年10~20%前後のチケット増加率がある。

しかしながら、これら問い合わせの回答をするだけではトレジャーデータのサポートとしての役割は果たせない。 それは、顧客の問い合わせの内容そのものが顧客のビジネス・プロジェクトを促進するために必要なことか、という点まで考慮し、問題の解決方法を考えなければならないためである。

例をあげると、CSVファイルをアップロードしたいがエラーが発生して失敗する、という顧客からの問い合わせがあるとする。 このときに従来のサポートであれば、CSVファイルのアップロード方法やエラー解消方法を教えることしかしないだろう。 しかし、本質的に顧客の問題を解決するには、なぜそのCSVファイルをアップロードしないといけないのかを考えて解決しなければならない。 顧客のプロジェクトでは本来はCRMのデータをアップロードをしたいのに、知識不足によって、CRMデータをCSVファイルでダウンロードしてからアップロードする方法を行なっているのかもしれない。顧客やカスタマサクセスへのヒアリングを通し、CRMから直接データアップロードが可能なコネクタを紹介することまでアドバイスを行うのが、テクニカルサポートとして実現しなければならないことである。

こうした顧客のビジネス背景の理解まで含めて、問題解決につなげることがトレジャーデータのサポートとしての重要な役割の一つであり、 この問題解決を通して、サポートがトレジャーデータのコアバリューとして顧客からの評価を得ていることに繋がっている。

Developerの問題解決

サポートにとって、Developerが開発にフォーカスできる状態を維持することも重要な役割である。 Developerが開発にフォーカスできるということは、サービスの機能拡張に繋がるからである。

トレジャーデータのサービスは現在数十を超えるサービスコンポーネントに対して100名を超えるDeveloperがグローバルで働いている。 そのDeveloperが約10チームに分かれて開発やオペレーションまで各チームで幅広く対応している。

それぞれのサービスは、歴史的な背景も含めて複雑なシステムとなっており、サービスコンポーネント間での依存関係もあり、これらすべてを各Developerが把握することは難しい。 また、データを自由に扱える基盤において、利用方法が顧客毎に多様になることは必然であり、顧客から見える問題が単一のサービスの問題として完結することは少ない。

サポートは、顧客からの問題を適切に因数分解し、問題の原因を特定することで、各チームのDeveloperの調査時間を削減し、サービスへの大きな貢献を行なっている。 これは、サポートがサービスを横断して利用し、顧客とDeveloperそれぞれの視点でサービスを把握できなければ実現できない。

また、問題の調査方法の改善、問題の事前検知のモニタリング導入の支援など、顧客の視点からDeveloperがやるべきことを明らかにし、サービス改善の支援を日々行なっている。 残念ながら問題の発生を0にすることは難しいが、同じ問題を発生させないために何ができるかをサポートは考えてサービスに寄与しならければならない。

さらには、機能改善や非互換な機能導入時など、顧客との会話が必要なシチュエーションにおいて、サポートチームは顧客やカスタマサクセスチームとのハブとなり、コミュニケーションを円滑にする役割もある。 コミュニケーションの観点においては、障害時の顧客への影響調査、障害レポートの作成などの対応も行なっている。

Productの問題解決

サポートは、顧客がサービスを利用する際の日々のオペレーションに関する問題を一手に引き受けている。つまり、日々の利用を良くするためのフィードバックを一番考えられるチームである。 サービスの利用促進においては非常に重要であり、こうしたフィードバックをProductに対して実施する必要がある。

一方で、日々の利用改善のための機能追加は、ビジネスクリティカルな機能追加と比べて、プライオリティが決定しにくい問題がある。 そのため、サポートは単発で機能要望をするだけではなく、日々の利用改善のための機能が顧客のどういった日々のオペレーションの中で発生し、それを改善することでどのようなメリットが顧客に発生するのかをストーリーを持って説明しなければならない。 こうしたストーリーテラーとなることもProductと円滑にコミュニケーションしていくために必要であり、顧客の日々の満足度を上げるサポートの重要な役割である。

さらには、プロダクトの新機能開発においては、早期のドックフィーディングを行い、日々のオペレーションの中でどういった問題が発生するかの観点でフィードバックを行っている。

Customer Successの問題解決

Customer Successが顧客とプロアクティブにコミュニケーションを取るためには、顧客の利用状況を知る必要がある。 Productとしては、契約関連の情報を参照できるダッシュボードを準備している。 しかし、顧客の利用状況を知るためには、契約の数値以外にも様々なメトリクスを閲覧できなければならない。 コンソールの利用状況、ジョブの利用状況、各種機能の利用状況、トレーニングの利用状況、こうした様々な顧客に関わるメトリクスを元に顧客のヘルススコアを知らなければ、数百の顧客に対して適切なアクションを行うことができない。

サポートがDeveloperと近い権限を持っていることで、サービスのログデータに基づいた様々な分析環境をカスタマサクセスに提供でき、カスタマサクセスのアクション効率化へと繋げている。 また、サポートが顧客の問い合わせを通じて潜在的な問題を見つけ出し、その情報をカスタマーサクセスに共有することで、問題を未然に解消するアクションをプロアクティブに行うこともできる。

さらには、カスタマサクセスからのエスカレーションをタイムリーに解決することも顧客へのサポートと同様に重要なことである。

まとめ

簡単にではあるが、テクニカルサポートエンジニアの業務の4つの役割について紹介した。 サポートとして、"問い合わせを対応する"ということは、それだけやれば良い業務ではない。 問い合わせ対応をし、そこで得られた顧客やサービスの知見を通して、いかにサービスを良くし、顧客のビジネスの成功を支援するかまで実施していくことによって

  1. 顧客体験の向上
  2. サービスの利用促進
  3. 顧客との信頼関係の確立

が実現できる。