DeNAの「人」と「働き方」の " 今 "を届ける。

進捗確認も会議室予約もSlackbotにおまかせ! コミュニケーションから業務効率化まで担う、DeNAのando-sanさんって?

2018.05.29

Slackbotを活用して、業務改善をする。

ビジネス向けチャットツール『Slack』が普及するにつれて、そんな事例が徐々に増えてきました。Slackでは利用者が用途にマッチしたbot(ボットプログラム)を自作できるため、目的に合わせてさまざまなbotをチャンネルに常駐させることが可能です。

スマートフォン向けのゲームをPCで遊べるプラットフォーム『AndApp(※1)』のプロジェクトチームでも、Slackbotを導入。多種多様な業務改善を行い、今では約50もの機能を開発しています。

今回は、『AndApp』チームを“フルスイング”させるSlackbotの活用方法を、余すところなくご紹介します!

※1……スマートフォン向けのゲームをPCで遊ぶことができるプラットフォーム。スマートフォンで遊んだゲームの続きを、PCでも遊べることが特徴です。

Slackbotのando-sanは、私たちの“プロジェクトメンバー”

『AndApp』プロジェクトで導入しているbotの名前は「ando-san(安藤さん)」。プロジェクトメンバーは、ほぼ毎日ando-sanから話しかけられ、そしてando-sanに何かを依頼しています。

ando-sanと戯れることは、もはや仕事の一部。ando-sanが黙ってしまうと、メンバー全員から「困るんですけど!」と声が上がります。それほど重要な“プロジェクトメンバー”なんです。

ando-sanの名前の由来は、『AndApp』のキャラクターである「安藤さん」から来ています。担当しているプロダクトのキャラクターであれば、メンバーも愛着を持ちやすく、積極的に利用してくれるだろうと思って名付けられました。

「本質的に注力すべきこと」に集中できる環境が作られた

ソフトウェアは日々その姿を変え、まるで生き物のように成長していきます。『AndApp』においてもそれは同じ。

開発フローに沿って数多くの機能が実装されていくため、それらの作業を円滑に進めるには、便利なツールが欠かせません。『AndApp』でも、ざっと思いつくだけで以下のツールを使っています。

Slack, Atrassian JIRA, Atrassian Confluence, Google Spreadsheets, Google Calendar, Google BigQuery, GitHub, Sentry, …

これらに加え、『AndApp』では『Mobage(モバゲー)』のシステムとも連携をしているため、『Mobage』提供のツールも利用することになります。

利用するツールがたくさんあるのは、良いことばかりではありません。「情報が点在してしまう」「ツールを使いこなすのに時間がかかる」「必要な作業を忘れてしまう」など、ツールが増えるに伴ってミスも増えていくので注意が必要です。

ando-sanの誕生前は、各プロジェクトメンバーが上記のツール群を必死に修得・利用しながら仕事を進めていました。つまり、「ツールを使いこなすこと」に少なからず時間が奪われていたのです。

あえて言うならば、それらは「無駄な努力」で、評価されるべきことではありません。

プロダクトの開発者は本来、「本質的に注力すべきことに集中すること」が大切であり、そのために「注力すべき“ではない”ことに労力を奪われない環境を生み出すこと」が必要です。

ando-sanは、そんな環境をもたらしてくれる頼もしい相棒です。

以下より、活用術の例をご紹介します。

▼コミュニケーション編

1)メンバーのお休みを教えてくれる

Slackでの会話中に、誰かに対してメンション(※2)したところ返事が一向になく、実はその人はお休みだった。そんな経験は誰しも持っていると思います。

ando-sanがいれば、そんなミスコミュニケーションはなくなります。休む日が決まっていたり、急に休むことになったならば、それをando-sanに伝えておくのです。

※2……「@tanaka さん、いかがですか?」というように、特定の誰かに対して明示的に話しかける方法。

▲「@ando-san 今日yoichiro休み」と話しかける。

こうしておけば、もしその人に対してメンションされた際には、すかさずando-sanが「今日yoichiro休みだってよ」と教えてくれます。

▲ando-sanから「今日yoichiro休みだってよ」と連絡がくる。

これにより、「○○さんが休みなら、明日の会議で議論しよう」といったネクストアクションをすぐに考えることができます。迅速な判断のために、日々ando-sanが頑張ってくれているのです。

2)Slack上で別ツールのメンションをまとめて教えてくれる

