はじめに
こんにちは。tech veinエンジニアの河本です。
今回は受託実績の1つ AndroidアプリイーキャリアJobsearch(運営元:SBヒューマンキャピタル社)を
どのように開発したかについてご紹介したいと思いますが、こちらは東京を拠点としているギルドワークスさんと初めて一緒にやらせて頂いたプロジェクトになりますので、特に、「離れた拠点同士でプロジェクトを円滑に進められた理由」について書いてみたいと思います。
Androidアプリについては下記をご参照下さい。
【事例紹介】Androidアプリを大幅リニューアルし、ダウンロード数15%増加!
プロジェクトチーム構成
プロジェクトチーム構成は図にまとめてみました。
依頼元企業様とギルドワークスさんが中心となり、デザイナーさんと開発会社である弊社tech veinのような構成です。
(矢印は相互にやりとりがあったという意味です。カッコ内は拠点になります。)
便利なツール達
スムーズに進めれた理由の1つとして、これから紹介するツールたちがとても良かったのが挙げられます。
これらがなければスムーズには進められなかったと言っても過言ではありません。
コミュニケーションツール(チャットツール)にSlack、プロジェクト管理ツールにBasecamp、ソース管理と進捗管理ツールとしてGitHubを使用しました。
1.Slack
https://slack.com/
下記のリモートワークを支える技術で紹介されていますが、コミュニケーションの中心は、
Slackというツールがとてもよい働きをしてくれました。
ギルドワークスのリモートワークを支える技術 | GuildWorks Blog
Slack単体だけでももちろん良いのですが、Slack + 他サービスの連携が非常によかったと思っています。
たとえば、Slack + GitHubの連携で見てみますと、「GitHubにプッシュしました!」や「プルリクエストしました!」「マージしました!」などの情報がSlackに流れます。
Slackはプロジェクトに関わる全員が見ているため、たとえば、「プルリクしました!」という情報が流れた場合、
git logの情報も一緒に流れるので、この機能が出来たんだなっていうのが関係者全員に簡単に知らせることができます。
いちいち、関係者全員に「〜機能できましたので、ご確認ください」などのメールを書かなくて良いのです。
2.GitHub
http://github.com/
これはもう説明する必要もないかもしれませんが、簡単に。
GitHub Flowを基本とし、ブランチを切り、プルリクエストを送ってレビュー後マージという流れで実施しました。
GitHubに限らないのですが、Gitはブランチを切ってガンガン変更しても簡単に変更前に戻れるというのがとても魅力的です。
変更したソースもプルリクエストを出して、レビューしてもらうことでおかしいところは指摘してもらえるので、安心することができました。
進捗管理についても、GitHubのマイルストーンの機能を使い、見える化を行いました。
見える化によって全員が進捗を確認できることによる影響は皆さんよくご存知でしょう。
GitHubのissueとマイルストーンを紐付けられるのが良かったかなと思います。
また、デザイナーさんも含めてチーム全員がGitHubを使える事が大きかったと思います。
3.BaseCamp
チャットとは違い、1スレッドに対して意見を出し合うことができるので、ログが流れてしまわないということと、
ファイルの共有がうまくできたと思います。
つまり、テキストデータとバイナリデータがうまく管理できたのが良かったと思います。
早めの交通整理
ギルドワークスの上野さんが開発についての知識が豊富ということもスムーズに進められた理由の1つだと思います。
開発側以外で決める部分、たとえばUIやAPIなどを早めに確認頂いており、すぐに作業に取りかかれたことが良かったと思います。
また、質問に対してすぐに反応して頂いたり、些細な事かもしれませが、土日や夜にメンションを飛ばさないということも、
精神衛生上、気持よく開発が進めることができました。
最後に
いかがでしたでしょうか。
以上の理由から初めてのプロジェクトで拠点が離れていても、開発がスムーズに進めれたと思っています。
ギルドワークスさんや弊社tech veinと一緒に組みたいということがありましたら、お気軽にご相談下さい。