Posted at
SlackDay 9

全てのSlack管理者に送るSpot Slack作成時のベストプラクティス

More than 1 year has passed since last update.


はじめに

こちらはSlack Advent Calendar 2016の09日目の記事になります。

昨日は @bvlionさん我が家で運用されているSlack でした!

本日はSpot(仕事以外のチーム開発やハッカソンなどの一時的なもの)でSlackを作成した際の、管理者の辛さを解決する個人的なベストプラクティスについて書いていきます!


目次


  1. Slack管理者の辛さ

  2. 招待の辛さを解決する


    1. 招待の辛さとは?

    2. 招待を自動化する



  3. Channel乱立の辛さを解決する


    1. Channel乱立の辛さとは?


    2. #generalをアナウンス用にする

    3. アナウンス用の設定

    4. [Tips] 出欠はReactionで!



  4. botの導入は用法用量を守って


    1. botが不要なSpot Slack

    2. botが有効なSpot Slack



  5. 最後に


1. Slack管理者の辛さ

エンジニアの集まりでは得てしてSlackを導入したい時があります。


  • 開発合宿

  • チーム開発

  • ハッカソン

  • 勉強会

  • ただの仲良しの集まり

  • etc...

意気揚々とSlackを導入したものの大変なのはそのあとです。

「Slackでやろうよ!」という決議を聞いたあなたは、

まず、招待のために全員分のメールアドレスをLINE等を駆使してかき集めます。

やっとこさ全員が参加したあとは、デフォルトChannelの#general#randomだけでは足りず、雑談用の#zatsudan, コードを貼るの#code, 記事を貼る用の#linksなどチャンネルが乱立します。

もはやSpotの本来の目的をアナウンスはどこで行っていいのかわからなくなり、全て雑談チャンネルのようになってしまいます。

それでもなんとか運用を続けると、次にbotの導入が検討されます。

最初こそちやほやされたhubotbotkitで作られたbotは、

1ヶ月もすると誰も見向きもしなくなり、忘れてうっかり入力したキーワードにだけ反応する悲しい存在になってしまいます。

トドメを刺すのはSlackメンバーがふと投稿した「これってLINEグループじゃダメなの?」です。

最後に残るのは、メンバーのほとんどがオフラインのSlackと「Slackでやろうって言ってのはあなたたちじゃないか...」というあなたの憤りだけです。

もちろん全てのSpotのSlackがこうなるとは思いません。

健全に運用されてるSlackも数え切れないほどあると思いますし、上で挙げたのは極端な例です。

ですが、これまでSpotでSlackを何個か作ってきて少なからず上のような例になったことはあります。

もし、同じような体験をされた方がいらっしゃればこの記事が救いになればと思います。


2. 招待の辛さを解決する


2.1 招待の辛さとは?

まず最初の困難


招待のために全員分のメールアドレスをLINE等を駆使してかき集めます。


これを自動化して解決します。

招待の煩わしさはSlackの作成時だけではありません、追加でメンバーが増えるたびに一人づつアドレスを聞いて招待を送らなければなりません。

つまりメンバーの招待は管理者にとって最初から最後までつきまとう問題です

これを解決するために、Slack作成直後に招待フォームを作成します。

ご存知の通りUGなどはこの形でのSlack参加が一般的です。

フォームを作成するメリットは、


  • 一度作成してしまえばリンクさえ教えれば勝手に参加してくれる

  • 管理者以外のメンバーもリンクを共有すればメンバーを招待できる

などがあります。


2.2 招待を自動化する

招待フォームの作成方法はいつくかありますが、可能であれば最も手がかからない方法で作成したいところです。

私はGoogle Apps Scriptを使っての作成をお勧めします。

GASのメリットは


  • Googleアカウントさえあれば作成できる

  • サーバーの用意が不要

  • 一つ作れば他のフォームを作る時に使い回しができる

です。

何よりサーバーを用意せずコードだけ書けば作成できるので、煩わしさはほとんどありません。

作成方法についてはこちらの記事に非常に丁寧に説明されていますので参考になさってください。

http://qiita.com/atusi/items/c2669add8038c43efff3

