はじめに
こちらはSlack Advent Calendar 2016の09日目の記事になります。
昨日は @bvlionさん の 我が家で運用されているSlack でした!
本日はSpot(仕事以外のチーム開発やハッカソンなどの一時的なもの)でSlackを作成した際の、管理者の辛さを解決する個人的なベストプラクティスについて書いていきます!
目次
- Slack管理者の辛さ
- 招待の辛さを解決する
2. 招待の辛さとは?
3. 招待を自動化する - Channel乱立の辛さを解決する
2. Channel乱立の辛さとは?
3.#general
をアナウンス用にする
4. アナウンス用の設定
4. [Tips] 出欠はReactionで! - botの導入は用法用量を守って
2. botが不要なSpot Slack
3. botが有効なSpot Slack - 最後に
1. Slack管理者の辛さ
エンジニアの集まりでは得てしてSlackを導入したい時があります。
- 開発合宿
- チーム開発
- ハッカソン
- 勉強会
- ただの仲良しの集まり
- etc...
意気揚々とSlackを導入したものの大変なのはそのあとです。
「Slackでやろうよ!」という決議を聞いたあなたは、
まず、招待のために全員分のメールアドレスをLINE等を駆使してかき集めます。
やっとこさ全員が参加したあとは、デフォルトChannelの#general
や#random
だけでは足りず、雑談用の#zatsudan
, コードを貼るの#code
, 記事を貼る用の#links
などチャンネルが乱立します。
もはやSpotの本来の目的をアナウンスはどこで行っていいのかわからなくなり、全て雑談チャンネルのようになってしまいます。
それでもなんとか運用を続けると、次にbotの導入が検討されます。
最初こそちやほやされたhubot
やbotkit
で作られた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アカウントさえあれば作成できる
- サーバーの用意が不要
- 一つ作れば他のフォームを作る時に使い回しができる
です。
何よりサーバーを用意せずコードだけ書けば作成できるので、煩わしさはほとんどありません。
作成方法についてはこちらの記事に非常に丁寧に説明されていますので参考になさってください。
これで招待の煩わしさから解放されました!!
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
を書き込み禁止にする設定です。
手順は以下の通りです。
-
Team Menu
を開く(Slackの画面の右上のチーム名をクリック) -
Team settings
をクリック.設定画面に遷移します. -
Permissions
タブを開く. -
Messaging
をクリック -
Who can post to your #general channel
からTeam Admins and Owners
かTeam Owners
のどちらかを選択
以上で設定完了です!
これで#general
は管理者のみ書き込み可能になりました!
もう大切な要件が雑談で流れたり、アナウンスを用のChannelを悩む必要はありません!
他のメンバーも流してしまう後ろめたさを感じず、別channelで大いに雑談することができます!
3.4 [Tips] 出欠はReaction
で!
余談ですが、#general
を書き込み禁止にすることでひとつだけ困ることがあります。
それは、出欠をとる時です。
前述の通り書き込みができないので、出欠の返答のしようがありません。
別channelで回答など煩わしすぎて誰も答えてくれなさそうです。
そこで、出欠の際にはReaction
で回答してもらいます!
#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です。
チーム開発では業務に近く、GitHub
やCIとの連携
などBOTがworkする環境があります。
ですが、Integration
を導入するだけで済む場合もありますので作る前に一度確認することをお勧めします。
例外的に、そもそもBOTの勉強目的でBOTを作るといった場合は使われることが目的ではないので作る価値があります。
最後に
以上がSpotSlackを作成する場合の個人的なベストプラクティスになります。
他にも様々な知見はあると思いますので、コメントなどでご指摘いただけると幸いです。
最後までご覧になっていただき、誠にありがとうございました。