• 株式会社カブク
  • Founder / CTO
  • 足立 昌彦

Slack + Google AppsでToDo管理。豊富なインテグレーションで可能性は無限大

今回のソリューション:【Slack/スラック】

〜Slackとスプレッドシートを連携し、タスク管理システムを構築した「adamrocker流活用術」〜

スマホ向け日本語入力アプリ「Simeji(シメジ)」の開発者でもあるAndroid開発の第一人者、adamrockerこと足立 昌彦さんは、Simejiをバイドゥ株式会社へ事業売却した後、株式会社カブクを立ち上げ、CTOを務める。社員の半数がエンジニアである同社では、BtoB、BtoCの両領域において3Dプリンティングの技術を使ったモノづくりを支援するサービス「Rinkak(リンカク)」を展開中だ。

同社ではコミュニケーションツールとしてエンジニア向きチャットツール「Slack(スラック)」を使っている。Slackの強みのひとつは、豊富なインテグレーションに裏打ちされた高いカスタマイズ性だ。足立さんにカブク流のSlack活用術を聞いた。

プログラミングに目覚めた中学時代から、カブクを立ち上げるまで

プログラミングを始めたのは中学生くらいの時で、当時はまだ、windows3.1 も95もなくて、NECのPC-9800シリーズの時代ですね。古い時代です(笑)。キャリアとしてはまず、大きな会社の研究所で、ソフトウェアを動かすためのコンパイラやJava VM等の基礎技術を研究開発していました。

5年経って、自分が開発していたAndroidの「Simeji」という日本語入力アプリがきっかけになってサンフランシスコに転職して。アメリカにいる間にSimejiをバイドゥ株式会社に事業売却して、そちらで1年半開発責任者をしていました。そしてバイドゥにいる間に今の社長の稲田と知り会って、2013年1月23日に株式会社カブクを立ち上げました。

多様性に満ちた組織で、3Dプリンティング事業をグローバル展開

最初は2人で事業を立ち上げて、今では社員が13名、業務委託の方を含めると15,6名です。カブクでは、3Dプリンタを使ったものづくりをサポートするサービス「Rinkak(リンカク)」を運営しています。

▼カブクにある3Dプリンター

BtoCだけではなく、BtoBの領域でも企業の3Dプリント代行サービスを展開しています。全体的に海外のお客様が多いですね。弊社の組織内にもドイツ人、中国人、インド人、オーストラリア人がいます。もともと僕も代表の稲田も大学院時代には人工知能を研究しており、人工知能の研究で重要な指標のひとつの多様性は意識している部分がありますね。

情報の属人化を防ぐために、Slackの使用を開始

社内のチャットツールは、2014年の秋くらいからSlackを使っています。基本的にはプロジェクト毎のコミュニケーションツールとして使っていて、全プロジェクトにチャンネルがあります。実は以前は Facebookメッセンジャーを使っていたんですよね。課題だったのは会話がどんどん流れて後から参照するのに手間がかかっていたことです。そこでもともとエンジニアはSlackを使っていたので、こっちに全社的に統合しようかと。

プロジェクト毎のコミュニケーション管理ができて、後から入った人にも見られるっていうことや、ちょっとした開発のレビューではこれを使って、「この」プログラムなんですけど、というのがパッと見られるので結構便利です。あとは「言った言わない問題」が解決できます。

過去の会話ひとつひとつの時間のところをクリックすると、その会話単独のURLを取ることができるんです。そのURLを貼ることで証拠が出せるんですね。「これどうなったんだっけ」の「これ」をURLでコピペできるので、非常に助かっています。

Google Appsとの連携で、Slackをカスタマイズ!

普通にチャットする以外にもいろいろとカスタマイズして、諸々使っています。例えば日常の小さなtodo管理もSlackでしているんです。具体的には、Google Appsの中にあるGoogle Apps Script(GAS)というGoogle Appsアプリを開発できるキットがあって、Slackと連携させて使っています。

Slackにコマンドを打つと、Google Apps上のスプレッドシートにそのtodoが貯まっていって、番号も自動で割り振られるようになっています。誰が登録したかもわかるし、完了した時にSlackから例えば/.todo done 109のようなコマンドを打つと、スプレッドシート上の109番のタスクのステータスを完了にできます。

▼Slackでこのようにコマンドを打つ

この仕組みを作るのはけっこうめんどくさかったです(笑)。2日くらいかかりました。Slackでカスタマイズするのが流行っていたので、勉強がてら何か作ろうかなと思って、todo管理できるといいよねと。具体的にはSlackインテグレーションの中のSlashコマンドを使って、httpリクエストをGASのホストに投げます。そうするとGASのdoGet/doPostが呼ばれるのでそこに処理を書いて、Slackに結果を返してます。

非エンジニアへの呼び水として、オリジナルのコマンドを作成

Slackってどうしてもエンジニア向きなので、非エンジニアに向けた誘い水としていろいろおもしろい機能を作ったり。例えば弊社の代表の稲田は博報堂出身で、ちょっと一般的じゃない用語を使うんです。例えば「一瞬いいですか?」とか(笑)。

それを社長語録として、Googleスプレッドシートに書いていくと。それでSlackで該当するコマンドを打つと、その中のひとつがランダムで出てくるんです。語録なんですが言葉だけじゃなくて画像もあります。

この場合はスプレッドシート自体が、サーバのデーターベースになるんですよ。Slack上でコマンドを打つと、GASのdoGetが呼ばれるのでスプレッドシートのセルからデータ取ってきてSlackに投げる。Slashコマンドが増えてくるとどういうコマンドがあったのかを忘れてしまったり、管理コストが上がってしまい、たまにしか使わないコマンドは結局使われなくなってしまうと思ったので、ちょっと工夫をしています。

弊社オリジナルのコマンドは必ず「/.」で始まるようにしています。そうすることで、「/.」と打ち込むと弊社オリジナルのコマンドの一覧が表示され、どういうオリジナルのコマンドがあったのかがすぐに分かります。例えば先の社長語録だったら/.inassyです。普通のコマンドはスラッシュで始まるので、デフォルトのコマンドとの区別をつけるためにスラッシュプラスドットにしています。

自分たちで使うツールは自分たちでカスタマイズ!

先ほどの社長語録もわざと面白くキャラ付けしています。「稲田+ふなっしー」で「いなっしー」って呼んで、語尾になっしーってつけたり(笑)。こんなちょっとしたカスタマイズで非エンジニアを取り込んでいると。コミュニケーションツールって、遊びの要素も必要ですよね。今ではSlackは全員が使っているし、いなっしーも成長していなっしー48とかまで出てきています(笑)。

こういった遊びの要素も含めてなんですが、自分達で使うツールは自分たちでカスタマイズしたいんですよね。Slackのこの自由さはその点とてもいいと思っています。今後ももっと業務が効率化できるように、いろいろ仕組みを作りたいですね。

;