Upgrade to Pro — share decks privately, control downloads, hide ads and more …

問い合わせ対応当番を自動化で業務効率化している話

 問い合わせ対応当番を自動化で業務効率化している話

2022.04.22 YUMEMI.自動化 feat. note tech meetupで登壇しました

Retu Fukui

April 22, 2022
Tweet

More Decks by Retu Fukui

Other Decks in Technology

Transcript

  1. 問い合わせ対応当番を自動化
    で業務効率化している話
    〜noteの事例〜
    2022.04.22 YUMEMI.自動化 feat. note tech meetup / 福井 烈

    View Slide

  2. 自己紹介
    略歴
    2006年:日本インサイトテクノロジー
    (SIer)
    2010年:ジークレスト
    2013年:ガンホー・オンライン・エンターテイメント
    2014年:八面六臂
    2015年:note
    2021年:noteのエンジニアリングマネージャーに就任
    ジークレスト、ガンホー・オンライン・エンターテイメント
    などを経て2015年にnoteに入社。サービス黎明期か
    らnoteの開発に携わり、Nuxt移行、データ基盤、会計
    などを担当。現在はエンジニアリングマネージャーとし
    て、主に組織開発、採用、広報などを行う。青森から
    フルリモート勤務している3児の父。
    #フォートナイト

    #Notion

    #大豆ミート

    #HHKB

    #マネジメント


    福井 烈 / @fukuiretu

    View Slide

  3. アジェンダ
    1. 問い合わせ対応当番とは
    2. 自動化アーキテクチャ全体像
    3. 各プロセス詳細
    4. まとめ

    View Slide

  4. 問い合わせ対応当番とは

    View Slide

  5. 問い合わせ対応当番とは
    󰠣カスタマーサポート
    󰬌ディレクター
    󰱢エンジニア当番隊
    (@help_me_dev)
    🧔営業
    @help_me_dev
    ユーザから課金できないと
    問い合わせがきてます
    @help_me_dev
    管理ツールが動きません
    @help_me_dev
    〇〇の数値の見方が
    わかりません
    ・エンジニアへの問い合わせの 1次受け
    ・1-2日レベルで完了する不具合対応
    を担う

    View Slide

  6. 詳しく知りたい方は | 問い合わせ対応当番とは
    https://note.jp/n/nedb40032d36f

    View Slide

  7. エンジニア当番隊 | 問い合わせ対応当番とは
    ● 構成
    ○ 全6クラン
    ○ 1クランあたり5〜6名を割り振り
    ○ 普段のチームを跨いでごった煮
    ● 周期
    ○ 日替わりでローテ
    ○ 当番を迎える度にリーダーをランダムで選出

    View Slide

  8. エンジニア当番隊 | 問い合わせ対応当番とは
    ● 構成
    ○ 全6クラン
    ○ 1クランあたり5〜6名を割り振り
    ○ 普段のチームを跨いでごった煮
    ● 周期
    ○ 日替わりでローテ
    ○ 当番を迎える度にリーダーをランダムで選出
    自動化対象

    View Slide

  9. 自動化アーキテクチャ全体像

    View Slide

  10. 自動化アーキテクチャ全体像
    当番リスト
    ①今日の当番対象を
    抽出する
    ②当番対象のユーザリ
    ストを引き渡す
    ③当番に関する情報を
    Slackに通知する
    ※ベースを作ったのは私ではありません󰢛

    View Slide

  11. 各プロセス詳細

    View Slide

  12. 自動化アーキテクチャ全体像
    当番リスト
    ①今日の当番対象を
    抽出する
    ②当番対象のユーザリ
    ストを引き渡す
    ③当番に関する情報を
    Slackに通知する

    View Slide

  13. GoogleAppScript(GAS)の責務 | 各プロセス詳細
    1. 日時でスケジューラーを起動
    2. 休日判定
    3. スプレッドシート取得
    4. 今日の当番を取得
    5. 当番のユーザリストを取得
    6. Zapierで用意したWebhookにユーザ情報をPOST

    View Slide

  14. 自動化アーキテクチャ全体像
    当番リスト
    ①今日の当番対象を
    抽出する
    ②当番対象のユーザリ
    ストを引き渡す
    ③当番に関する情報を
    Slackに通知する

    View Slide

  15. Zapierの責務 | 各プロセス詳細
    1. WebhookでGASからのリクエストを受け取る
    2. 受け取ったユーザリスト(当番)をストレージに保管
    3. 受け取ったユーザリスト(当番)からリーダーを抽選
    4. リーダー(抽選されたユーザ)の IDをストレージに保管
    5. クラン当番用のSlackグループメンション(@help_me_dev)にユーザリスト(当番)
    を追加する
    6. Slackに通知する

    View Slide

  16. おまけ

    View Slide

  17. リーダーの再抽選コマンド| おまけ
    ● Slack上で /clan_leader_lottery <簡単に理由を> を実行
    ● 用意した経緯
    ○ お休みやリリース間近の状況でリーダーに当たってしまっ
    た場合に交代の心理的ハードルを下げるため

    View Slide

  18. リーダーの再抽選コマンドアーキテクチャ全体像
    ③現リーダーを除いた
    ユーザからランダム選
    出しSlack通知
    ①コマンド実行
    ②Webhook実行
    ストレージに保管したユー
    ザーリストと
    リーダーのIDが役立つ

    View Slide

  19. まとめ

    View Slide

  20. まとめ
    ● 頑張ればGAS or Zapierいずれかで完結できるが、それぞれの得意なことは得意
    な方に任せた方が良い
    ○ 休日の制御 → GAS
    ○ グローバルな状態保持 → Zapier
    ○ ローコードでの実現 → Zapier
    ● 心理的障壁が発生し得るやりとりもシステムを介することでハードル
    を下げる
    ● GAS, Zapierはブラックボックスになりがちなのでドキュメントもセットで用意するの
    が吉

    View Slide

  21. noteではたらく社員を知る
    エンジニア
 PM
 デザイナー
 インタビューまとめ

    note社ではたらくメンバーが書いた記事や、社員 / プロジェクトインタビューをまとめています。

    View Slide