フューチャー技術ブログ

「その仕事、Slackで。」してみた事例を紹介

はじめに

こんにちは。TIG メディアユニットの久保です。

春の入門祭り🌸 #16 業務効率化・コミュニケーションツールSlack入門です。

コロナ影響により業界各社がテレワーク中心の業務体制を準備する中、コミュニケーションツールの需要が一気に高まってきました。

この環境の中、各社がこぞって求めているのは、テレワーク上でもオフラインと同じように密なコミュニケーションを取れる手段です。新型コロナが流行してから、約2週間で大手コミュニケーションツールSlackの同時接続数が250万人超となったニュースが、記憶に新しいですね。

そんな中、フューチャーは密なコミュニケーションを取るという目的に留まらず、Slackの拡張機能を使った業務の効率化を図っています。今年から配属される新人向けに日々の業務効率化・タスク管理の一つの手段を紹介できればと思います。

本記事では、私のチームが普段使用しているSlackの拡張機能を説明します。具体的な設定方法などは詳しく書いてある記事がたくさんあるのでググってみてください。

普段使用しているSlackの拡張機能(ワークフロービルダー編)

私のチームではSlackの拡張機能であるワークフロービルダー(以降、WF)やAppsを使って、既存業務の効率化を図っています。
拡張機能の具体的な定義や作成方法は公式HPを参照してみてください。

①スタンプを押すだけでタスクのTODOリスト化

Slack上で発覚したタスクに対し、スタンプ(絵文字)をつけることでメンバーのTODOに追加しています。
具体的な例で説明すると以下のシーン。

上記の例では、他メンバーからタスクを強制的に追加された!!のような表現になっていますが、普段は自分のタスク管理のために、やりとりで発覚したタスクを自身でスタンプを押してTODO化しています。

このように、スタンプ→TODOメッセージ化することで、ダイレクトメッセージ(Slackbot)上にTODOが一覧化されるため、タスクの漏れを防止すること・一覧上で視認することができます。今までは日々の会話から発覚したタスクに対して、わざわざ個人のメモ帳に張り付ける等していたタスクのリスト化が、WFを使うとスタンプを押すだけで管理することができます。

②勤怠連絡のフォーマット化

テレワークが主軸となる中、各メンバーの勤務状況を共有するためにWFを使って、勤務状況共有の簡易化を図っています。

予めWFでフォーマットを作成することで、勤怠連絡用のチャンネルからショートカット(青い稲妻マーク)によりWFを呼び出すことができます。このWF一つでは大きなコスト削減にはなりませんが、こういった日々の小さなタスクを定型化・自動化することで、本来やりたい業務に時間を費やすことができます。

③新規メンバーアサイン時のガイドライン自動共有化

プロジェクトにメンバーが新規参画した際に行うプロジェクトルールやキャッチアップ資料の共有・ガイドを、WFで自動化しています。具体的には、特定のチャンネルに新しくメンバーを追加することをトリガーに、各種キャッチアップ資料が格納されたパスを自動で通知する仕組みを適用しています。

私たちのチームでは新規メンバー参画時に以下をWFで共有しています。

  • Wiki
  • キャッチアップ資料のファイルパス
  • 注意事項などチャンネルでピン留めされているスレッドのパス

上記のように、参画時のガイドを自動化することで説明時間の削減を行っています。また、メンバーの新規参画~説明は頻繁に起こることではないため、定型化しておくことで共有しなければいけない情報の共有漏れなども防ぐことができています。

普段使用しているSlackの拡張機能(Apps編)

Slack Appsには、様々なAppsが提供されています。

例えば、「AWSチャットボット」を使えばAWS上のリソースをわざわざマネジメントコンソールにアクセスしなくてもSlack上で監視および操作することができます。

私たちのチームでは、業務形態に合わせてチーム固有のappを作成しています。具体的にはSlack Apps作成用の部品である「Incoming Webhooks」を利用して、外部サービスがイベントを発火する際に、Slackに対して通知連携をすることで、「〇〇が発生したらSlackにもメッセージが投稿される」仕組みを実現しています。

GitLabのCommit/MergeRequestを通知

GitLabからCommit/MergeRequestの通知をSlackに連携することができます。

具体的な操作手順は少し古いですがまとめてくれている記事があるので、参考にしてみてください。
要約すると以下の手順で設定していきます。

  1. Slackアプリを作成
  2. Slackアプリの「Incoming Webhooks」を設定し、「WebhooksURL」を発行。
  3. GitLabのsettings/Integrationsから2で発行した「WebhooksURL」を設定。

上記の設定を行うことにより、ソースレビューの状況やMasterブランチのcommitをSlackで通知を受けることができます。レビュアーにMergeRequestしたけど気づいてもらえない等のタイムラグをSlack自動通知で認知してもらうことができます。開発経験が乏しいアサイン当初などはソースレビューをお願いする機会が頻繁にあると思うので、この機能があると先輩社員に自動で通知がいくのでありがい機能となるはずです。

【番外編】GoogleAppsScriptでZabbix→GmailのメッセージをSlackに通知

Zabbixの通知をGmail経由(GoogleAppsScript)でSlackにも投稿しています。

GASを挟んでいるため本記事では番外編としていますが、障害周りの通知もSlackへ連携しリアルタイムで認知できる仕組みを作っています。
こちらの記事が参考になりました。

本記事を作成する際に改めてSlack Appを調べていいるとZabbixから直接Slackに連携することもできるようなので、次々に新しい方法が出ているなと感じました。

終わりに

働く環境や利用するツールが変わることで、業務方法やタスク管理方法が着々と変わっていきます。今まで自身の中で最適解であった方法よりもさらに良い方法が生まれてきている環境です。

勤続年数が多い先輩社員はそれぞれ自身の業務効率化・タスク管理がある程度確立しているなか、今年からアサインされる新人のみなさんはぜひ積極的に新しい技術・新しいサービスを取り入れて、先輩社員に「そんなサービスあるんだ!?」とあっと驚かしてみてはいかがでしょうか。自動化って便利だしかっこいいですよね。

その1ステップ目として、Slackの拡張機能は早いものなら5分で作れるものもあるので、手を出してみるにはおすすめの手段(の一つ)です。