課題管理対決!Redmine vs. Trac
Tracの機能と特徴
Tracは、Pythonで記述されている、Webインタフェースのバグ追跡(Bug Tracking)ツールです。原稿執筆時点(2008年9月現在)での最新のバージョンは0.11.1です。Tracの標準機能として、「Wiki」「マイルストン設定 (Roadmap)」「作業履歴の閲覧(Timeline)」「ソース管理との連携(Browse Source)」「課題の登録/追跡(View Tickets/New Ticket)」があります。
Tracのセットアップは、Redmineと比較すると多少面倒ですが、こちらも短時間で完了します。セットアップの詳細は、Tracの公式サイトのインストールページ(http://trac.edgewall.org/wiki/TracInstall)を確認してください。
Tracは上記の基本機能のみでも利用は可能なのですが、プラグインなどで便利な拡張機能が数多く提供されているので、目的や用途に応じてツールを使いやすくカスタマイズできます。プラグインは、公式サイトのプラグインリスト(http://trac.edgewall.org/wiki/PluginList)やコミュニティーWebサイト「Trac Hacks(http://trac-hacks.org/)」などから探すことができます。
なお、いくつかのプラグインを含んで機能強化され、すぐに運用可能なように設定が施された「Trac Lightning(http://sourceforge.jp/projects/traclight/)」を利用することでインストール作業はかなり軽減されます。日本語の情報も多くありますし、新たにTracを導入される場合は、こちらを選択するとよいでしょう。
Tracのドキュメントは、公式サイト(http://trac.edgewall.org/wiki/TracGuide)に管理ガイドや利用者ガイドが一通り準備されています。
日本語のメニューやメッセージ表示については、さらに先のマイルストン(バージョン0.12)でのリリースに向けて準備が進んでいるようです。インタアクトのWebサイト(http://www.i-act.co.jp/project/products/products.html)では、ローカライズ版Trac(trac-ja)が公開されています。Trac Lightningには、上記のtrac-jaが同梱(どうこん)されており、最初から日本語のメッセージが利用できるようになっています。
Tracの利用シーン
Tracはいわゆる「バグ管理ツール」の発展形と言えます。Redmineにおける課題(Issue)にあたるものはチケットと称されますが、デフォルトでは「故障(defect)」「機能追加(enhancement)」「タスク(task)」の3種類に分類できるようになっています。
Tracのアドバンテージは、Redmineと同様、Wikiやバージョン管理ツールとの連携によるチケット状態管理やナレッジの蓄積が可能なこと、それらを横断的にキーワード検索したり、カスタムクエリを使ってチケットの検索条件をきめ細かく設定することができることです。さらに、前述のように必要な機能はプラグインとして実現したり、強化することができるというのも大きな特徴です。
プロジェクトでの使いどころとしてはRedmine同様、課題の状態を追跡管理するための道具として用いるのがもっともフィットします。ここでさらにもう一歩、突っ込んで使い方を考えてみましょう。
このツールは、どのようなプロジェクトを想定しているのでしょうか。「第1回:現場が求めるOSS管理ツールとは?(http://www.thinkit.co.jp/article/138/1/)」で少し述べましたが、一口にプロジェクトと言ってもさまざまな形態のものが存在します。Tracがマッチするプロジェクトの条件としては、次の3点が隠れた前提として存在していると筆者は考えます。
1つ目は、ソフトウエア(プログラム)をアウトプットとするプロジェクトであること、2つ目は、反復的な開発スタイルを取るプロジェクト、具体的には、パッケージソフトやOSS各種ツール、フレームワークなど徐々に機能アップしていくような形態のプロジェクトであること、そして3つ目は、複数の関係者や組織が、物理的な作業場所を問わず、仕事時間の多くをネットワークに接続できる環境で過ごしているプロジェクトであることです。
もちろん、これらを満たしていないプロジェクトであってもツールの本質的な機能の部分を利用することは可能です。ただし、前提と異なる環境では、ツールが想定しているプロジェクト像とのギャップを認識した上で、それを埋めるような運用を考慮する必要があります。
次は、ツールの課題管理機能以外の使いどころおよび注意点についてみていきます。