平均的な企業では、ムダな社内コミュニケーションや会議に労働力の 20% 以上を奪われています。
こうしたムダには、要件の洗い出し、デザインのステータス調整、最新情報の共有をはじめ、市場に製品を投入し、長期的に改良を続けるために費やされる時間すべてが含まれます。
このハンドブックでは、Slack を活用してアジャイルかつ効率的な開発サイクルを維持する方法をご紹介します。チャンネルで作業し、既存のアプリやサービスを連携させ、Slack の多彩な機能を導入することで、メンバー全員がすばやく集まり、最新情報を常に把握できます。そのうえ、コードのリリースやサービスの信頼性向上など、重要な分野により多くの時間を割けるようになります。
このハンドブックで学べること:
- 会社全体で重要な情報、エキスパートや専門家からのアドバイスへアクセスする方法
- 1 か所からコードをレビューしてデプロイする方法
- 複数のシステムのリアルタイムパフォーマンスデータを追跡して問題をスピーディに解決する方法
- ワークフローを定期的に使うサービスやプラットフォームへ連携させて合理化・自動化する方法
「Slack を使う開発チームでは、全体のアウトプットが 5% 増加、市場投入までの時間が 23% 短縮、テストと処理に要する時間が 27% 短縮、エンジニアリング関連のバグの特定と解決がスピードアップしています」
高品質なコードのリリースに必要な情報とスペシャリストを、チームの手に
パブリックチャンネルは、会話の整理に役立つだけでなく、社内の全員が検索できるナレッジのアーカイブを自動で形成します。作業の大半をパブリックチャンネルで行うように決めておけば、ほかのメンバーが業務を進めるうえで詳しい情報が必要となった時にも(例えば前回のリリースの詳細など)、その情報に簡単にアクセスできるようになります。
プライベートチャンネルはセンシティブな問題や機密事項を話し合う時に、ダイレクトメッセージはちょっとしたやり取りに限定して使うのがおすすめです。
「私たちには、『エンドツーエンドのデリバリーパイプライン』と呼ばれる、ソースコードから本番環境でのデプロイに至るまでの一貫した仕組みがあります。そして今や当社では、その仕組みの中の重要なマイルストーンのすべてに Slack を組み込んでいるのです」
アラートをアクションへ変換
コードレビューも、サービス中断の解決も、すべて Slack で
一連の変更をプルリクエストへ落とし込む時や、メンバーが集まって緊急のアラートに対応すべき時は、Slack アプリやインテグレーションを使えばさまざまなシステムの通知をチャンネルで受信し、関連する話し合いで活用できます。そうすることで、潜在的な問題の特定やソリューションの提案もチーム全体で行えます。
パブリックチャンネルへほかのシステムからのアラートを流し込めば、管理職や他チームのメンバーが状況を把握しやすくなります。さらに、チャンネル内でチームが一丸となって問題を解決することで、タイムスタンプつきの監査証跡が自動で作成され、インシデントレビューに役立ちます。また、複数のアプリとログインを切り替える必要がなくなり、仕事中の遅れも出にくくなります。
開発ツールを Slack に連携
これらのアプリやサービスを Slack ワークスペースに連携させれば、ビルドやデプロイのプロセスすべてを 1 か所で管理可能に。
![Logo of GitHub Enterprise Server](https://a.slack-edge.com/80588/img/plugins/github/service_72.png)
GitHub イシューへのコミットやプルリクエスト、コメントを Slack チャンネルへ投稿、リクエストの送信時にチームメンバーに自動で通知。
![Logo of Jira Cloud](https://avatars.slack-edge.com/2018-11-30/493753869479_4b703f4119efe3d7d0ff_72.png)
Slack で Jira の課題ステータスに関する通知を取得、作業を割り当て、チームの進捗状況をフォローアップ。
![Logo of Heroku ChatOps](https://slack-files2.s3-us-west-2.amazonaws.com/avatars/2018-07-10/396072065317_f8b9a63ed67ca0368c6e_72.png)
デプロイ通知を Slack チャンネルへ投稿、インシデントに対応するチームメンバーを割り当て。
![Logo of PagerDuty](https://avatars.slack-edge.com/2021-01-25/1680548373876_08bcd7da61f0761d9dcd_72.png)
Pagerduty イベントを集約し、アクションにつなげられるアラートを Slack チャンネルへ投稿することで、インシデント解決までの所要時間を短縮。
![Logo of New Relic Alerts](https://a.slack-edge.com/80588/img/services/new-relic_72.png)
New Relic からのウェブ、トランザクション、サーバー、モバイルアラートを Slack チャンネルで取得。
![Logo of Bitbucket Cloud](https://slack-files2.s3-us-west-2.amazonaws.com/avatars/2018-03-21/334235045829_1d1db85d6877560365df_72.png)
コードがリポジトリにコミットされた時点で Slack チャンネルに通知を投稿。
このほかにも、Slack App ディレクトリには開発者用ツールが多数揃っています。
チームの方向性を揃え、アジャイルなプロセスを維持
Slack をチームで活用
さて、チャンネルやアプリ、インテグレーションを通して、チームに必要なメンバーやツールとつながる方法をご紹介したところで、次は、毎日の業務を Slack へどのように移行できるか見てみましょう。チームメイトがチャンネルで共同作業することで、最高の仕事ができるようお互いをサポートし、問題が発生する前に潜在的な課題を見つけることができます。
スニペットを使用してコードを作成・共有
多彩なプログラミング言語をサポートするスニペットを使って、コードや構成ファイル、ログファイルを共有しましょう。チームメンバーがダウンロードしたり、生ファイルを表示したり、コメントを残すことができます。
会議をカットして Slack 内で例会を開催
スタンドアップ・ミーティングの場を Slack のチームチャンネルに移せば、各自の作業内容、プロジェクトのステータス、阻害要因などの把握も簡単にできます。あとで検索するのもスムーズです。アプリに会議進行をまかせるのもおすすめ。Teamline や Standuply が人気です。
トリアージチャンネルと絵文字で問題を追跡し、パターンをチェック
よりよい対応を実現・維持し、問題追跡中の懸念を減らすために、専用のトリアージチャンネル(#triage-ios アプリ)などを作成して社内のメンバー全員がバグや問題、障害を報告できるスペースを作ります。質問に対応し、最優先の問題を適切なチームに割り当てられるよう、日替わりでトリアージ担当者を選任することをおすすめします。
絵文字でステータスを表示
Slack メッセージに状況や背景といったコンテキストを追加したい時に役立つのが絵文字。トリアージチャンネルの場合には、経時的にトレンドを追跡し、アクションをパターンで確認する診断ツールとしても使えます。
チームによるチームのためのソリューション
社内インテグレーションを構築する場合
ワークスペースに接続できるアプリはたくさんありますが、チームのニーズに合わせてワークフローの調整を迫られる場合もあります。その結果として、Slack に取り込まれるツールやデータが増えるかもしれません。そんな時に役立つのが内部インテグレーションです。
内部インテグレーションを使用して複数のリソースからのデータを 1 つのメッセージにまとめれば、Slack から直接、DevOps、デプロイ、CI、インシデント、さらにワイヤーフレームの承認を管理できます。以下のような用途にとりわけ便利に使えます。
ユースケース : Shopify を支える敏腕 Slack アプリ
e コマースプラットフォームの Shopify では、50 万軒以上のオンラインショップが運営されています。こうしたショップを常時スムーズに運営するために、同社では 180 点以上の Slack 内部インテグレーションを作成しています。一番人気は「Spy」です。この内部インテグレーションによって Shopify は Slack から離れることなく、最も取引数の多いショップや、トラフィック量、決済についてのクエリ情報など、数百のカスタムコマンドを実行し、複数のデータセンターを横断してサーバーを点検・運用し、GitHub リポジトリを新規作成できます。
インテグレーションをもっと詳しく知りたい?
開発のスタートは API.slack.com から。アプリのブループリントでは、詳しい手順、コードのサンプル、役立つフロー図も提供しています。
さて次は?
このハンドブックでは実にたくさんの内容をご紹介させていただきました。そこで、ワークフローの合理化、プロセスのスピードアップ、チーム間における情報へのアクセスしやすさの向上といったことを実現するために、まずチームで試してみるべき点をいくつかピックアップしてみました。
チェックリスト :
- チャンネルの整理を忘れずに : チームや部署間のコミュニケーションを円滑かつ明確に保つには、チャンネルをきちんと整理することが欠かせません。チャンネルリストを定期的にチェックし、使わなくなった不要なチャンネルはアーカイブしましょう。ムダを減らして Slack をさらに使いやすくするには、こちらの Tip をチェック。
- チャンネル名を再考してみる : チャンネルすべてに適用される、一貫性のあるチャンネル命名規則はありますか?チャンネルの目的はわかりやすく表示されていますか?見つけやすく、フォローしやすくなるよう、ちょっとチャンネル名を見直してみましょう。チャンネル命名のベストプラクティスはこちらから。
- アプリを連携させてみる : 頻繁に使う主要サービス(バグの追跡ツールなど)をチームのワークスペースに連携させて、Slack で直接データの共有や更新ができるようにしてみましょう。Slack 向け開発ツールをチェック。
チャンネルの整理やアプリの連携などの詳しい Tip やハウツーガイドは、ヘルプセンターを参照してください。サポートチームに直接相談したい場合には、いつでもお気軽にメール([email protected])にて、または Twitter(@slackhq)を通してお問い合わせください。