はじめてまともな記事なので、特に気に入っている開発系のツールを紹介したいなと思います。今回はコラボレーションに関係するタイプのツール・サービスを。
もちろん皆様ご存知のが多いかとは思います。
- Github
- PivotalTracker
- CIツール(Jenkins/CircleCI,etc)
- Heroku
- HipChat
Github
GitHub · Build software better, together.
Gitレポジトリのホスティングサービスです。言わずもがなですが。
私達もGithub上でプルリクエスト型開発行ってます。
プルリクエストが今ちょうど無かったので、普通のコード及びコメント欄のスクショをぺたり。
コメント欄でコミュニケーションしてます。プルリクエスト毎にコードレビューしてます。
人間必ず1人だと視野が狭くなったりミスったりするので。
写真はコメントが自動投稿っぽいですが、これが私たちが今作ってるサービスの機能だったりします。まだオフレコです><
PivotalTracker
Pivotal Tracker | Agile Project Management
めちゃくちゃさくさく動くアジャイル専用タスク管理ツールです。
一番左が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使えますがなんとなく)
↑Jenkins
Welcome to Jenkins CI! | Jenkins CI
↑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を。
↑発言者名をよく見てね!
Github, PivotalTracker, Github, CircleCI/Jenkins, Heroku, etc…
ここまでにあげた4つのツールすべてがHipChatへの連携に対応しているのです。
開発に関するコミュニケーションと状態把握のタイムラインのデファクト・スタンダードです。
というわけで、コラボレーション関連5選でした!
ぜひ使ったことない方はチームで導入検討してみてくださいー!