DMM.comラボエンジニアブログ

DMM.comラボのエンジニアブログです。DMM.comを支える技術について書いています。

DMM insideに引っ越しました。 移転先はこちら -> https://inside.dmm.com/

社内チャットツール選定!OSSを含む7種からSlackにたどりついた理由とは?

こんにちは!システム本部 ビッグデータ部の鈴木です。

DMM.comラボでは2016年4月から開発部門のチャットツールとして
Slackが正式に導入されましたヽ(=´▽`=)ノ *1
f:id:dmmlabotech:20161220122138p:plain:w500
私が口癖のように「Slack使いたいです〜」と言っていたのですが・・・
ある日!!

上司 「実際にSlack導入提案をやってみない?」
鈴木 「ホントですか!?やりたいです!」
上司 「現状含みほかのツールと比較して、まずは提案資料作ってみてよ」
鈴木 「承知しました!( ̄- ̄)ゞ」

こんなことがありました。
これをきっかけに評価シートの作成を行い、導入に至った訳です。

各事業部が続々と移行を進め、年末を迎えた現段階ではかなり定着したと思われます!!
そこで今回は移行前のチャット事情やSlackの選定に至った理由についてご紹介したいと思います。

Slackが選ばれた理由

選定の際に色々な評価軸を設けてホスティング・OSSの7種から検討をしたのですが
簡単に申し上げるとその得点が最も高かったのが理由です。

f:id:dmmlabotech:20161221113035j:plain

  • フロー型のツールでありながら、重要な情報はストックしておくことができる

1日中やり取りを続けていくとログが流れ続けます。
そんな中でも見逃してはいけない情報は、ピン・スターを活用することでストックしておくことができます。

  • スニペット機能

f:id:dmmlabotech:20161220125526p:plain:w500
開発者にとって嬉しい機能!
コードをスニペットとして保存しておくことが出来ます。
対応するSyntaxも豊富にあるうえコードに対してもコメントを残すこともできるので活用するシーンが多い! コードに綺麗に色がついてて見やすいですよね。 

  • 豊富なIntegration

効率化を図りたいと思った時にやはり欠かせないのがIntegrationでした。 エンジニアにとっては豊富なIntegrationは宝の山のような存在でしょう。
ビッグデータ部において、どのようなIntegrationを利用しているかはまたの機会に紹介したいと思いますが、JIRAやBitbucketと連携して一括して通知を受けられるようにしています。

  • 洗練されたUI

f:id:dmmlabotech:20161220130533p:plain:w500
Slackは非常にシンプルで直感的なUIとなっており使っていて非常に気持ちが良いです。 自分好みの色合いに簡単にカスタマイズできるのも好評ですね。

移行前のチャットツール事情

移行前メインで使っているのはSkypeとHipChatでした。

  • 他事業部とのやり取りは主にSkype
  • 部内でのやり取りはHipChat

2つのツールを使い分けていました!といってもSkypeにHipChatそれぞれに連絡が来ていると・・・ 全てチェックするだけで時間を使ってしまい手間になっていました。

チャットを利用したコミュニケーション

弊社は普段からチャットでのコミュニケーションがかなり多い会社です。
開発組織では多い話かもしれませんが、依存度高めです。

メリットとしてはこの2点。

  1. 作業ログ として残すことができる
     → リリース作業に関する周知を関係するグループに行うのに利用。
       口頭で話をしたことをメモ / 周知代わりに再びチャット上で連絡することも有り。

  2. 自分のペースに合わせてチェックできる  → 話したい相手がミーティングなどで離席している時でも伝えることができる。
       相手が忙しい時は有効だと実感することが多いでしょう。
       たまに埋もれることもありますが・・・。

開発部門として、チャット上でコミュニケーションがスムーズであることは 激しく業務の効率化を図ってくれています。

ビッグデータ部内での使われ方について

所属部内でのチャットのユースケースは以下のようなものです。

  • 周知事項の連絡
  • リリース報告
  • Zabbixからの障害通知
  • Integration
    • JIRAからの通知
    • Stashのプルリク通知
    • HubotによるChatOps
  • その他・雑談など

チャットツールで困っていたこと

大きく見て2点が挙げられました。

  • 過去ログを検索しやすいインターフェースが欲しい
    • 履歴がなくなると過去に何があったか辿れなくなる
  • Integrationでできることが限られている
    • エンジニア目線からみて、Integrationは効率化に直結している

これを受け、ツール選定が本格的に動き出しました。

選定方法について

困っていた部分を解決できることを優先的に考え評価軸を作成。
ツール候補はホスティング・OSSから7種に絞りました。

評価軸

アドバイスを受けながら作成した評価シートです。 f:id:dmmlabotech:20161221113035j:plain:w400

上であげさせていただいたものと同じになりますが、
評価軸においたものは下記の10点となります。

中でもセキュリティと外部サービスとの連携が選定ポイントとなっていたので
重きをつけてそれぞれの点数を算出しました。

  • クライアントが使いやすいか   Admin管理機能
  • 外部サービスとの連携      セキュリティ
  • 検索可能上限          メッセージ閲覧上限
  • 将来性             イニシャルコスト
  • ランニングコスト        月額費用目安    

候補ツール

【ホスティング】     【OSS】

検討していく中でSlackと競ったのがChatWorkでした。

重きを置いたセキュリティの面ではChatWorkも申し分なく安心して使える印象。
ただエンジニアとして使いやすさを考えた時、Slackの洗練されたUIが非常に魅力的でした。

そして決定打となったのは外部連携です。
Slackではプラグインで各自カスタマイズをして使うことができるので
エンジニアとして遊び心をくすぐられます。

また候補に入れたOSSのRocketChat・Mattermostも導入には至りませんでしたがかなり魅力的でした。 どちらもSlackクローンとして、有名なOSSなので聞いたことがある方も多いことでしょう。

最大の魅力は、完全にフリーで利用できる*2ことではないでしょうか。
何か不具合や機能追加をしたければ、自分で実行してプルリクを投げてContributeすることもできます。

エンジニアからしたら非常にワクワクします(((o(´∀`)o)))

