PR

意思疎通にかかるコストは馬鹿にならない。ビジネスチャットツールはコミュニケーションコストの削減に寄与する。エンジニアの間で広まっているSlackは、他ツールと連携して自動テストやデプロイも可能だ。

 最近のシステム開発に欠かせないのが、米スラック・テクノロジーズ(Slack Technologies)の「Slack」や米マイクロソフト(Microsoft)の「Microsoft Teams」などのビジネスチャットツールだ。ビジネスチャットツールは、1対1でのチャットだけでなく、ファイル共有などもできる。

 とりわけエンジニアに人気があるSlackは、クラウドストレージのDropboxやBox、GitHubといった著名なサービスであれば、数クリックで連携できる。さらにチャットボットのプログラムを作成すれば、Slack上のメッセージを取得して、プロジェクト固有の処理を実装することも可能だ。Slackの活用が進むミクシィやアクセンチュアの事例から活用のポイントを探ろう。

レビューやデプロイを自動化

 ミクシィは、Slackを使った開発の自動化を進めている。ミクシィのチャットツールの活用歴は長い。2004年にサービスを開始したSNS(ソーシャル・ネットワーキング・サービス)「mixi」の開発時から利用が進んでおり、社内にIRC(Internet Relay Chat)サーバーを立てて、チャット上でコードレビューの実施などを行っていた。スマホゲームの「モンスターストライク」を開発する白川裕介モンスト事業本部開発室長は「チャットツールは既に開発ツールの1つになっている」と有用性を強調する。

ミクシィの白川裕介 モンスト事業本部 開発室長
ミクシィの白川裕介 モンスト事業本部 開発室長
[画像のクリックで拡大表示]

 モンストのプロジェクトでは、Slackを単なるコミュニケーションに利用するだけでなく、コードレビューやサーバーから出力されるエラーログの確認にも利用している。

 チャットボットによる自動化も進めている。例えば、テストサーバーにデータをデプロイする機能やGitHubのリポジトリーからデータをインポートする機能などを実現している(図1)。

図1●Slackでデプロイを行った様子
図1●Slackでデプロイを行った様子
(出所:ミクシィ)
[画像のクリックで拡大表示]

 チャットボットの導入前は、企画担当者とエンジニア間で煩雑なやり取りが必要だった。ゲームの設定が記述されたCSVファイルを開発環境にインポートし、動作確認のテストをする際、企画担当者がCSVファイルをエンジニアに渡し、エンジニアが開発環境へインポートしていた。インポートに失敗した場合は、エンジニアから企画担当者に発生したエラー内容をわざわざ伝えなければならなかった。多大なコミュニケーションコストがかかっていた。

 ミクシィはコミュニケーションコストを削減すべく企画担当者がSlackでインポートしたいCSVファイルを指定することで自動的に開発環境へインポートする仕組みを構築した。「エンジニアの手間が省け、その分開発作業に集中できる」(白川室長)と話す。

 Jenkinsを使ったテストの自動化にもチャットボットを利用している。企画担当者が作成したCSVファイルの整合性をチェックし、結果をSlackに通知するといった機能を実現し、エンジニアの負荷軽減を図っている(図2)。

図2●ミクシィはSlack を使って作業の自動化を進めている
図2●ミクシィはSlack を使って作業の自動化を進めている
[画像のクリックで拡大表示]

 ただし、本番環境へのデプロイだけは以前と同じく企画担当者がエンジニアに対象データを伝えて、エンジニアがサーバーにアップロードする決まりになっている。本番環境へのデプロイは、そう頻繁に行うものではなく、何らかのトラブルが発生すれば、緊急な対応が必要になるためだ。トラブルの発生頻度や影響度によって、チャットボットに任せる処理を決めることが肝要である。