実録! チーム開発が捗り過ぎるSlack+GitHub+Trelloの使い方:普通の開発者のためのリーンスタートアップ手順書(5)(1/2 ページ)
スタートアップではいかにお金を使わずにプロダクトを開発するかは成功につながる大きなポイントとなる。コストを掛けずにプロダクトを作っていく上で、導入すべきツールをどのように使うかを数回に分けて紹介。今回は、開発プロジェクト向けチャットツール「Slack」の特徴を解説しプロジェクト管理ツール「Trello」や「GitHub」と組み合わせた活用事例を紹介する。
編集部より
@ITで展開中の特集「普通の開発者のためのリーンスタートアップ手順書」では、これからリーンスタートアップを始めたい開発者・技術者向けの記事が多数インデックスされています。詳細は記事「リーンスタートアップを実践するための参考記事116選まとめ」を参照してください。
特集の第4回である前回の「今度の土日に激安でスタートアップするための3つのツール選定ポイント」からは、スタートアップ企業である「ひとひねり」の河内氏に、「自分でプログラムを書ける人が、いかにコストを掛けずにリーンスタートアップを実践していけばいいか?」という疑問に答えていただいている。
“在宅勤務”一択の土日起業で使えるチャットツール
われわれは1つのYahoo!になる必要があり、それは物理的に一緒にいることから始まる
ダイバシティ(多様性)の名の下に大企業も含めたIT関連企業が一部在宅勤務を推奨する動きがある中で、米Yahoo!のマリッサ・メイヤーCEOは、「社員は物理的に同じ場所で仕事をするべきだ」という、ちょっと時代に逆行した方針を打ち出したのは記憶に新しい。
実際、少人数のチームで、同じ場所で寝食を共にしながらスタートアップをしていると、ちょっとした雑談からプロダクトの方向性や価値観などが決まっていき、さらにメンバーの意識共有にブレがなくなる。
Yahoo!のような大企業でそれを期待しているかどうかは分からないが、オフィスを持ち、そこに缶詰になってプロダクトを開発することは、起業によって、「社会に提供したい価値」や「プロダクトの意義に対する認識」を合わせたり、微調整したりするコストをほとんど0にしてくれるという意味でも有効な手段といえるだろう。
ただし、いまだ会社員で安定的な収入を得ながら、帰宅後もしくは土日にサービスを開発する――そのようなスタートアップでは、残念ながら四六時中パートナーと同じ環境に身を置いて、プロダクトの形を整えていくということはできない。
そこで重要になるのが土日や深夜に、まるでパートナーと同じオフィスにいるかのような環境を用意してくれるチャットツールだ。
在宅勤務のブームや、リーンスタートアップ的開発手法が採用されることが多くなったことを背景にしていると思われるが、2013年からとにかく多種多様な開発者向けのコミュニケーションツールが登場してきている。有名どころだけでもYammer、HipChat、Chatter、Sqwiggle、Flowdock、Asana、ChatWork、Gitterといったツールが日々ユーザーを増やしている。これらのツールは、例えばSkypeなどのチャットツールと違い、サービスの開発プロジェクトと親和性が高いところが特徴だ。
例えば、Redmineなどのプロジェクト管理ツールとの連携が強化されていたり、プロジェクトごとに「room」を作りそこで会話ができたり、ファイルやリンクをチャットで共有するだけで、それが仕様としてまとめられたり……といった特徴を持っている。
ここでは、それぞれ個別のサービスの機能は解説しないが、現在、利用者数をグンと伸ばしていてスタートアップ業界でも注目の的のチャットツール「Slack」について解説していこう。チャットツールを使えば、在宅なのにまるでオフィスに集まって雑談しながら仕事しているかのような状態にできるといえよう。
開発プロジェクト向けチームコミュニケーションツールの新定番「Slack」とは
SlackはFlickrの創業者スチュアート・バターフィールド氏が今年の初頭に正式公開したチャットツールだ。無料のLiteプランでも十分に使えるが、月7ドル弱と会議室を1回借りるよりも安いので、どうせなら「過去のチャットの検索に制限がなくなる」「連動させるサービスに制限がなくなる」「ゲストユーザーを招待できる」というメリットがあるStanderdプランを契約してもいいだろう。
非エンジニアでも簡単にできる外部サービスとの連携機能
Slackの最大の特徴は多くの外部サービスとの連携だ。Googleドライブ、Dropbox、GitHub、Pivotal Tracker、Trello(後述)など、おそらくWebサービスの開発現場で使うであろうサービスはほぼ網羅されているといっていいだろう。
開発で使っているこれらのサービスとSlackを連携しておけば、「開発者が日常的にGitHubにソースコードをマージする」「マーケティング担当が営業アタック先をまとめるためにGoogleドキュメントにリストを保存する」など、スタートアップとしてのほぼ全ての動きはSlackに集約される。
HipChatなども外部サービスとの連携は充実していが、トークンを使った連携など少し技術的なバックグラウンドがある人向けになっている。その分、HipChatの外部連携は細かいカスタマイズができるが、Slackの方が非エンジニアであっても簡単に連携できる部分では優れている。
オフィスなど一つの場所に集まることの大きな意味の一つとして、定例会議などの「いまのプロジェクトのステータスを全員で把握する」とういうものがあるが、Slackに全てをつなげておけば、タイムラインを見るだけで、ダイナミックにプロジェクトのステータスが把握できる。
もし、プロジェクトの遅れなどが発生していれば(例えばGitHubに想定のコミットが上がってこないなど)、直接チャット機能で「あの機能のブランチ今日までに実装するって言ってなかったけ?」と、開発者に問い合わせて、ステータスチェックができる。
タイムラインに埋もれさせないスター機能
外部連携だけではなく、本来のチャット機能でもSlackは「かゆいところに手が届く機能」を持っている。例えば、スター機能だ。
チャットでは、ダイナミックにやりとりが流れていくため、重要な発言やアクションが後から探しにくくなることはよくあるのだが、重要な発言にスターを付けておくことで、タイムラインに埋もれないように保存できる機能があるのはうれしい。
非常に分かりやすいファイル共有機能
さらにはファイルの共有機能。チャットで画像やPDFなどが共有できるのは当たり前なのだが、その種類でのソートや検索がサイドバーででき、発見性が非常に高い。リンクの共有についても、アドレスを共有するだけでリンク先のサムネイルや概要が表示されるなど、非常に分かりやすい形となっている。
チャットでコード入力、Markdown形式、ドキュメントに個別URL
他にも、チャットの入力窓から、そのままコードを入力してスニペットとして共有したり、さらにはそれがファイルになったり、Markdown形式を利用したドキュメントをチャットの入力窓から作成したり、そのドキュメントに個別のURLを付けて外部と共有したりするなど、実際にプロジェクトを動かす上で使い勝手の良い機能をそろえている。
まるで「オフィスにいる」ような感じ
Slackを利用することで、「場所」に集まらなくても「プロジェクトが今どういう状態で動いているか」を随時把握できる。さらに、プロジェクトに必要な資料や定義書は全てSlackから簡単に取り出せる。それでもメンバーに聞いてみないと解決しない問題があるならチャットでコミュニケーションを取る。
上記のようなイメージでSlackを運用していると、まるでSlackの画面自体が「オフィスにいる」ような感じになってくる。Slack自体を「オフィス」のように活用すれば、無駄なコストを掛けずに効率的にプロジェクトを進めることができるのではないだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- GitHub(ギットハブ)の使い方:連携サービス
ソフトウェア開発プロジェクトの共有Webサービス「GitHub(ギットハブ)」を「日本語で」分かりやすく説明するシリーズ、今回は「asana」や「Travis」などの連携サービスを紹介します。 - GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。初回は「ChatOps」の有用性とHubotの概要、セットアップ方法、OSSのチャットアプリとの連携方法について。 - 最適化した開発チームは3〜10人で美しく回る
「スクラム」は、アジャイル開発の手法群の中でも、「チームとしての仕事の進め方」に特化したフレームワークだ。スクラムの知識を応用して、開発チームの日常をちょっとリファクタリングしてみよう。