見出し画像

社内の問い合わせを改善してみた

この記事は、NAVITIME JAPAN Advent Calendar 2021の 14日目の記事です。

こんにちは。ひよこです。
ナビタイムジャパンの全サービスで共通利用する API 基盤の開発をするチーム(以下、API 開発チーム)に所属しています。

API 開発チームでは別のメンバーが DiRT(障害対応演習)の記事を書いています。どんなチームか気になる方はこちらの記事もご覧ください。

API 開発チームでは、サービスの開発者からバックエンドの開発者まで、社内のいろいろな人から問い合わせが寄せられます。時には問い合わせが重なることもあり、対応までに時間がかかってしまうこともあります。

他のチームに対しては素早い応答を提供しつつ、自分たちのチームとしては本当に必要な調査や改修に時間を割けるようにする、ということを目指してお問い合わせの改善を始めました。

課題を見つめ直す

チームに対して問い合わせが寄せられる方法は大きく3つあります。

  • 口頭での問い合わせ

  • Jira (課題管理システム)

  • Slack (チャットツール)

このうち特に頻度の高い Slack からの問い合わせについて本記事では取り上げていきます。

以前から Slack チャンネルでの問い合わせは多かったため、過去にも改善が行われたことがありました。
Slack が導入された当初はフリーフォーマットで問い合わせをもらっていましたが、今年度の問い合わせ改善のスタートは、Slack のワークフロー機能でテンプレートを埋めることで問い合わせ内容を記載できるという状態でした。

改善前の問い合わせフォーム

ヒアリング

Slack チャンネルでの問い合わせが多い人や、バックエンドを管理していて質問が回されることが多い別チームの人にヒアリングを行いました。
対話の中で問い合わせフォームにあったら嬉しい機能など、改善のヒントがいくつも得られました。

過去の問い合わせの分析

問い合わせ内容がスプレッドシートに蓄積されていたため、直近200件ほどを切り出して、どの API に対する問い合わせなのか、どんな問い合わせなのか(不具合調査、仕様確認など)を分類しました。

この結果、一部の API では検証環境で「疎通できない」という問い合わせが多いことがわかりました。
サービスでお客様に使われる本番環境と異なり、検証環境のバックエンドはコストを抑えるためにスポットインスタンスを使うことが多く、たまに一時的にダウンし数分後に自動的に復旧することがあります。このグラフの API はスポットインスタンスの一時的なダウンに伴って「疎通できない」という問い合わせが寄せられていました。

ある API の問い合わせの分類結果

課題に対してやったこと

Slack のワークフローからアプリへの移行

ヒアリングの結果や過去の問い合わせの分析から、問い合わせフォームに対して改善したいアイデアを洗い出しました。
その結果、Slack のワークフローを使ったフォームでは、改善できることとできないことが出てきました。ワークフローでできないことの一部は Slack アプリを自分たちで作ることで対応ができそうでした。

まず、すぐできることとして、移行前に既存の Slack のワークフローに対して改善を実施しました。任意の入力項目を増やしたり、期日の選択肢を増やしたりしました。

次に、自動応答機能など、フォーム以外の部分の拡張も見据えて Slack アプリの導入に着手しました。

Slack が公式で出している Bolt を採用しました。

  • 問い合わせフォームを Slack アプリから出力

  • フォームの内容を Slack アプリのコード内で加工し投稿

  • API の URL が記載されている場合は社内のサーバに問い合わせて調査に必要なバックエンドの情報もスレッドに投稿

以上の機能が実現され、問い合わせ改善の土台ができあがりました。
調査に必要な情報が自動的にスレッドに投稿されることで、それを見た他のチームの人が私たちの応答の前に調査を開始でき、問い合わせた人の待ち時間を短くできたことがありました。

自動応答

検証環境のバックエンドがダウンしてしまう時がある問題に対して、問い合わせに記載された API の URL から自動的にバックエンドの状態を確認してスレッドに投稿するという機能を作成しています。これにより「疎通できない」問い合わせについては状況確認の待ち時間をゼロに近付けられるものと考えています。

作成中の機能で想定している bot とのやりとり

また、蓄積している過去のお問い合わせを元に、「疎通できない」以外のよくあるお問い合わせに対しても自動的に応答できないかも検討しています。

まとめ

社内のチームで協調してものづくりをしていくためにはチーム間のコミュニケーションが不可欠です。
コミュニケーションのひとつである問い合わせを改善することで、他のチームも私たちのチームも本当に必要な開発や調査に集中できるようになります。今後も改善を続けてより良いサービス開発を支える仕組みにしていきます。