この記事は TIS Engineer Advent Calender 2015 10日目の記事です。
1. はじめに
最近、チームにチャットベースのコミュニケーションツールを導入してみたので、その話をします。
具体的には、Back Channeling をオンプレミスな環境(自社運用のチーム用VPN環境)に導入しました。
導入してから2週間くらいなので、効果や活用の度合いはまだ見守り中といったところなのですが、導入方法や使い方を紹介したいと思います。
2. チームのコミュニケーション・情報共有
自分のチームでは、普段の連絡にはメールを、情報共有にはWikiを(Red Mineを使っています)という自分の周りではよく見かける環境です。
これで何が困るということは無いのかもしれませんが、LINE等のメッセンジャーやチャットでコミュニケーションするのが当たり前になっている現在、メールを書くのは面倒だし、ちょっとしたTipsやノウハウならWikiに書くまでもないなーと思って、自分の胸にしまいっぱなしになることが多々あります。
近年では、業務でチャットサービスやコミュニケーションツールを導入する例は増えてきていると思います。
ただし、会社の諸事情でパブリックなサービスは使いにくいとか、運用ルールを敷いてキッチリ管理するとか、ビジネスプランが、、、となると、それらを乗り越えて導入するのというのはなかなか大変です。
なので、今回は社内のイントラネット内で使えるものを選びました。
Slackクローン風のLet's Chat 、DevHub など、候補はいろいろありましたが、さっと導入できて、機能がシンプルな Back Channeling にしました。
3. Back Channeling の導入
こちらの記事にある通り、実際に動かすまでとても簡単です。
今チームで使っている社内VPSからは、インターネットにアクセス出来ない設計になっているので、
git clone や curl を使ってダウンロードすることが出来ません。
今回は、自分のローカルPC(Windows)にVagrantでCentOS環境を作り、そこで動く状態まで整備して、生成されたファイル郡をまるごとVPSへ転送することにしました。
その後は、VPS上でファイアウォールでポートを開くのと、サービス化するための起動スクリプトを書いています。(このあたりは環境によります)
あと、チームのユーザ向けにログイン方法や簡単な使い方をWikiに書いておきました。
※IEなど一部のブラウザでは正常に動作しないことがあったので、一番問題のなかった Chromeをチーム内で推奨してます。
4. 使い方
使い方やルールは特に決めずに使っていますが、実際にこんな使い方をしているよ、というのを紹介します。
Tips を投稿する
仕事に活かせそうなTipsをポストします。
もともと、せっかくエンジニアが集まって仕事をしているので、使っている言語やフレームワーク、開発環境などのTipsを気軽に伝えることができるとよいと思っていたのですが、メールやWikiだと面倒でした。
Back Channeling はスレッド形式なのでトピックごとにある程度まとめられるのでよいです。
チームのメンバーはビギナーからベテランまでスキルレベルはわりと広いので、基本的なコーディング作法やIDEの使い方でもわりと需要があります。 世の中には会社で作るノウハウ集やコーディング規約より優れたまとめ記事がたくさんあるので、チームとしてまとめ切れない事をカバーしていけるといいです。
ライブレビュー
チームのコードレビューは、コミット内容を確認して、修正したいことや確認したいことをひとつずつExcelのセルに埋めていくスタイルです。
レビューしている最中でもいろいろ他の仕事が割り込んできて、終わるまで時間がかかることも多いのですが、気づいたその場で伝えたい場合や、みんなに同じ修正をお願いしたいことがあったので、レビューをライブでやってみることにしました。
Back Channeling で ”レビュー中” スレッドを作って、リアルタイムに結果をポストしていきます。
Markdownで書けて、コードもシンタックスハイライトしてくれるのでExcelのセルに書くより読む気になります。その場でディスカッションできるのが良いですし、第3者も観戦しやすいのでレビューの波及効果が期待できます。
また、今までのコードレビューではなかった Good Job 的なことも書けるのが良いです。
トラブル
日々コードをコミットしていると、ある日突然動かなくなったりすることがあります。そういうエマージェンシーな事態が発生したときには、当事者で全力調査&解決します。 後で他の人にも伝える必要がありますが、そういう時に個別に伝えるのは大変です。
場合にもよりますが、Wikiに対応策を書いたりメールしたためたりする程でもないことも多いので Back Channeling があると共有しやすいです。
5. おわりに
実はいままで、仕事ではあまり使ってこなかったチャットでしたが、使ってみるとやっぱり便利です。
Back Channeling は ChatOps 的なこともできそうなので、使い方を広げて行けるといいと思っています。
みなさんのチームにも、それぞれのやり方があると思います、ぜひ教えてください。