はじめに
皆さんは BTS/ITS に何を使っているでしょうか?
- BTS = Bug Tracking System = バグ管理システム
- ITS = Issue Tracking System = 課題管理システム
最近はバグだけを扱う BTS よりも、機能追加などのタスクも含む ITS と呼ばれることが多いようです
私は長らく GitHub の Issues を使ってきました
しかし、社内では他のツールを使っていたりするので、どれを使うべきか、調査してみました
比較
Slant にランキングがありました
Top 8 は以下の通り
- GitLab issues
- GitHub Issues
- Bitbucket's bug tracker
- Redmine
- Phabricator
- Bugs
- Bugs Everywhere
- Mantis BT
ただ、全体的に情報が古いです
GitHub のプライベートリポジトリーの制約や、各種クラウドサービスに関する記述が現在と違うようです
というわけで、使ってみながら比較します
GitHub & GitLab
どちらもほぼ同じことができます
- Markdown による記述
- 画像の添付
- Issue のテンプレート(複数種類)
- Kanban での可視化、自動移動
- マイルストーンの設定
- PR(コードの変更)との紐付け
- ラベル付け
この辺りはだいたいどのサービスでも同じですね
ただし、入力できる項目に違いがあります
GitHub
GitLab
GitLab には、 GitHub にはない以下の項目があります
- Weight = 重要さ、難しさ、複雑さ
- Due Date = 期限
GitHub で同じことをしようと思えば、こうなります
- Weight: Label に weight:1 、weight:2 などを作る
- Due Date: マイルストーンに紐付ける、期限毎のラベルを作る
GitHub はあくまでもバージョン管理がメインなので、この辺りは非常に簡素になっています
Bitbucket
Bitbucket を使ってみたら、 Bitbucket's bug tracker
は Jira Issues
に統合されていました
Jira は課題管理だけでなく、進捗などのプロジェクト管理全体を行います
グラフなどの可視化が得意で、UIも優れているようです
プラグインで工数管理もできるようですね
Jira と統合することで、非常に使いやすくなっていると思いますが、、、
Jira はやはり有償なのがネックですね
GitHub Issues との比較が公式サイトに出ています
10ユーザーまでなら無償で使えるようですが、小規模だとそこまで要らないんじゃ?というのが正直な感想です
Bitbucket からだと普通の一覧表示しか見れず、ロードマップや Kanban を見るためには結局 Jira に行かないといけないのもカッコ悪い
Redmine
昔少しだけ使ったことがありますが、今はクラウド版もあるんですね
チケットという形で課題を登録します
チケットには以下の項目があります
- ステータス
- 優先度
- 担当者
- 親チケット
- 開始日
- 期日
- 予定工数
- 進捗率
チケット間で親子関係が作れるあたりが良さそうですね
単なる課題管理ではなくプロジェクト管理のためには予定工数は必須でしょうね
ガントチャートやカレンダーによる可視化も強いです
## まとめ
BTS/ITS は目的によって使い分ける、もしくは連携させることになると思います
- シンプルに課題管理したい、コードと同じサービスを使いたい
- GitHub Issues
- GitLab Issues
- 工数や進捗など、プロジェクト管理全体を統合して使いたい
- Bitbucket(Jira)
- Redmine
個人的には GitHub Issues で十分ですが、やはりプロジェクト管理となると、 Jira や Redmine 、 Backlog という選択肢が出てくるかな、と感じました