エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

これで依頼対応は絶対に漏れない! 簡単確実Slackワークフロー

エンジニアチームの仕事は開発、調査、障害対応などあって日々チケットを起票しては消化しながらお仕事を皆様回しておられるのではないかと思います。一方で、チケットにすることのない作業依頼というのも少なくないのではないでしょうか。「ミーティングのリスケ先日程を探して移しておいてください」などなど⋯ そして次に起こる問題は「Slack上で依頼が流れてしまって対応が漏れていた」ですね?

作業依頼の対応漏れというエラー、再発防止はどうしましょう、すべての依頼でチケット切ることにしますか? はい、それが確実なのですが、体裁に沿ったチケットを書くというのはそれなりに重い作業です。依頼をためらわせてしまうという難点が。チームのタスク管理上も、粒度の異なるチケットが大量に紛れ込んでくることになり微妙。と、ここまでの流れはどこの職場でも見られる景色なのではと思います。そこに一つご提案、確実に対応漏れを防ぎつつ依頼側も対応側も楽、仕組みを用意するのも手間じゃない方法を。エムスリーエンジニアリンググループUnit1(製薬プロモーション)/Unit9(治験臨床研究支援)エンジニアの三浦[記事一覧 ]です。

やりたきことを一言でまとめましょう

次のことが実現できていれば、作業依頼は埋もれなくなります。

  • 未対応の作業依頼がリストになっている
  • 朝時点でリストに一件でもあればそれが全員に通知される
  • 依頼があったらリストに簡単に追加できる
  • 対応したらリストから簡単に消せる

「簡単に」の一言も入れることで、チケット起票するのでは重いという悩みにも目配りしております。さてこのごく簡単かつ意外にやり方のない管理を実現する方法なのですが⋯

こんな仕組みならできてしまう

  • 未対応の作業依頼がリストになっている ⇒ Slackのリスト機能がそのまま使えますね!
  • 朝時点でリストに一件でもあればそれが全員に通知される ⇒ Slackでそういうワークフローが書けます
  • 依頼があったらリストに簡単に追加できる ⇒ 依頼メッセージに特定の絵文字リアクションを打ったらリストに登録される、そういうことがワークフローで書けます
  • 対応したらリストから簡単に消せる ⇒ リストに登録するワークフローで、【対応完了した】ボタンを出してあげれば完了がワンクリックになります

はい、ここまで書いたらSlackワークフローを作り慣れている方はもうどんなコードを組むか思い浮かんでしまいましたね。ではもうこの記事は閉じて⋯ あ、いや、最後のWe are hiringのところだけ目を通していただいてからこの記事を閉じてワークフロー作りに行っていただきましょう。いってらっしゃい!

さてこの仕組みのポイントは、フォーム入力を使っていないことです。依頼ワークフローを作ると言ったらまずフォーム入力から始まるのが定石という気がしますが、フォーム入力、想像するだけで重くありませんか。件名、依頼内容、依頼者、期限⋯ ごく定型的なのでも項目がたくさんあって、これはフォームを設計する側もしんどいし打ち込む側もしんどい。というか、それだったらチケットを起票するのとあまり変わありません。

業務を「わかっている」人同士の依頼だったらメッセージで依頼するときにだいたい過不足なく情報を盛り込めているはずです。そのメッセージがそのまま依頼リストに入ってくれれば軽くできる、これが大元の発想になっています。

一個目のワークフロー、リストへの追加

まずはリストを用意しましょう。項目は簡単でいいです。デフォルトの列構成(タイトル・担当者・期限日)に依頼スレッド、対応済ステータスに2列だけ追加しました。そう、たいした項目はいらないのです。情報は全部依頼スレッドの方を見てもらえば書いてあるんですものね。

対応済ステータスという列を用意するということは、対応が終わった項目もリストから消さずにとっておくということを意味します。とっておく必要なんてあるのか? いやいや多くのチームではあったほうがいいはず。振り返りのためですね。あとは、この人はたくさん作業を拾ってくれていたみたいな数字が残っていると評価の時期に「この人は縁の下の力持ちなんです」的なエビデンスになりますよね。360度評価書くためにいいところ探しをするときは本当にありがたいはず。

さて、そうしたら次は絵文字リアクションに対応するワークフローです。まずは全景をどうぞ。

