読者です 読者をやめる 読者になる 読者になる

SideCI Blog

継続的インテグレーションツール(CI)のSideCIが運営しています。コード品質向上や生産性向上など、ソフトウェアエンジニアに役立つCI全般について記事を投稿しています。

これが無かったら開発なんて出来ない!欠かせない開発ツール5選(コラボレーション編)

はじめてまともな記事なので、特に気に入っている開発系のツールを紹介したいなと思います。今回はコラボレーションに関係するタイプのツール・サービスを。

もちろん皆様ご存知のが多いかとは思います。

  1. Github
  2. PivotalTracker
  3. CIツール(Jenkins/CircleCI,etc)
  4. Heroku
  5. HipChat

Github

GitHub · Build software better, together. Gitレポジトリホスティングサービスです。言わずもがなですが。

私達もGithub上でプルリクエスト型開発行ってます。 プルリクエストが今ちょうど無かったので、普通のコード及びコメント欄のスクショをぺたり。

f:id:sideci:20140228171744p:plain

コメント欄でコミュニケーションしてます。プルリクエスト毎にコードレビューしてます。 人間必ず1人だと視野が狭くなったりミスったりするので。 写真はコメントが自動投稿っぽいですが、これが私たちが今作ってるサービスの機能だったりします。まだオフレコです><

PivotalTracker

Pivotal Tracker | Agile Project Management めちゃくちゃさくさく動くアジャイル専用タスク管理ツールです。

f:id:sideci:20140228172207p:plain

一番左がCurrent, そのとなりがBacklog, そのとなりがIcebox, 右端がEPICSとなってます。 カレントは現在進行中、のやつですね。カレントの中には「Finished」「Delivered」「Accept」「Reject」などもあります。Acceptがいわば完了ですね。 Finished: 実装完了、Githubにpush Deliverd: ステージング環境にデプロイ Accept: masterブランチに統合、可能な限り速く本番環境にデプロイ という風に私達は扱ってます。

Backlogはもうすぐ実装開始しそうなもの。

Iceboxはもはやゴミ箱。。。「いつか実装するかも」なタスクを一時的にここに書いておいて、一定期間たったら一旦消したりするようにしています。「この機能欲しい!」って思った時はとりあえず一旦ここに書いてみるんですが、よくよく考えるといらないことが多々あったり。

EPICSはPivotalTracker使いでもそこまでメジャーじゃないんですが、日本語的にはグルーピング的な感じです。EPICSにStoryを入れるとStoryにタグとしてEPICSが付きます。あと、メーターでどれぐらいそのEPICSが完了しているか表示されたりして便利ですね。

CIツール

CIツールは開発には欠かせないかなと思います。プログラムが出来ることはすべてプログラムに任せてしまえ!というのがプログラマー脳かと。

定番はJenkins。Rails使いならCircleCIです。(JavaでもCircleCI使えますがなんとなく)

f:id:sideci:20140228172906p:plain

↑Jenkins Welcome to Jenkins CI! | Jenkins CI

f:id:sideci:20140228172950p:plain

↑CircleCI CircleCI: Continuous Integration and Deployment

どっちでも出来るんですが、GithubのPushを受け取って、自動的に登録されているタスクを実施して、結果を返してくれます。CircleCIはテストサーバにSSHログインも出来るんですよ!(あまり使いませんが)

Heroku

Heroku | Cloud Application Platform えー、PaaSですね。サーバーですね。コラボレーションじゃないですね。

ただ、結構これをコラボレーションツールに使ってる人多いと思います。 具体的には、ステージング環境ですね。Capistranoとか使わずに、普通にgit push herokuだけでサーバにデプロイできるので、動作確認が非常に便利です。しかも、ステージング環境として使うなら無料です。(1アプリ1Dynoまで無料)

もちろん、ステージング環境としてだけ使うのはかわいそうなので、本番環境でも使いましょう。。。

Hipchat

HipChat: Private group chat and IM, business and team collaboration チャットツールです。エンジニアに特化したチャットツールです。

このチャットツールはまじめに馬鹿に出来ません。 Messenger(もう終わった?)とか、Facebookメッセージとか、ChatWorksとかを使ってて不満があるエンジニアは今すぐぜひHipchatへ!(まわし者ではないです)

なにがいいかというと、 1. すべてのプラットフォームにネイティブアプリ(Mac/Windows/iOS/Android) 2. 通知が来ない(@sumyappみたいに宛先を明示すると宛先の人にのみ通知が行きます) 3. デファクト・スタンダードなチャットツールだから連携がすごい

1, 2はあまりお見せ出来るものじゃないので、3を。

f:id:sideci:20140228173931p:plain

↑発言者名をよく見てね!

Github, PivotalTracker, Github, CircleCI/Jenkins, Heroku, etc... ここまでにあげた4つのツールすべてがHipChatへの連携に対応しているのです。 開発に関するコミュニケーションと状態把握のタイムラインのデファクト・スタンダードです。

というわけで、コラボレーション関連5選でした! ぜひ使ったことない方はチームで導入検討してみてくださいー!