これで招待の煩わしさから解放されました!!

スクリーンショット 2016-12-09 23.13.19.png


3. Channel乱立の辛さを解決する


3.1 Channel乱立の辛さとは?

次の困難はchannelが乱立して


全て雑談チャンネルのようになってしまいます。


こちらです。

最初こそ部屋ごとのtopicを決めて住み分けしますが、

結局一つの話題が波及してそのまま雑談になってしまうことが多くあり、

流れて欲しくない大切なアナウンスも

管理者 : @channel ○月○日 xx時 --駅 集合でお願いします!

メンバー1 : はーい^^/
メンバー2 : はーい^^/
メンバー3 : ○日は予定あります;;
メンバー1 : @メンバー3 なにするの??
メンバー3 : メンバー4と出かけるんだー!
メンバー2 : えー!いいなー!

こうやって流れてしまいます。


3.2 #generalをアナウンス用にする

Slackは作成時でデフォルトで #general, #randomの2つのchannelがあります。

Slackのルールとして

general
Company-wide announcements and work-based matters

random
Non-work banter and water cooler conversation

つまり


  • #general は 大切なこと

  • #random は 大切じゃないこと

を書き込む決まりになっています。

さらに、 #generalは特別で唯一抜けることができないChannelになっています。

これを活用して#generalをアナウンス用channelにしましょう!

正しく大切なことを伝えられるchannelさえあれば、あとはどれだけchannelが立っていても問題ありません。

#general@channelのメンションを打てば必ず全員の目に止まることになります


3.3 アナウンス用の設定

#generalをアナウンス用のチャンネルにすることが決まれば、あとはたった一つの設定をするだけです。

それは、#general書き込み禁止にする設定です。

手順は以下の通りです。



  1. Team Menuを開く(Slackの画面の右上のチーム名をクリック)


  2. Team settingsをクリック.設定画面に遷移します.


  3. Permissionsタブを開く.


  4. Messagingをクリック


  5. Who can post to your #general channelからTeam Admins and OwnersTeam Ownersのどちらかを選択

スクリーンショット 2016-12-09 21.21.35.png

以上で設定完了です!

これで#generalは管理者のみ書き込み可能になりました!

もう大切な要件が雑談で流れたり、アナウンスを用のChannelを悩む必要はありません!

他のメンバーも流してしまう後ろめたさを感じず、別channelで大いに雑談することができます!


3.4 [Tips] 出欠はReactionで!

余談ですが、#generalを書き込み禁止にすることでひとつだけ困ることがあります。

それは、出欠をとる時です。

前述の通り書き込みができないので、出欠の返答のしようがありません

別channelで回答など煩わしすぎて誰も答えてくれなさそうです。

そこで、出欠の際にはReactionで回答してもらいます!

スクリーンショット 2016-12-09 23.04.01.png

#generalは書き込みはできませんが、Reactionはできますのでこれで出欠問題も解決です!


4. botの導入は用法用量を守って

最後にbotの運用についてです!

こちらはSpotの目的によって是非が分かれるのですが、

基本的にSpotのSlackではbotは不要の場合が多いです。

botが有効な場合とそうでない場合について整理していきます。


4.1 botが不要なSpot Slack

前述の通りほとんどのSpot Slackの場合、botは不要になることが多いです。

何故ならbotにやらせることが特にないからです。

業務Slackと違い、botにやってもらって助かることがほとんどないので

Slack = botという固定観念からbotを作ると大抵使われなくなります。


4.2 botが有効なSpot Slack

逆にbotがworkする場合ですが、経験上ひとつだけでした。

それは、チーム開発用のSlackです。

チーム開発では業務に近く、GitHubCIとの連携などBOTがworkする環境があります。

ですが、Integrationを導入するだけで済む場合もありますので作る前に一度確認することをお勧めします。

例外的に、そもそもBOTの勉強目的でBOTを作るといった場合は使われることが目的ではないので作る価値があります。


最後に

以上がSpotSlackを作成する場合の個人的なベストプラクティスになります。

他にも様々な知見はあると思いますので、コメントなどでご指摘いただけると幸いです。

最後までご覧になっていただき、誠にありがとうございました。