:irai: という絵文字リアクションがわが職場のSlackには登録されていたのでこれをトリガーに使わせてもらうことにしました。

ひとつひとつのステップを解説していきますと、

  1. リストアイテムを追加する
    【タイトル】には、固定で「作業依頼」とでも入れておくしかありません。リアクションのついたメッセージの本文を取得することがワークフローでできたらいいんですけどね。今はその機能がなくて。 【依頼スレッド】にはメッセージの「リンク」を入れされます。「参照」ではありません。
  2. スレッドでメッセージに返信する
    エンジニアチーム向けにメンション付きで「対応が終わったら完了ボタンを押してください」とだけ返信し、「対応完了した」ボタンを付けておきます。
  3. メッセージにリアクションを付ける
    ここからは、完了ボタンが押されてからの処理です。:irai: がついたメッセージに :sumi: (「済」というハンコの絵文字)を付けて、見た目にも終わったことをわかりやすくします。
  4. スレッドでメッセージに返信する
    :irai: リアクションを打った人をメンションして「対応完了しました」とお知らせします。
  5. リストアイテムを更新する
    対応済ステータスを「済」に更新します。過去分をとっておく必要がないというケースだったら更新ではなくてリストアイテム削除ですね。対象として設定する【アイテムID】は、1.で追加したリストアイテムの「アイテムID」です。

簡単! たった5ステップできてしまうのが簡単なのはもちろんですが、フォームにどんな項目を置くか吟味するという地味にしんどい頭脳労働をせずにワークフローが書けました。

お気づきかと思いますがここまででだいたい課題は解決できています。毎朝みんなでこのリストをチェックしましょうねで対応漏れはもうだいたいなくせます。あとはオプショナル、毎朝チェックするという習慣さえ自動化しようという話。

そしてもう一つお気づきかと思いますが、このワークフローだと「担当者」欄が埋まりません。全行空のままだったら360度評価のエビデンス探しのとき途方に暮れてしまうかも。ここは、対応する人に自分で書いてもらうルールにするか、もしくはステップ2の前に「やります!」ボタンをまず表示させてこのボタンを押した人が担当者欄に入るみたいな仕組みも考えられますね。読者への課題といたします。

二個目のワークフロー、毎朝の通知

たった2ステップです。

1ステップ目、リストアイテムを選択するというところがポイントです。次のように、「リストアイテムをフィルターする」という方法で選択するという方法を使います。条件にあったエントリを一個だけ拾ってくれます。条件とはもちろん、「対応済が【未】であること」ですよね。

一個だけしか拾ってくれないのですが、それで構いません。一個でも拾えたら次の2.に進み、「未完了のがあります」とリスト全体をメッセージ通知してくれればいいからです。

ちなみに一個も拾えなかったらこのワークフローはエラーを起こすので、毎朝あなた宛にSlackbotからアラートが飛んできてしまいます。これだけはなんとかならないのかなと思いますが、致し方ありません、無視してくださいませ。

定型的な依頼もこのリストに突っ込める

今回作ってきたこの仕組みは、あくまで業務を「わかっている」人同士の依頼のためでした。メッセージに過不足なく要件が書けているという前提。これがチーム外から定型依頼を受けるとなると依頼内容不備を防ぎたいという話がどうしても出てきます。そう、面倒だから避けようとしてきたフォーム入力をってことです。

フォーム入力するワークフロー、そういうときはためらいなく作りましょう。その上で、入力完了後の流れは第一のワークフローと同様にします。つまり、今回の作業依頼リストに入るようにするのです。固定入力「作業依頼」だったタイトル欄もここで活きてきますね。部署内からの依頼もチーム外からの依頼もすべて取りこぼしなしの高信頼の体制が負荷極小のワンクリックで回るようになります。

We are hiring

業務のしんどさ、なくしたいですよね!? おお、なんと奇遇ですね、エムスリーのエンジニアも皆しんどいのが嫌いなんです。しんどさをなくすことに価値が認められる職場にご興味ありましたら、まずはカジュアル面談でお話しませんか?

エンジニア採用ページはこちら

jobs.m3.com

カジュアル面談もお気軽にどうぞ

jobs.m3.com

インターンも常時募集しています

open.talentio.com