そんなRocketChatとMattermostの特徴を簡単に紹介したいと思います。

Mattermost

Mattermost is an open source, self-hosted Slack-alternative

と言われているように、かなりSlackを意識しています。

驚くことに、動作確認はdockerを利用して下記のワンライナーで手元にサクッと動かすことができます。

※ 予めdockerを手元で動かせるようにしておく必要があります。

$ docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

手元で実際に動かすと以下のようになります。

f:id:dmmlabotech:20160919204356p:plain:w500

ピンに似た機能や、カスタム絵文字なども設定できるなど、Slackに大きな影響を受けて作られているのが伝わってきます。数ヶ月前に動作確認したのと比べ不便さを感じる場面が少なくなっており、日々洗練されている印象を受けました。

RocketChat

デモが動いていて誰でも簡単に利用できるので、雰囲気をつかむことができます。
またMattermostと同じようにdockerで動かすこともできます。
Slackと異なる点としては日本語対応をしていることかもしれません。

f:id:dmmlabotech:20160921202455p:plain:w500

どちらのOSSも非常に簡単に利用できる & 使い勝手も悪くないという印象を受けました。
またマルチプラットフォームに対応しているので、様々なクライアントから利用できるのも特徴です。

その一方で、ノウハウがない中での運用・企業への導入という意味では
ハードルが高いのでは?と感じました。
導入後の管理・運用を行うコストがかかる所に懸念がありました。
とはいえ個人で使う場合や小規模組織の場合は、非常に良い選択肢になるのではないかと思います。

まとめ

ということで、7種候補に出したところから検証を行いSlackを選ぶこととなりました。 仕事中は常に起動しており、見ている時間も非常に長いチャットツールの選定は、 想像以上に慎重になる必要があると感じました。

その分ツール変更による業務の効率化をひしひしと感じています。 とはいえ、開発者以外にSlackが受け入れられるのには時間がかかってしまったり、オンラインゲーム事業部とは使用ツールが異なっているためまだ課題が残っている感も有ったりもしますが業務効率は格段と上がったと思います!

個人的にはずっと使いたかったツールが使えるようになった事をとても嬉しく感じています。 それ以上に、希望を言っているだけだった私に導入提案を持ちかけてくださった上司に感謝しています。 2年目でもしっかりと意見を提案でき採用される環境があることに、改めてDMMって凄いと感じました。

ネタがたまったら、社内での活用事例もご紹介させて頂きますね♪ それではまたヽ(´エ`)ノ

*1:オンラインゲーム事業部を除く

*2:ただしサーバのコストなどを除く