開発者として一線を退いて2年くらいが経つのですが、最近のチーム開発がどんどん進化していて追いつかないと老害扱いされるのが怖いわけです。
とりあえず開発において必要となる管理系ツールをメインに調査しました。
- ソース管理
- 課題管理
- コミュニケーション管理
- 進捗管理
- CI
ソース管理
有名な分散型リポジトリを採用したソース管理ツールです。
Jenkins、Waffleといったツールと連携することも出来るので非常に便利です。
私も利用していますが、もっぱらForksしてばっかりです。他にもGitHUBから派生したGitBucketやGitLab等もあります。
基本的に差分リポジトリのためWord、Excel等のドキュメント管理等には向かないです。私はソース管理をGit、ドキュメント管理をSVNと使い分けています。
課題管理
タスク・課題管理ツールです。
Githubに標準で付いているタスク管理ツールGithub Issuesをカンバン方式で表示するツールです。
タスク管理ツールでもあるのですが、Githubと連携してIssuesに優先順位や詳細などの付属情報をつけて管理できるため課題管理ツールとして使わることがしばしばです。
その他にも類似したソリューションとしてZenHUBやHuBoardがあります。
コミュニケーション管理
メッセージング、グループチャット、チャットルーム、ダイレクトメッセージ、トピック別グループチャットを提供するコミュニケーションツールです。
Webで提供さているためプラットフォームに依存しません。また、iOSやAndroid向けのアプリも提供されているためいつでもどこにいても利用することが可能です。
私はSkypeの方が便利だと思っていたのですが、コミュニケーションを開発に特化させる場合はSlackの方がいいのかもしれないと思い始めています。
プログラムコード用の投稿オプションがあるのが理由の一つです。
また、JenkinsやGitとプラグインで連携できるのでプルリクの情報やビルド情報を履歴管理できるツールとして利用することも可能です。
進捗管理
クラウド型のプロジェクト・タスク管理ツールです。
Webシステムなのでどのプラットフォームからでも利用が可能です。 仕事や作業の詳細を入力した、付箋のようなタスクカードを作成し、ドラッグ&ドロップで操作します。
UI的にはスクラムボードに近いのでスクラムボードのデジタル版といった方がわかりやすいかもしれません。
また、複数人でリアルタイムに編集したり、ファイルの共有が行えるためコミュニケーションツールとしても利用可能です。
あくまでもプロジェクト・タスク管理がメインなツールのためWaffleのような課題管理ツールとは住み分けて使うことが肝だと思います。
CIツール
CIツールとしては非常に有名ですね。
何よりプラグインが豊富に取り揃えられているのがありがたいです。
MSBuildやMSTestなどのプラグインも用意されているのでVisualStudioで作成したソースをビルドすることも可能です。
最近ではGitプラグインを利用してソースを取得し、自動でビルドとテストを行い問題なければ、これまた自動でクラウドにデプロイするなんてこともできます。
Slackプラグインも用意されているのでJenkinsのプロセスをSlackのタイムラインに自動投稿する機能もあるためビルド履歴の管理もしやすいです。
ご紹介したツールを有機的に繋げて利用することで開発効率が上がるのであればプロジェクト管理としても有益だと思います。
但し、どのツールも利用するためにはユーザのリテラシーが必要なため教育コストは必要になると思います。
今後も定期的に調査・研究をしていきたいと思います。
コメント