『AndApp』プロジェクトで使われているツールの中でも、特に利用頻度が高いのはSlack、JIRA(※3)、GitHub(※4)の3つです。これらは全て、ディスカッションのための会話機能を提供しています。

JIRAであれば、Issue(※5)ごとにコメントを投稿し合うことで会話できます。GitHubにおいても、Issue単位で会話をすることになります。

※3…主にバグトラッキングやプロジェクト管理などに用いられるウェブサービス。
※4…ソフトウェア開発プロジェクトのための共有ウェブサービス。
※5…GitHub・JIRA内にて重要事項、(提起された)問題として使用される。開発メンバー間で共有が必要な事項をスレッド形式で立てられる機能。

しかし、プロジェクトメンバーが1日の中でほとんどの時間を過ごしているツールはそれらではなく、Slackです。そのため、各ツールの会話を全て追うのは容易ではありません。

そこで、ando-sanの出番です。ando-sanはJIRAやGitHub上の会話を見張ってくれています。そして、会話の中で自分にメンションされたとき、ando-sanはすかさずSlackのDMとして通知してくれるのです。

▲JIRA上でメンションされる。

▲JIRA上でメンションされando-sanから通知のDMがくる。

Slack上の通知をもとに、プロジェクトメンバーはJIRAやGitHub上での会話においても、相手を待たせることなく返事ができるようになりました。

3)メンバーの空き時間を教えてくれる

プロダクト開発を毎日していると、プロジェクトメンバーを集めてディスカッションを行いたくなることが多々あります。しかし、各メンバーはさまざまな予定を抱えているものです。人数が増えれば増えるほど、共通の空き時間を見つけることは難しくなります。

DeNA社内では、Googleカレンダーを利用してメンバーの予定を管理していますが、そういった空き時間を探すコミュニケーションは、Slackで行われることがほとんどです。

Slackを離れてGoogleカレンダーで確認するよりも、Slack上で知ることができるといいですよね。

そんな課題も、ando-sanが解決。その方法は、日付と参加メンバーを伝えるだけ。そうすれば、各メンバー共通の空き時間を教えてくれます。

▲「@ando-san calendar users available (日付)(参加者)...」と話しかけている。

ando-sanが探し当てた時間帯をもとに、各メンバーは「明日が良いです」などの意見をすぐに言えます。

4)空き会議室を調べてくれる

メンバーの空き時間がわかれば、あとは空き会議室を探すだけ。ando-sanは空いている会議室を見つけるのが得意です。会議をしたい日時を伝えるだけで、利用可能な会議室を自動的に探してくれます。

▲「@ando-san calendar available rooms(日付)(時間)(場所) ...」と話しかけている。

Slack上でサクッと空室を見つけられるこの手軽さが重要なのです。

5)会議時間のリマインドをしてくれる

ando-sanは、プロジェクトメンバーからの依頼をいつでも待っています。しかし、それだけではありません。ando-sanから能動的にプロジェクトメンバーに働きかけることもあります。

例えば、毎日決まった時間に開催する会議があるならば、その予定を登録し、5分前に「これから会議ですよ」と参加メンバーに話しかけるようにando-sanに依頼します。

▲ando-sanに予定を登録する。

▲ando-sanからリマインドがある。

ando-sanは、指定された日時に参加メンバーへメッセージを届けます。

▼業務効率化編

1)進捗状況を可視化してくれる

『AndApp』プロジェクトでは、すべての作業をJIRA上でIssueに登録・管理しています。プロジェクトメンバーは進捗のあった担当作業のIssueのステータスを都度変更し、「JIRAを見れば現状がわかる」という状態を心がけています。

しかし、JIRAを眺めるだけでメンバーの状況を正確に把握するのは難しいため、メンバーが「朝会」で報告や共有をすることも多いです。

これでは、JIRAを有効活用しているとは言えません。

そこでando-sanの出番です。ando-sanには、JIRAに問い合わせをすれば、結果をレポートしてくれる機能があります。JIRAに用意されているJQLという問い合わせ言語で条件を指定すると、条件に合うIssueの一覧を取り出せるのです。

具体的には、条件に「着手しているがまだ終わっていない(ステータスがOpen、Resolved、Closed以外の)Issue」を指定すると、メンバーの現在の作業状況を知ることができます。

▲ando-sanにJQLを渡す。

▲ando-sanが着手中のIssueを報告してくれる。

こうした情報がando-sanから定期的に届くようになると、メンバーからの報告が不必要になり、時間を有効に使えます。

