はじめまして、広部と申します。本連載では、開発プロジェクト管理ツールとして人気の高いTracについて解説していきます。
初回は、開発者から管理者になったばかりの新米管理者になったを対象に、「Tracを使うことで情報共有がやりやすくなり、開発者がプロジェクトの状況・情報に詳しくなることで、結果としてプロジェクトの管理が上手くいくようになる」ということを説明したいと思います。
Excel管理は過去の話
少し前までは、プロジェクト管理といえばExcelの表編集機能を使った管理が当たり前でした。お客様の要求事項をExcelで一覧化し、作業タスク、ソースの改版履歴、障害情報を一覧化する。この方法は簡単なため、広く使われていました。
しかし、Excelファイルは複数人で編集するのに向いているとはいえません。Excelファイルは同時に二人で編集できないだけでなく、下手に扱うと自分が編集した内容が消失する恐れもあります。しかも、プロジェクト管理に使う一覧表の多くは、複数のプロジェクトメンバが頻繁にファイルを開きます。自然と「他の人と衝突しないように自分の分だけ管理したい」という欲求が生まれます。しかし、これはプロジェクトにとって危険な欲求です。プロジェクトメンバが、自分用、あるいはサブチーム専用のExcelファイルを用いて独自に管理するようになれば、ファイルの在り処は本人しか分からなくなります。また、管理者自身が欲求に負けて、ファイルを自分のPCの中に隠すとさらに大変です。管理者の扱うような一覧表の多くは、管理者一人のものではなく、開発者が正確に作業するためにも必要です。「分からなければ質問しろ」などと言っても、管理者が出張中は、情報不足で開発作業が停止、または迷走することになります。結果として管理者は、プロジェクト管理本来の作業(計画立案、調整、チェック等)よりも、Excelを如何に管理するかに時間を割くことになってしまいます。
このような問題点から、プロジェクト内の情報共有を図るために、サーバで動作するプロジェクト管理ソフトウェアを使用して、プロジェクトに関する情報を一元管理する方法が採られるようになってきました。
Tracの紹介
TracはEdgeWall社が開発している、ソフトウェア開発向けのWebベースのプロジェクト管理ツールです。
商用のものを含め他のプロジェクト管理ツールに比べて、以下のメリットがあります。
- オープンソースなので無償で利用可能(修正BSDライセンス)
- 自社内にサーバを構築できる
- Webブラウザで情報を見れるので、クライアント端末へのインストール作業が不要
- 有志の手による数多くのプラグインが存在するので、プロジェクトに応じてカスタマイズ可能。さらに自分の手でプラグインを作ることも可能
主な機能を以下にあげます。各機能の詳細については次回以降で解説します。
- チケット
- チケットは、Tracのタスク管理で用いられる用語です。ひとつのチケットが、開発作業やバグといった作業タスク1件を表します。入力項目として、タイトルと、内容詳細項目に加えて、設定によりプロジェクト毎にカスタマイズ可能な複数の項目と、ステータスを持ちます。ステータスもカスタマイズ可能です。また、作成後はちょうどブログのコメント欄のようにコメントを追加入力が可能です。
- 作成したチケットは、レポート機能やクエリ機能で一覧表示や検索ができます。また、マイルストーンを設定することで、マイルストーンごとの未完了チケット数を表示できます。
- Wiki
- TracはWikiを搭載しており、みんなで編集しWikiページという形で情報共有できます。Tracの各機能に対するリンク生成機能を持ち、提携のフォーマットで記述した文章が自動的にリンクとして表示されます。Wiki機能は、チケットのコメントなど様々な項目で使用可能であり、これによりTracは、各機能に対して強力なリンク生成機能を提供しています。
- バージョン管理ソフトウェアとの連携
- バージョン管理ソフトウェアSubversionと連携し、リポジトリの内容を参照することができます。
- 検索、タイムライン
- キーワード入力による検索機能と、日付単位で最近の情報をリスト表示するタイムライン機能を提供します。ともに、検索する対象はWikiやチケットのみならず様々な検索対象を検索対象を検索時に指定できます。
- 管理ページ、その他
- 管理ページはTracの機能の設定をWebブラウザから設定可能です。その他、プラグインを用いることでTrac自身に機能を追加することが可能です。
数あるTracの機能の中で最も使用頻度が高いと思われるのは、バージョン管理ソフトウェアと強力に連携可能な、チケットによるタスク管理機能です。チケットを作成すると、作業の経過をコメントとして入力できるようになります。作業の成果物をバージョン管理ソフトウェアにコミットした番号をコメントとして入力すると、Wikiのリンク機能により、チケットから更新内容を簡単に参照できるようになります。
これは、ソフトウェア開発において極めて面倒な変更要求管理が、簡単に行えることを意味します。変更要求管理は、成果物の変更箇所をあとから追跡できるように、成果物を変更する際にその発生要因と変更内容を紐付けて記録するものです。Tracを使えば、作業記録として入力した情報がそのまま管理内容となります。検索などの機能を使えば後から追跡するのも簡単です。変更要因と作業経緯が書かれたチケットを検索したら、リンクをクリックするだけで、変更したファイルとコミットログ、変更箇所のDiff(テキストファイルのみ)まで参照できます。簡単に参照できるため、変更作業を行う前に開発者が各自で影響をチェックすることも可能であり、「よく分からずに変更した」の防止にも役立ちます。なお、これを推進して、変更をコミットするには必ずチケットを作成するというやり方も提唱されています。
ちなみに、Excelで管理するならば、変更の発生要因と変更内容、変更対象、変更箇所、作業者、それぞれの日付等の項目を用意することとなります。変更はソフトウェア開発の主な作業であり、プロジェクト全体を通せば数百~数千件にもおよびます。これだけの件数の一覧表を個々の作業記録と一体化することはできず、別途入力する必要があります。記録に要する工数も莫大ですが、追跡するのも大変な作業です。まず、膨大な一覧から怪しいものを探し、変更された時点の成果物を探し、成果物を開いてどこを変更したか探す必要があります。これでは、問題が起きた後で仕方なく原因調査に使うくらいにしか役に立ちません。
Tracを使って開発プロジェクトを楽しもう!
開発プロジェクトで管理者は、開発者ができるだけ早期にプロジェクトの状況を把握できるよう努めることが必要です。ソフトウェア開発プロジェクトの成否は、管理者も含めたプロジェクトメンバの力量に大きく依存します。ましてや新米管理者たるあなたは、特に開発者の力量に大きく頼らざるを得ません。プロジェクトに十分慣れた開発者が作業を進めることができるのは、プロジェクトの状況やシステムの変更経緯を熟知しており、状況に応じた最適な作業ができるためです。参加したばかりの開発者に対して、一刻も早くプロジェクトの状況を把握できるようにすることが、開発プロジェクトを成功させる秘訣です。
そのためには、開発者が作業する際に必要な情報が、開発者自身の手で簡単に探し出せることが必要となります。技術的な情報はWebや本で入手できる現在、開発者が一番求めており、かつ入手困難であるのは、目の前のプロジェクトの情報かもしれません。
Tracを使ってしばらくすると、作業に関する情報が探しやすい形で蓄積されていることに気づくでしょう。情報が探しやすければ、開発者も管理者者待ちで作業停止したり迷走したりせずに、十分に準備して作業を進めていくことができます。Tracで開発者が早期に自分の力を発揮できるようになれば、管理者の負担も減り、プロジェクト管理本来の作業や、更なる情報共有に時間をかけることも可能になります。Tracを使って、プロジェクト管理の作業を楽しみましょう。
次回は、Tracとよく利用されるプラグインのインストーラとして有名なTracLightningを解説します。