カイワレの大冒険 Third

技術的なことや他愛もないことをたまに書いてます

【書評】『Slack入門: ChatOpsによるチーム開発の効率化』は初心者にも中級者にもおすすめの一冊だった

@matsukazさんに献本頂きました!週末に読みましたので、書評を書いてみたいと思います。

今の会社でも、前職でもがっつり使っていたSlack。そのSlackについて、これでもかというほど色々書かれた一冊でした。 ここまで詳細にSlackについて書かれた本は初ではないでしょうか。

折角ですので、詳しく紹介してみたいと思います。

目次

まず、目次はこちら。

第1章 Slackをはじめよう --- 松下雅和
1.1 Slackとは何か
1.2 Slackの基本
1.3 Slackの導入
1.4 Slackで実現するChatOps

第2章 Slackの機能を徹底解説 --- 小島泰洋
2.1 Slackの利用環境
2.2 メッセージボックス
2.3 メッセージやファイルの操作
2.4 チャンネルの操作
2.5 検索
2.6 個人設定
2.7 チーム設定
2.8 App Directory
2.9 有料プラン
2.10 そのほかの便利な機能

第3章 Slack APIの活用 --- 松下雅和
3.1 Slack APIとは
3.2 Incoming WebHooks
3.3 Outgoing WebHooks
3.4 Slash Commands
3.5 Bot Users
3.6 Web API
3.7 Real Time Messaging API
3.8 APIの特長と利用シーン

第4章 代表的な連携ツールHubot --- 長瀬敦史
4.1 Hubotとは
4.2 Hubotの導入
4.3 Hubotプロジェクトの作成
4.4 プロジェクトディレクトリ構成
4.5 代表的なホスティング例:Heroku
4.6 Hubotのしくみ
4.7 Hubotスクリプト/メッセージの受信・応答
4.8 Hubotスクリプト/ Webサーバーとしてエンドポイントを実装
4.9 Hubotスクリプト/ 外部WebサーバーなどにHTTPリクエストを送信
4.10 Hubotスクリプト/任意のデータを永続化

第5章 CIツールとの連携 --- 坂本卓巳
5.1 SlackとCI(継続的インテグレーション)
5.2 Slackを中心としたCIの実践
5.3 サンプルプロジェクトの作成
5.4 GitHubのセットアップ
5.5 CircleCIのセットアップ
5.6 自動テストによるコード品質の担保
5.7 検証用アプリの自動配布
5.8 ユーザーフィードバックの可視化

第1章のSlackは何かという説明から始まり、基本機能の説明、APIの活用、Hubotスクリプトの使い方、CIツールとの連携と内容は多岐にわたります。そのため、Slackとは何かを分からない人から、CIツールに組み込んでみたいという人まで、幅広い読者が想定されているようです。

はじめに

まずこの本、「はじめに」がいいのです。

Slackはいままでのコミュニケーションツールに比べ、豊富な機能や優れたUI/UX、さらにHubotに代表されるチャットぼっとやCIツールなどのさまざまなサービスと連携できる高い拡張性を持っています。本書の副題にもなっているChatOpsが広まってきた背景にはSlackが大きく影響しているのではないでしょうか。反面、これらの機能を使いこなすためには公式サイトの英語ドキュメントを読む必要があり、導入するには敷居が高いと感じる方がいるのも事実です。本書は仕事に限らずSlackを活用している執筆者陣が丁寧に(もちろん日本語で!)解説を進めます。

確かにSlackは拡張性もあり、その便利さからChatOpsなどが広まっている現状があるでしょう。周りを見渡してもSlackはどんどん普及しているようには思えます。

しかしながら、ドキュメントがまだそこまで多いというわけでもなく、難しいことをやればやろうとするほど、適切な資料を探すのが難しくなっているでしょう。特に英語が苦手な方にはその傾向は強くなるでしょう。

そういうときに心強いのが本書というわけです。

しかも難しい日本語ではなく、カラーの図式入りで、分かりやすく説明してくれる。そんな一冊だと思いました。

第1章

第1章では、Slackとは何かから始まり、用語の説明、チームの作成、ChatOpsとはなど、基本的な概念の説明となっています。

これから、Slackに触っていきたい、Slackという言葉は聞くけどどういうものかよく分からないという方は、ここから丁寧に読み始めるのがよいでしょう。

個人的にはSlackの歴史なども書かれており、面白かったですね。

第2章

第2章では、ダウンロード方法や、メッセージボックスの活用(どういった投稿ができるか)、チャンネルの操作など、基本的な機能の使い方が書かれております。

Slackは使っているけど、ちゃんと活用したことないみたいな人にとっては便利でしょうね。特に個人設定などの細かい部分は知らなかったので、もうちょっと設定してみたいという方にはおすすめの内容となっています。

第3章

第3章では、Slack APIについての解説がなされています。curlでリクエスト投げるときの留意事項や、 WebHooks の活用、 Slash Commands の活用について書かれています。

特に108pには、以下の機能をどう使い分けるかが書かれており、使い慣れていない方には大事な情報源となるでしょう。

  • Incoming WebHooks
  • Outgoing WebHooks
  • Slash Commands
  • Bot Users
  • Web API
  • Real Time Messaging API

第4章

第4章ではHubotの活用について書かれています。Hubotの導入として、Node.jsのインストールから始まり、プロジェクトの作成、Hubotの起動など、一つ一つ写真入りで説明がされています。

特にHerokuの無料プランを駆使する方法については、初期費用を押さえて、アプリを作っていきたい方にはおすすめの内容となっています。

第5章

第5章では、SlackとCI(継続的インテグレーション)についての解説がなされています。

この第5章がいいのは、まずCIの説明をちゃんとし、なぜCIが重要とされているのか、そしてそこにどういう立ち位置でSlackが必要となっていったかが、分かりやすい日本語で書かれています。

そして、単に事実の説明に留まらず、具体的に Android StudioCircle CIAndroid LintFabricCrashlytics を使い、CI環境を作り、どうSlackが使われるのか丁寧に解説してあります。

アプリやWebサービスなどを作っている会社が参考になるような、Slackの使い方が丁寧に描かれています。

おわりに

ということで、ここまで『Slack入門』の良さについて述べてきました。 全然使ったことない初心者にとっても、これからもうちょっと活用していきたいという中級者にとっても、おすすめの内容となっています。

何より写真が多く分かりやすい。日本語も平易で更にわかりやすい。 Slackの解説が少ないなか、それだけでも貴重なのに、わかりやすさ満点なわけです。

ということで、オススメなので、是非読むことをオススメします!

6/28発売ですので、是非手にとって、Slackとより仲良くなってもらえればと思います!ではでは!