More Related Content Similar to BTS/ITSの近況とあれこれ 2015
Similar to BTS/ITSの近況とあれこれ 2015 (20) BTS/ITSの近況とあれこれ 20154. BTS/ITS の近況とあれこれ
Bug Tracking System
バグ管理システム(バグかんりシステム)、バグトラッキングシ
ステムとはプロジェクトのバグを登録し、修正状況を追跡するシ
ステム。バグ管理システムの多くは、ウェブサーバ上で動作し、
ウェブブラウザ経由でアクセスできるようになっている。バグ管
理システムはソフトウェアを開発する上での必須のもの[要出典]
になりつつある。
4
「バグ管理システム」(2015年4月7日 (火) 13:20 UTC版)『ウィキペディア日本語版』より引用
BTS の基本機能としては、バグ情報の集中管理、履歴管理、検索、
更新通知、レポート出力などがあります。発見日時や発見者、再
現方法、障害原因、修正担当者などの管理項目は、企業や部門、対
象ソフトウェアによって様々であるため、カスタムフィールドを
柔軟に、且つ簡単に定義・適用することが可能なシステムが必要
となります。
5. BTS/ITS の近況とあれこれ
Issue Tracking System
ウィキペディアには現在この名前の項目はありません。
5
2015年6月3日時点の『ウィキペディア日本語版』には、「課題管理システム」の項目は存在しませんでした。
課題管理システムは、バグ以外の課題やタスクなどもシステムに
登録し管理、追跡するシステムの総称です。現時点では、バグ管
理システムと課題管理システムを明確に区別して取り扱う必要性
はないものと考えられます。
バグ以外の課題やタスクなどもチケット (issue) で管理するため、
チケットの種類に応じたワークフローでの運用が必要になります。
その為、ワークフロー (ステータス) を柔軟に、且つ簡単に定義・
適用することが可能なシステムが必要となります。
6. BTS/ITS の近況とあれこれ
Ticket-driven Development
6
“No Ticket, No Commit” や “No Ticket, No Work” などの言葉
が存在するように、“Ticket First” の原則に基づいてソフトウェ
アを開発することにより、作業の見える化が促進されます。
TiDD ではチケットの粒度が重要で、必要に応じてチケット分割
や棚卸しなどを実施する必要があります。
チケット駆動開発 (ticket-driven development; TiDD) とは、プ
ログラム開発手法の一種で、作業をタスクに分割しBTS(Bug
Tracking System/バグ管理システム)のチケットに割り当てて
管理を行う開発スタイル。細かな修正作業の多い従来開発の中で
生まれたが、アジャイル開発との親和性が高いことから、エクス
トリーム・プログラミングをはじめとするアジャイル開発でも実
践されている。
「チケット駆動開発」(2012年10月19日 (金) 20:55 UTC版)『ウィキペディア日本語版』より引用
8. BTS/ITS の近況とあれこれ
Mantis は、PHP で開発されている OSS (GPL) のバグ管理シ
ステムで、さまざまな種類の OS 及び DB で動作します。
日本語の最新情報の収集は困難な状況ですが、最新バージョン
は2015年1月にリリースされており、MantisHub という有償
の SaaS や、MantisTouch というスマートデバイス用の有料
アプリケーションも提供されており、現在でも進化し続けてい
るようです。
バグ管理に特化しているという特徴がある為、UI は少し古臭い
ですが、現在でも一部の層には根強い人気があるようです。
Mantis
8
9. BTS/ITS の近況とあれこれ
Trac
9
Trac は、Python で開発されている OSS (修正BSD) のバグ管
理システムで、さまざまな種類の OS 及び DB で動作します。
日本語の最新情報の収集は比較的容易ですが、0.1系の古い情
報が多数存在しており注意が必要です。2012年9月に1.0版が
リリースされており、最新バージョンである 1.0.6 は2015年5
月にリリースされています。
0.12.x の最新版である 0.12.6 は、2014年10月にリリースさ
れており、こちらも継続してメンテナンスされているようです。
単一環境でのマルチプロジェクトサポートですが、標準機能と
しては、いまだにサポートされていないようです。
10. BTS/ITS の近況とあれこれ
Trac Lightning
10
Trac Lightning は、Trac の運用に必要ないくつかのソフト
ウェアと、多数の便利なプラグインを同梱したオールインワン
パッケージです。
Apache 及び Python、SQLite、Subversion、Jenkins、
Maven、Trac などをまとめてインストール可能で、面倒な環
境構築作業の負荷を軽減することが可能です。
現在の最新バージョンは 3.2.0 (2013-04-29) で、同梱されて
いるのは Trac 0.12.4ja1 です。
現在は、Trac 1.0.x ベースとした Trac Lightning 4 の開発が
進行中のようです。
11. BTS/ITS の近況とあれこれ
Apache Bloodhound
11
Apache Bloodhound は、Trac をベースとしたプロジェクト管
理ツールで、Windows 及び Mac OS X、Linux で動作します。
マルチプロダクト、簡単インストール、ユーザーフレンドリー
なデザイン が特徴で、最新バージョンは 0.8 (2014-12-11)
です。
現在開発は停滞気味のようで、業務での利用が可能になるには、
まだまだ時間が掛かりそうです。
12. BTS/ITS の近況とあれこれ
Redmine
12
Redmine は、Ruby on Rails で開発されている OSS (GPLv2)
のプロジェクト管理ツールで、さまざまな種類の OS 及び DB
で動作します。
日本語の最新情報も豊富で、開発やコミュニティも非常に活発的
にみえます。最新バージョンである 3.0.3 は2015年5月にリ
リースされています。
2.x の最新版である 2.6.5 も2015年5月にリリースされており、
こちらも継続してメンテナンスされているようです。
マルチプロジェクトを標準でサポートしており、Trac よりも高
機能なため、現在でも非常に人気のあるツールです。
13. BTS/ITS の近況とあれこれ
JIRA
13
JIRA は、Atlassian 社が開発・販売している Java で開発され
たプロジェクト管理ツールで、さまざまな種類の OS 及び DB
で動作します。
日本語の最新情報も比較的豊富で、公式サイトやパートナー企
業の紹介サイトなどが充実しています。
JIRA は、Atlassian 社が販売する他製品と組み合わせることに
より機能拡張が可能で、プラグインも有償・無償を問わず豊富
に存在しています。
少し高価ではありますが、その分機能が充実しており、日本法
人が 2013 年に設立されたこともあり、日本でも徐々に人気が
高まりつつあるようです。
14. BTS/ITS の近況とあれこれ
Backlog
14
Backlog は、Nulab 社が開発・販売している Java と Scala で
開発されたプロジェクト管理ツールで、主に SaaS 形式で提供
されています。
開発・販売元が日本企業のため、最新情報なども全て日本語で
入手可能で、日本語での問い合わせも可能です。
オンプレ環境で使用できるエンタープライズ版も販売されてお
り、 30日間の無料トライアル版も提供されています。
日本企業が開発・販売しているということもあり、特に国内で
非常に人気の高いプロジェクト管理ツールです。
15. BTS/ITS の近況とあれこれ
Team Foundation Server
15
Team Foundation Server は、Microsoft 社が開発・販売す
るプロジェクト管理ツールで、Windows 上で動作します。
非常に高機能なのが特徴で、ストーリー管理、タスク管理、
バグ管理、ソース管理、自動ビルド、テストケース管理、レ
ポート、自動デプロイまで ALM(アプリケーション・ライ
フサイクル・マネジメント)を支援するあらゆる機能が揃っ
ています。
バージョン管理システムとしては、Team Foundation バー
ジョン管理 (TFVC) だけでなく Git も選択可能です。
高機能な分、導入の初期コストは高くなりますが、使いこな
せれば強力な武器になるかも知れません。
16. BTS/ITS の近況とあれこれ
Pivotal Tracker
16
Pivotal Tracker は、Pivotal Labs 社が開発・販売している
アジャイル開発向けの有償のプロジェクト管理ツールで、
SaaS 形式で提供されています。
シンプルな機能やワークフローが特徴なため、カスタム
フィールドを大量に追加する必要があるような開発スタイル
には向きませんが、ポイントによる見積り、ベロシティの自
動計算などアジャイル開発向けに特化した便利な機能があり
ます。
シンプルで出来ることが限られているため、アジャイル開発
で最初に使用するプロジェクト管理ツールとして向いている
印象です。
17. BTS/ITS の近況とあれこれ
GitHub issues
17
GitHub には、TODO、バグ、機能リクエストなどを追跡す
るための issues 機能が存在し、マイルストーンやラベル、
プルリクエスト機能と合わせて使用することで、ソフトウェ
アの管理が可能です。
有償の GitHub Enterprise や GitBucket などのオープン
ソースの GitHub クローンを導入する場合は、他のBTS/ITS
を導入することなくソフトウェアを開発・運用することが可
能です。
但し、カスタムフィールドの追加が必要になるような厳格な
開発スタイルには向きません。
19. BTS/ITS の近況とあれこれ
BTS/ITS 機能比較表
19
機能 Mantis Trac Redmine JIRA Backlog
開発元
MantisBT Team
(OSS)
Edgewall Software
(OSS)
Jean-Philippe Lang
(OSS)
Atlassian Nulab
ライセンス GPL 修正BSD GPLv2 プロプライエタリ プロプライエタリ
OS
Windows, Linux, OS/2,
Mac OS X, Unix 互換 OS
Windows, Linux, Mac OS
X, Unix 互換 OS
Windows, Linux, Mac OS
X, Unix 互換 OS
Windows, Linux, Solaris
Red Hat Enterprise
Linux, CentOS
DB
MySQL, PostgreSQL,
DB2, MS SQL Server
MySQL, PostgreSQL,
SQLite
MySQL, PostgreSQL,
SQLite, MS SQL Server
MySQL, PostgreSQL,
Oracle, MS SQL Server
MySQL, PostgreSQL
開発言語 PHP Python Ruby on Rails Java Java, Scala
初期リリース 2000年11月 2004年2月 2006年6月 2004年10月 2006年7月
最新バージョン 1.2.19 (2015-01-24) 1.0.6 (2015-05-21) 3.0.3 (2015-05-10) 6.4.1 (2015-03-31) ?(2015-05-13)
多言語対応
(日本語対応)
〇 〇 〇 〇 〇
マルチ
プロジェクト
〇
(サブプロジェクト設定可)
△
〇
(親子設定可)
〇
(カテゴリ分類可)
〇
(親子設定可)
ユーザ管理
ユーザ、ロール 、プロ
ジェクト単位
ユーザ、ロール単位
ユーザ、グループ、ロー
ル 、プロジェクト単位
ユーザ、グループ、ロー
ル 、プロジェクト単位
ユーザ、グループ、ロー
ル 、プロジェクト単位
Import CSV CSV CSV
Plug-in (CSV, Mantis,
Trac, Redmine)
Google Spreadsheet
Export CSV, Word, Excel
CSV, TSV,
Excel (Plug-in)
CSV, PDF,
PNG (Gantt charts)
Word, Excel CSV, Excel
20. BTS/ITS の近況とあれこれ
BTS/ITS 機能比較表
20
機能 Mantis Trac Redmine JIRA Backlog
Plug-in 拡張 〇 〇 〇
〇
(Plugin Manager 提供)
×
ワークフロー
△
(ステータス固定)
△
(ini ファイル編集)
〇 〇
△
(ステータス固定)
親子チケット × △ (Plug-in) 〇 〇 〇
カスタム
フィールド
〇 〇
〇
(プロジェクト、
トラッカー単位)
〇
(プロジェクト、
課題タイプ単位)
〇
(プロジェクト単位)
マイルストーン 〇 〇 〇 〇 〇
ガントチャート × △ (Plug-in) 〇 △ (add-ons) 〇
バーンダウン
チャート
× △ (Plug-in) △ (Plug-in) 〇 〇
Wiki △ (DokuWiki 連携可能) 〇 〇 (プロジェクト毎) △ (Confluence 連携) 〇 (プロジェクト毎)
SCM 連携 Subversion, Git
CVS, Subversion, Git,
Mercurial, etc
CVS, Subversion, Git,
Mercurial, etc
Stash (Git), FishEye
(CVS, Subversion, Git,
Mercurial, etc)
Subversion, Git
リポジトリ
ブラウザ
× 〇 〇 △ (Stash, FishEye) 〇
CI 連携 Jenkins Jenkins Jenkins Jenkins, Bamboo Jenkins
21. BTS/ITS の近況とあれこれ
BTS/ITS 機能比較表
21
機能 Mantis Trac Redmine JIRA Backlog
スマホ対応
MantisTouch
(有料アプリ)
×
RedminePM
(無料アプリ)
HTML5+CSS3
公式の無料アプリ
(SaaS 版のみ対応)
API SOAP API XML-RPC, JSON-RPC REST API
SOAP API
XML-RPC
REST API
REST API
SaaS MantisHub × My Redmine 公式
公式
(cloudpack プラン有)
オンプレミス 〇 〇 〇 〇 〇
その他の機能
• ユーザーアイコン • レポートのカスタマイズ
• ユーザーアイコン (Plug-
in)
• カレンダー
• ニュース
• ファイル共有
• フォーラム
• テーマ選択
• ユーザーアイコン
• ダッシュボード
• ウォールボード
• ユーザーアイコン
• JIRA Agile 連携
• JIRA Service Desk 連携
• Confluence 連携
• ファイル共有
• 定期レポートメール
• ユーザーアイコン
特徴
• バグ管理に特化 • コア機能はシンプルだが
多彩な Plug-in で拡張が
可能
• レポート機能が強力
• Plug-in なしでも必要な
機能が一式揃っている
• Atlassian 社の他製品と
の連携によりシステム開
発をトータルにサポート
可能
• 親しみやすい UI と充実
したコミュニケーション
促進機能
価格
(SaaS)
* プランは一例です。
- - -
プロジェクト向け
$500/月 (500 user)
年間サブスクリプションの
場合は2か月相当分を割引
Max プラン (プロジェクト
数・ユーザー数無制限)
13,000円/月
オプション有
価格
(オンプレミス)
* プランは一例です。
- - -
プロジェクト向け
$12,000 (500 user)
永久ライセンスで初年度メ
ンテナンスは無料
Enterprise (Professional)
699,000円/年 (400 user)
799,000円/年 (500 user)
23. BTS/ITS の近況とあれこれ
Atlassian 社の関連製品
23
製品名 概要
JIRA Agile
スクラムボード、カンバンボード、スプリント計画、バックログ管理などの機能を提供し、
アジャイル開発をサポートします。
JIRA Service Desk
顧客ポータル、高度なサービス水準合意 (SLA)、リアルタイムレポート、分析、E メール通
知などの機能を提供し、サービスデスク業務をサポートします。
Confluence (コンフルエンス)
リッチコンテンツエディター、ページの階層化とバージョン管理、ファイルの保管、検索な
どが可能な、チーム内のナレッジを共有するためのツールです。
Confluence Team Calendars
個人、JIRA プロジェクト、イベントを並べて表示可能なスケジュール管理・共有のための
ツールです。Gcal、iCal、Outlook との連携が可能です。
HipChat ビデオ通話、スクリーン共有、ファイル共有が可能な企業向けプライベートチャットツール
です。あらゆるデバイスで利用可能です。
Stash 社内環境に簡単に Git リポジトリを構築、管理可能なオンプレミス型ソースコード管理ツー
ルです。リポジトリ、ユーザ、アクセス権限の設定を UI から簡単に行うことができ、プル
リクエストによる開発が可能になります。
Bamboo JIRA や Stash と連携可能な CI ツールです。
FishEye
Subversion、Perforce、CVS、Git、Mercurial のリポジトリが参照可能な Web ベースのリ
ポジトリビューアーです。SCM の違いを意識することなく、統一されたインターフェイスで
参照が可能です。JIRA のチケットから、コミットされたソースコードの内容を簡単に確認
できます。
Crowd
ID 管理とシングルサインオンのためのツールです。Active Directory や LDAP などの複数
のディレクトリ・サービスのユーザーを、ひとつの管理コンソールで一元管理できます。
Agile Ready パッケージ製品 (JIRA + JIRA Agile + Confluence + Confluence Team Calendars)
Git Essentials パッケージ製品 (JIRA + JIRA Agile + Stash + Bamboo)
28. BTS/ITS の近況とあれこれ
TestLink
28
TestLink は、 PHP で開発されている OSS (GPLv2) のテスト管
理システムで、さまざまな種類の OS 及び DB で動作します。
主に結合テスト以降のテスト工程で使用され、テストケースの登
録やバージョン管理、担当者の割り当て、テスト結果の登録、レ
ポート出力などが可能で、テストの進捗がリアルタイムに把握で
きるというメリットがあります。 また、要件仕様の登録とテス
トケースとの関連づけも可能なため、受け入れテストでの使用に
優れています。
Mantis、Trac、Redmine、JIRA などの主要な BTS/ITS との連
携も可能で、テストケースのインポート・エクスポートも XML
や CSV、Excel 形式で可能です。
38. BTS/ITS の近況とあれこれ
バージョン(マイルストーン)
未使用問題
38
問題
バージョン (マイルストーン) が活用されておらず、トレーサビリ
ティが確保できない。
原因
• ウォーターフォール・モデルで開発する場合に、各工程の
期間が長いため、どう扱えばよいかわからない
• 必要性を理解できていない
解決策
• 開発工程の途中に中間リリース地点を設定したり、期間で
区切ったマイルストーンを設定したりして工夫する
• 結合テスト以降の工程はバージョン機能の利用が比較的容
易なため、先ずはそこから活用し、徐々に浸透させる
• 必要性を理解してもらうために説明会などを実施する
放置すると原因究明時の追跡が面倒に…
39. BTS/ITS の近況とあれこれ
メール未読問題
39
問題
チケット更新などの通知メールや RSS が捌ききれずに未読
のまま放置されてしまい、機能不全に陥っていく。
原因
• 大規模システムのため、チケット数が非常に多く、更新頻
度も高い
• 複数プロジェクトを掛け持ちしているため、トータルの通知数が多い
解決策
• 本当に必要なメンバーにだけ適切に通知されるように設定
内容を見直す
• メーリングリストを多用せずに、チケットのウォッチ機能
などを上手く活用する
放置するとフィルタリングされてゴミ箱直行なんてことに…
41. BTS/ITS の近況とあれこれ
BTS/ITS 選定時のポイント
41
目的 (生産性向上? トレーサビリティ確保? 障害分析?)
標準化 (全社導入や管理項目の統一は可能? 必要?)
管理対象 (本番障害/バグ/機能/課題/タスク)
導入工程 (要件定義/設計/実装/テスト/運用)
目的や用途の整理
ロケーション (SaaS/オンプレ)
他ツール連携 (連携なし/SCM 連携/CI 連携)
必須機能 (Wiki/詳細な権限管理/柔軟なカスタムフィー
ルド/柔軟なレポート出力/チケットインポート/ガント
チャート/リポジトリブラウザ/スマートデバイス利用)
利用環境や機能の整理
42. BTS/ITS の近況とあれこれ
BTS/ITS 導入時のポイント
42
対象組織 (プロジェクト ⇒ 部門 ⇒ 全社)
チケットの種類 (バグ ⇒ 機能 ⇒ 課題 ⇒ タスク)
入力項目数 (最低限必要な項目数からスタート)
他ツール連携 (連携なし ⇒ SCM ⇒ CI)
スモールスタート (段階的に導入)
チケットの重要度や優先度、ステータス、追加したカ
スタムフィールドの選択肢の選択基準
チケットの種類に応じたワークフロー
バージョンやマイルストーンの運用ルール
No Ticket, No Work? No Ticket, No Commit?
ルールの明確化
43. BTS/ITS の近況とあれこれ
BTS/ITS 運用時のポイント
43
チケットの粒度 (できるだけ小さく)
チケットのタイトル (内容が推測可能なように)
チケットの説明 (より詳細により具体的に)
クローズ条件の明確化 (明確化できない場合は分割)
チケットの棚卸し (担当者を決めてゴミチケットを排除)
No Ticket, No Work (当たり前の習慣に)
マイルストーンを有効活用 (当たり前の習慣に)
メール通知の流量を制御 (反応が遅い場合は要注意)
45. BTS/ITS の近況とあれこれ
近況の考察
45
• BTS/ITS は古くから存在しているものが、それぞれゆっくり
と正常進化していっているイメージで、新しい何かが登場し
ているわけではない。但し、アジャイル開発に特化したもの
は、幾つか出現している。
• 機能的には、SCM 連携と CI 連携はもはや必須の機能となっ
ており、3 つのツールと TiDD を組み合わせることによって、
トレーサビリティの確保や品質の向上が容易に実現できるよ
うになっている。
• Google トレンドを見る限りでは、海外では JIRA への関心
が高く、日本国内では Redmine への関心が高い。
• BTS/ITS 自体は既に一般化しており、表計算ソフトで障害管
理をおこなっている開発現場はもはや化石レベルである。