2)PDCAフォーマットを自動で作成してくれる

ソフトウェア開発で大事なのは、日々PDCAサイクルを回して改善することです。この実現には「正しく振り返り、評価すること」「以前の状態と比較できること」が必要です。

プロジェクト情報を記載するフォーマットを統一しておくと、開発対象が違ったとしても評価や比較がしやすくなります。

『AndApp』プロジェクトでは、プロジェクト情報やPRD(※6)、ふり返りページのフォーマットを規定しています。開発案件ごとに規定に沿ってConfluenceにページを作り、記載していきます。

ただし、この作業は結構大変で、手間がかかるとルールを守らなくなりがちです。

※6……Product Requirements Document / 何を開発するかを説明した文書

そこで、ando-sanの出番です。「○○の開発」といったIssueをando-sanに渡すだけで、必要なページを所定の場所に自動作成してくれます。ページごとの相互リンクとJIRA上の対応issueとの関連付けも、すべて自動的にやってくれるのです。

▲「@ando-san confluence project page(プロジェクト名)」と話しかけると各ページを作ってくれる。

3)作業フローに対応したIssueを作成してくれる

『AndApp』ではゲームタイトルをリリースするまでに、開発者が数多くのステップを踏む必要があり、運用メンバーが確実に必要な手順を実施するには、適切な管理が求められます。

しかし、メンバーそれぞれが頭の中で手順を考えていると、抜け漏れが発生しがちです。リリース手順の管理も開発と同様にJIRAを使っていますが、多岐にわたる手順のIssueを手作業で作るのは非現実的です。

ここでもando-sanの出番となります。

ando-sanは、あらかじめGoogleスプレッドシートに記載されたタイトルリリースまでの手順を自動的に読み込み、その内容に沿ってJIRAにIssueを作成してくれます。「各手順の作業内容」「担当者」などの情報も入れておくと合わせて反映してくれるので便利です。

▲リリース手順(Googleスプレッドシート)。

Google スプレッドシートとJIRAとの橋渡し役を、ando-sanが務めてくれます。

▲ando-sanにIssue作成を依頼すると、タスク作成してくれる。

▲JIRA上に作成されたIssue。

4)ガントチャートを作成してくれる

開発や運用の作業状況は全てJIRAに登録されているため、これらを俯瞰できるガントチャートは必須といえます。

かつて、『AndApp』プロジェクトではプロジェクトメンバーがGoogleスプレッドシートで自作していました。しかし、これはかなりの時間と労力が必要であり、二次利用できないファイル形式である点も課題でした。

今では状況が変わっており、ガントチャートは「JIRA内のデータベース情報を自動的に反映させて描く資料」として、プロジェクトメンバーに認識されるようになりました。

なぜならJIRAの内容に基づいて、ando-sanが自動的にGoogle スプレッドシートにガントチャートを作成してくれるからです。ガントチャートに追加したいIssueの条件を、以下のようにando-sanへ指定します。

▲ando-sanにガントチャート作図を指示する。

するとando-sanは、Google スプレッドシートに以下のようなガントチャートを自動的に描いてくれます。

▲作成されたガントチャート。

あらかじめGoogle スプレッドシートにフィルタなどを指定しておけば、各メンバーの「空き状況」なども一目瞭然となります。

ando-sanへ定期的にガントチャート作図を指示すれば、常に最新の資料を見ることができます。つまり、『AndApp』プロジェクトにおいてガントチャートは「メンバーが毎日メンテナンスしていく資料」ではなく「最新情報が常に反映されている資料」として機能しているのです。

おわりに

このように、ando-sanのおかげでプロジェクトメンバーが本質的な仕事に集中できる環境が作られています。

チームで力を合わせて良いプロダクトを生み出すには、自動化・省力化を推進することで、各メンバーが「人間“だからこそ”できる創造的な作業」にフォーカスすることが大切です。そうすることで、結果的にプロダクトの質も向上していきます。

エンジニアの方は、チームに必要なSlackbotを自作しても良いでしょう。「自分ではSlackbotを開発できない」というビジネス系職種の方も、社内で協力を仰ぐなどして導入を進めてみてください。今回ご紹介したSlackbotの活用法が、自社でSlackを利用している多くの方の参考になれば幸いです。

業務効率を良くすることが、ひいてはお客さまにより良い価値を提供することに繋がっていくはずです。

※本記事掲載の情報は、公開日時点のものです。

執筆:田中洋一郎 編集:下島夏蓮、中薗昴

open menu