実録! チーム開発が捗り過ぎるSlack+GitHub+Trelloの使い方:普通の開発者のためのリーンスタートアップ手順書(5)(2/2 ページ)
スタートアップではいかにお金を使わずにプロダクトを開発するかは成功につながる大きなポイントとなる。コストを掛けずにプロダクトを作っていく上で、導入すべきツールをどのように使うかを数回に分けて紹介。今回は、開発プロジェクト向けチャットツール「Slack」の特徴を解説しプロジェクト管理ツール「Trello」や「GitHub」と組み合わせた活用事例を紹介する。
SlackをGitHubとプロジェクト管理ツールTrelloと連携させると、ここまでできる
Slackなどの開発系チャットツールは、離れた場所でのコミュニケーションを円滑にしてくれるだけではなく、オフィスがなくてもオフィスの機能が代替できる。また、1箇所に集まらなくても、プロジェクトが動いている感を手に取るように分かるようにしてくれる。
そのため、そもそもオフィスや会議の時間と場所がいらなくなり、コストを掛けないスタートアップには最適なツールとなるわけだが、他のツールとの組み合わせ方や、ツールの運用方法を自分のチームに合った形でカスタマイズすれば、さらに開発のスピードが上がり、プロジェクトに掛かるコストを下げる運用ができる。
筆者が携わるチームの例で言うと、プロジェクト管理ツール「Trello」とGitHubと連携する運用法を導入することで、開発効率が体感的に1.5倍は上がっている。
Slack+GitHub+Trelloを使った開発の流れの例
下記画像を見てもらいたいのだが、基本的にTrelloはアジャイルで言うところの「カンバン方式」が実践できるツールとして提供されているので、[To do][doing][done]にカラムが分かれている。
筆者が携わるチームでは、以下の形でカードのフローを定義している。
- 実装すべきユーザーストーリーを書く[Story]
- そのストーリーを開発者が実装する[WIP(work in prosess)]
- 実装後のレビュー待ち段階の[Review]
- 開発ブランチにマージしてテストも完了したものを[Done]
下記の流れは、キャプチャを参考にして読んでいただきたい。
ユーザーストーリー登録をSlackに通知
まず、プロマネが実装したい機能、例えば「Web予約の際メール通知がスタッフに飛ぶ」(以下、ストーリー「A」とする)というものを[Story]にカードとして登録する。Slackと連携しているので、このストーリーが登録されたことは、すぐに開発者に伝わる。
開発着手をSlackに通知
開発者が現状のタスクを片付け、ストーリー「A」に着手。その際ストーリー「A」のカードをWIPに移動。この移動もSlackで通知されるので、プロジェクト管理者は「あ、着手したな」と気付くことができる。
実装見積もり、優先順位とスケジュールの決定
ちなみに、筆者が携わるチームではストーリーの優先順位は、カードの上から順に優先順位「高」としている。また、スケジュールを見て丁寧に進める場合はストーリーのカードが登録された時点で、開発者が実装見積もりを行い、工数(どれくらいの時間が実装にかかりそうか)をカードに設定。それをプロジェクト管理者などが見て優先順位とスケジュールを決めることも行う。
GitHubのissueに登録
開発者は、WIPに移したストーリー「A」を実装上分解して、GitHubのissueに登録。例えば、「新規メールテンプレート作成」「メール送信用モデルの追加」など、より実装単位に近い粒度のissueをGitHubに登録することになる。
isuue番号をTrelloのカードに実装リストとして登録
そのisuue番号をTrelloのカードに実装リストとして登録。開発者はisuueごとにGitHub上でブランチを切って実装していく。issueにひも付くコミットが行われるたびに、この実装リストが完了になっていき、実装の進捗(しんちょく)が分かるわけだ。
issueをコミットするたびにSlackに通知
ちなみに、このissueをコミットするたびに、GitHubと連携したSlackが全員に通知してくれるので、非常に作業の進み具合が分かりやすくなっている。
Trelloはカード上で議論もできる
WIPのカードで実装の疑問が出れば、カード上で議論(何とTrelloのカードはコメント欄がチャットのような挙動をする)。その場で疑問をつぶして、実装タスクに戻れるようになっている。
レビュー待ちをSlackに通知
開発者が実装を終えたらストーリー「A」のタスクは[Review]に移動。すると、Slackに通知が来るのでレビューをして問題なければ、カードを[Done]に移してGitHubのコミットをマージ。
手戻りがあった場合
もし、バグなどの問題があればフィードバック項目をGitHubのissueに登録して、そのissue番号をTrelloのカードに書いて、WIPに差し戻すという流れだ。
スムーズにタスクのバトンが渡りSlackで一目瞭然
このように、GitHubとTrelloで進めているタスクが、全てSlackを通して適切なタイミングで通知される。まるで、おなじオフィスにいて、「●●さん、ちょっと実装してみたんで、developブランチでレビューしてくれません?」みたいに声を掛けるように、スムーズにタスクのバトンが渡っていく。
筆者が携わるチームでのSlack活用例(Slackはチャットだけではなく、TrelloとGitHubの動きが流れる。TrelloとGitHubを中心にプロジェクトが進んでいるが、「それらをつないでプロジェクト進捗(しんちょく)のタイムラインを作ってくれるのがSlack」という構成になっている)
また、今バトンがどこにあって、どこまで進んでいるのかも、Slackのタイムラインを見るだけで一目瞭然であり、アジャイルというには少し稚拙だが、リニアな流れで開発がスムーズに、手戻りなく、さらにチーム全員が同じ情報量を持った上で進められている。
もちろん、現場の質、参加する人数などによって、プロジェクトの進め方もそれぞれだと思う。
その現場に合ったツールのカスタマイズが必要になるが、Slackのような開発系チャットツールを、プロジェクトのタイムログとして常に見える場所に起き、各種ツールと連携させてプロダクトやサービスを磨いていくことは、1箇所に集まるお金も時間もないスタートアップにとって有効だろう。
次回は、デザインセンスがなくてもピッチに耐え得るプロダクトを作る
さて、チャットツールを使ったプロジェクトの進め方が定着してきて、プロダクトもそこそこ動くものができてきた。このデモをもって、いろんな人にピッチを繰り返したいのだが、「何だか、すごく画面がそっけないよね……」というのは、エンジニア中心でプロダクトを作っていくと、よくあることだが、資金調達をして、デザイナーにジョインしてもらうまで、さすがに少しは見栄えの良い形にしておきたい。
次回は、デザインセンスがなくてもピッチに耐え得るプロダクトを作るためのツールを紹介していこう。
著者プロフィール
株式会社ひとひねり 河内純也
ひとひねりはWeb戦略コンサルティングからフロントエンドエンジニアリングを中心に、各企業のWebサービスの開発から継続的発展をサポートする会社。
自社サービスを開発中で、その開発は徹底的にリーン。日本のマーケットに合ったリーン開発を試行錯誤しながら進めている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- GitHub(ギットハブ)の使い方:連携サービス
ソフトウェア開発プロジェクトの共有Webサービス「GitHub(ギットハブ)」を「日本語で」分かりやすく説明するシリーズ、今回は「asana」や「Travis」などの連携サービスを紹介します。 - GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。初回は「ChatOps」の有用性とHubotの概要、セットアップ方法、OSSのチャットアプリとの連携方法について。 - 最適化した開発チームは3〜10人で美しく回る
「スクラム」は、アジャイル開発の手法群の中でも、「チームとしての仕事の進め方」に特化したフレームワークだ。スクラムの知識を応用して、開発チームの日常をちょっとリファクタリングしてみよう。