Slack の愛され力に学ぶSlack App 運用
今回の記事はグリモアで「インフラ・サーバーサイドエンジニア」として働くロクロウが担当します。この表現を毎度使うと文字数が多いため、本記事では当社チーム名を借りて「天網エンジニア」と呼称していきます。
自己紹介
2021年3月よりグリモアに天網エンジニアとしてジョインしています。
前職ではウェブアプリを作っていたフルスタックエンジニアで、グリモアでも引き続きAPIサーバー運用を中心にインフラから管理画面用フロントエンドまで幅広く対応しています。
今年はSlack で取り組んでいることを紹介いたします。
去年は AWS SSO の記事を作成いたしましたので、ご興味ある方はご一読いただけますと幸いです。
Slack の愛され力
みなさんSlack を使っていますか?
メールやチャットツールなどで連絡を取り合っていた当たり前を一転させたサービスであり、チャンネルベースのメッセージプラットフォームとして コミュニケーション に革新を起こしました。ドメインごとの情報共有がしやすくなり、多くの会社がベロシティを出せるようになりました。
自分はSlack が次々とミッションを達成していく姿が大好きです。
「皆さまのビジネスライフをよりシンプルに、より快適に、より有意義に」と掲げたミッションを叶えるべく今日までも、そしてこれからも進化を遂げていくと信じています。
自分自身はこのサービスに7年近くお世話になっており、どれだけ機能が増えようともシンプルに使うことができています。
加えて、Slack のリリースノートが大好きです。
本記事執筆時点での直近のリリースノートはこちらです。
「テキストの反乱は鎮圧されました。」
「あなたのやさしい声に、つい夢の中に引き込まれてしまっていたようです。」
こういった優しさやコミカルなテキストを見ると 好き という感情以外出てこないタイプのオタクです。
ひたむきさはファン化につながる
もちろん、これが一回だけならここまでSlack が好きになるということはなかったと思います。
ミッションからブレることなく、より快適なビジネスライフになるため、ひたむきにユーザーと向き合い行動を起こし必要なものを作り続けているSlack だからこそ、熱狂なファンになってしまったエンジニアです。
もちろんゼロベースで考えることは大事ですし、他サービスの機能や価格情報も仕入れます。
しかし、それらの基準を加味した上でも好きという感情は最後のひと押しとしてとても有用であり、応援したいという気持ちがあることはすべての選択において重要だと考えています。
Slack をもっと便利に使うための当社の取り組み
さて、そんなSlack を便利に使うためには2つの軸があります。
すでに用意されている拡張・連携ツールを利用する
会社独自のことをやらない場合はこちらでまかなうことが可能です
公開されているAPI・Webhookを活用して独自のSlack App を用意する
「自分の会社じゃないと使わないな~」という機能を実装する場合や、Slack と直接連携していないサービスと連携する際に利用します
そして、グリモアでは多くのおもしろ文化や、ふりかえりフレームワークのひとつである「KPT」から得られた 知見を仕組み化 する文化があり、多くのSlack App が稼働しています。
タイムカードを切ると投稿しながらガチャもしてくれるBot
出社している人の中から加湿器に水を入れる人をガチャするBot
ZIPファイルが投稿されたら中身の画像をスレッドに展開するBot
ストレージサービスのURLが投稿されたら認証を通して該当フォルダの先頭画像をスレッドに展開するBot
ドキュメントサービスのURLが投稿されたら文書の先頭部分を展開するBot
全チャンネルを監視してキーワードを見つけたら集約するBot
Uniposに投稿されたメッセージの中でキーワードの入った投稿を毎週まとめるBot
GitHubのレビューがアサインされたら該当の人にメンション付きで投稿するBot
他多数
と、多くのオリジナルSlack App が社内では展開されており、すべて天網エンジニアが運営・管理しています。
Slack App を使ってもらえるようにするため取り組んでいること
天網エンジニアがSlack App を使ってもらえるよう運営・管理していく上で大切にしていることは以下の3つです。
要望に対して答えやすい環境を作ること
潜在的な課題を見つけにいくこと
キャラクターの解像度をあげ、ユーザーに違和感を与えないこと
こちらをひとつずつ説明していきます。
1. 要望に対して答えやすい環境を作ること
まず、Slack にエンジニア依頼チャンネルを用意しています。
そこでは雑に困っていることを誰でも投稿することができ、それを拾って適宜対応を進めています。
日々エンジニアへの依頼は発生しており、直近ですと「noteにAdventCalendarの記事が投稿されたらSlack チャンネルにも投稿できないか?」という要望をもらいました。
(こちらはnoteにRSSフィードがあったのでSlack 標準機能の `/feed subscribe URL` で解決しています)
開発側のアーキテクチャとしては、簡単なSlack App はRubyランタイムのLambdaをLambrollで展開しており、モーダルやボタンなどを利用して対話が発生するSlack App は bolt-js を活用してserverless frameworkで展開しています。
極力サーバーレスにすることで管理するものを減らし、高速FBループを回せる環境にしています。
ちなみに、新しいフレームワークも気になってます。
サーバーレス環境も必要がなくなりそうでハッピーですね。
https://api.slack.com/future
2. 潜在的な課題を見つけにいくこと
いくら要望に対して答えやすい環境を整えても「社員から要望が出てこない」 場合、チームの課題解決は進みません。
こちらに関しての解決策なんですが、
「要望ベースだけで動くのではなく自分から見つけに行く姿勢も必要だ」
という結論を出すに至っています。
そもそも、 エンジニア以外の人がエンジニアリングを用いて解決できるかどうかがわからない からです。
一度エンジニアが介入し、解決できることを実感できると、そこから一気に要望は増えていきます。
天網エンジニアはほとんどのチャンネルにジョインしており、普段から会社全体を俯瞰して見るようにしています。
加えて、KPTや普段の会話から改善できそうなところを見つけては提案し解決するを繰り返しています。
自分の要望が解決するという成功体験を通じて、課題や要望を出そうという気持ちが加速する。
結果、仕組み化が進み、チームも加速すると考えています。
3. キャラクターの解像度をあげ、ユーザーに違和感を与えないこと
Slack App を作る上で、「冷たい」「システム的」と思われないことを大事にしています。
この理由は簡単で、愛されないからです。
そして愛されないと使われないSlack App になってしまい、仕組みとして定着せず、チームの加速に貢献できません。
グリモアはゲーム会社ということもあって自社のキャラクターをSlack App にあてており、愛着溢れる運用にしています。
ただ注意しなければいけないのは、 「このキャラクターは絶対にこんなこと言わない」 という、いわゆる 解釈違い を起こさないことです。
解釈違いはオタクとして失格です。
利用するキャラの解像度を高めるため、改めてキャラの設定を見返したり、ライターに文章作成をお願いすることもあります。
作成時から多くの人を巻き込んでおくと、その人達もSlack App に愛着が湧くので、こういう巻き込みはどんどんやっていくのが良いと考えています。
最後に
ということで、Slack への愛を語り、そこから学ぶSlack App の運用についてお話ししました。
愛されるにはひたむきに挑戦をしていくことが大事であり、挑戦をしていくからこそ愛されることができると考えています。
当社はそれを行動指針である GRIMOIRE IS... において `応援Challenger` と表現しています。
天網エンジニアは技術を追うのは当たり前という土台がある上で、
「どうすれば会社を前進させることができるか」
「どうすれば価値を届けることができるか」
「どうすれば愛されるプロダクトにすることができるか」
を意識して試行錯誤できるメンバーが揃っています。
もし、これらのことを大事にしたいエンジニアさんがいらっしゃいましたらお声掛けいただけると嬉しいです。
もちろん他職種でもこういうマインドを大事にしたいと思う方は是非ご応募ください。
愛されるプロダクトを通して一緒に【中二病を救う】側になりましょう。
読んでくださりありがとうございま――…… え?さぽーと…?いやいやいや!そんな恐れ多いですよ!でも、サポートいただけると、ゲーム開発が少しだけ楽になるかも…… あ!ごめんなさい、独り言ですっ!えへへへ……