Redmineでのタスクの進捗報告について

Redmine Advent Calendar jp 2011 : ATND の18日目です。
プラグインの開発や利用をほとんどしていないのですが、一応本体は1年半使い続けているので、今のプロジェクトでの利用方法について書きます。

背景
Shibuya.trac#13に滑り込んでみた - いぬおせろ でも書いたのですが、紙とRedmineでチケット(作業)を運用しています。紙はみんなが話し合うために、Redmineはやりたいこと(wiki/フォーラム/チケット)とやったこと(SCMへのコミット)の紐付けと、マネージャへの報告のために利用しています。


タスクに進捗率があっても、チケットに進捗率はない
Redmineにはチケットに進捗率を入力する欄がありますが、みなさんはどのように利用していますか?
進捗率といえば「永遠の90%」問題が有名ですね。担当者に話を聞くと、考慮することがどんどん出てきた、仕様が追加されていった、他の箇所の変更に対応していたら作業が増えた、あるいは単純にバグコードばかり書いていた、なんてのが明らかになります。大切なのは、きちんと理由のある作業がそこに存在していた、ということです。このような時は別のチケットを発行しますが、現在のチケットの子チケットとして発行するか、今のチケットと新しく発行するチケットの親チケットもあわせて発行すると便利です。親チケットを参照すると、その子チケットの作業時間と予定工数の総数が表示され、調整された開始日、期日、進捗率が表示されます。進捗率は Σ(予定工数÷Σ予定工数×進捗率) で表示されます。

管理上、作業のそれぞれの内容も気になるのですが、気にするのは、作業に遅れがないか、その理由は何か、です。「進捗率を見るのは親チケット」であり、「作業内容や遅延理由(障害)となる事象(への対処作業)は子チケット名」となります。よって、子チケットは「どれだけ出来ているか」ではなく「何をやっているか」を扱うため、「出来た」か「未着手/作業中」だけが分かれば良いのです。Redmineではデフォルトでは0%〜100%を10%刻みで選択できるようになっていますが、チケットのステータスに対応して進捗率を0%か100%にする設定ができます。

設定は管理画面で行うので、Redmine管理者でログインしてください。
管理メニューから、[設定] > [チケットトラッキング] 画面を開き、[進捗の算出方法] を [チケットのステータスを使用する] に変更します。

次に、[チケットのステータス] 画面を開き、それぞれのステータスの進捗率を指定してください。ここでは、解決、終了、却下に100%を、それ以外に0%を設定しています。0%を設定しないと、間違えて却下にしたチケットのステータスを進行中に戻したとき、進捗率が100%のままになってしまうので、念のため設定しておくとよいでしょう。

これで子チケットの更新画面から進捗率が消えました。親チケットには進捗率がありますが、変更できないようになっています。

もしこれで「永遠の0%」のチケットが出るのであれば、それは子チケットを作るチャンスです。積極的に子チケットを作ってください。


進捗率の報告に手間をかけない
上記の運用を行っていくと、Redmineの機能で自動的にガントチャートが出来上がっていきます。ガントチャートというと「ウォーターフォールがダメだから」を理由に否定的な方もいるかもしれませんが、全体を把握するレポートとしてはそんなに悪いものではありません。「ガントチャートを作る作業」が存在しているのであれば確かに嫌ですが、Redmineが通常のチケット駆動を行った結果からガントチャートというフォーマットの表を作成してくれるので、邪険にするようなものでもありません。むしろ、他の部署に魅せたり、マネージャが上役などに説明する際の道具としても利用することができるので、活用できます。
この例ではチケットにバージョンも設定しています。バージョンはマイルストーンやScrumでいうスプリントと言い換えることもできます。これを設定すると、ガントチャート画面で見せたい作業やバージョンだけを表示することができます。


補足:Firefoxを使っていて困ること
最初の画面で開始日と期日の欄が見切れていました。IE(8)やChromeならすべて表示されるのですが、Firefoxだとこのようになってしまうようです。Firefoxを使いたい方は次のファイル

$REDMINE_HOME/public/stylesheets/application.css

の末尾など適当な位置に次の記述を追記してください。

input { font-family:Arial,Helvetica,sans-serif; }

次は@nobiinu_andさん、お願いします。