岡本 隆史
Tracの便利さに惹かれるが,インストールに煩わしさを感じ,Tracを簡単にインストールできるTrac Lightning(旧Trac月)の開発を行う。また,日本のTracコミュニティであるShibuya.tracにてユーザー補完プラグインなどのプラグイン開発にも携わる。

 チーム内のタスクや分散開発におけるタスク管理の手段として,プロジェクト管理ツールのTracが注目を集めています。Tracは,Ruby on RailsSpring IDEなどでも利用されています。本連載では,開発現場を交通整理するために,Tracを利用したプロジェクト管理の効率化を,Tracの基礎から紹介していきます。

 ソフトウエア開発において,プロジェクト管理はガントチャート・ベースで行われることが多いでしょう。しかし,ガントチャート・ベースの管理では,詳細を報告するために作業報告書を別途作成する必要があります。

 また,ガントチャート・ベース管理の問題ではありませんが,作業に必要な他の担当者や他部門との情報のやり取りは,たいていメール・ベースで行われています。必要な情報を個人が握っているので,作業の実施状況が把握しずらく,引き継ぎなどで作業の過去の経緯を知るのは容易ではありません。

 要求されるシステムが複雑化し,短期間での開発が求められている昨今では,複数の会社による分散開発やオフショア開発などへシフトすると,これらの問題はより顕在化してきます。結果として,状況を問い合わせるためのコミュニケーションが発生することになります。

 また,拠点が分散している場合,Microsoft Excelなどの表計算ソフトで課題や故障を管理していると,課題や故障の管理を行う際に煩雑な帳票のやり取りが発生します。バグを修正した際にソースコードのどの部分を変更したかもわかり難いです。

 こうした問題を解決する手段として,作業(ここでいう作業とは,タスクとしての作業だけでなくバグ管理や課題管理を含む)を集中的に管理する,ITS(Issue Tracking System:課題追跡システム)と呼ばれるツールがあります。ITSを利用すると,下記のようなメリットが得られます。

  • 作業をITSで一元的に管理することができ,検索性も向上する
  • 作業履歴や情報のやり取りをITSに登録する決まりにすることで,自然と作業の経緯がわかるようになる
  • Webベースで課題や作業を管理できるITSを利用すれば,分散した拠点での情報連携がスムーズになる

 これらを簡単に図に示すと,次のようになります。

図1●ITSを導入すると作業を一元管理できる
図1●ITSを導入すると作業を一元管理できる

 ITSには,Bugzilla,Scarab,影舞,redMineなど様々なツールがあります。本連載では,Ruby on RailsやSpringIDEなどのオープンソース・プロジェクトで利用され,多数の実績があるTracを紹介します。

Tracの特徴

 Tracは,スウェーデンのEdgewall Softwareが開発しているプロジェクト管理システムで,日本ではインタアクトがTracを日本語化したtrac-jaを配布しています。Tracは,以下の特徴を持ちます。

◆Webベースのインタフェースを提供

 特別なソフトウエアをインストールする必要がなく,Webブラウザさえあれば,ユーザーが簡単に利用することができます。また,拠点が分散している開発でも利用できます。

◆ 構成管理ツールと連携が可能

 Subversion(SVN)リポジトリへのコミットログを作業の変更履歴に追加したり,ソースコードの差分(チェンジセット)のリンクを挿入できます。これにより,バグ修正や機能追加によるリポジトリへの変更を管理できるようになります。

図2●Trac(上図)と構成管理ツール(下図)との連携
図2●Trac(上図)と構成管理ツール(下図)との連携
[画像のクリックで拡大表示]

◆チケットによるタスク管理

 Tracでは,チケットという概念によりタスクを管理します。課題,故障,要件など,プロジェクトで管理したい要素をチケットとして扱うことができます。

 また,チケットは次に紹介するWiki機能を利用できます。Wikiを利用したリッチテキストで,タスクの詳細やコメントをわかりやすく記述できます。こうした記述をルール化しておけば,担当者が変更になった場合でも,スムーズにタスクを引き継ぐことができます。