Trac の次のバージョン(0.11.x)より Workflow という仕組みが実装され、ステータスの状態遷移をある程度、自由に変えられるようになります。
今のところ Workflow を使うには Trac の Subversion の trunk
http://svn.edgewall.com/repos/trac/trunk/
から update するか、sandbox/testing
http://svn.edgewall.com/repos/trac/sandbox/testing/
から update する。もちろん日本語版を使っていても、update すると全て英語に戻ってしまいます(戻ってしまいました(笑))
update の方法は様々なサイトで紹介されているので割愛して、ここでは実際のステータスの状態遷移の設定を紹介。
[ticket-workflow]
accept = new -> assigned
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
approve = resolved -> closed
approve.operations = set_resolution
approve.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.operations = leave_status
reassign = new,assigned,reopened,resolved -> *
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed,resolved -> reopened
reopen.operations = del_resolution,set_owner
reopen.permissions = TICKET_CREATE
resolve = new,assigned,reopened -> resolved
resolve.operations = set_resolution,set_owner
resolve.permissions = TICKET_MODIFY
ミソは開発者が修正が終わってresolveすると、すぐに closed になるのではなく resolved というステータスになる。その際、テスト担当者が決まっている場合同時に担当者の変更も可能(hogehoge.operation の後ろに action をカンマで区切って書けばよい。operationsの種類はこちらを参照)
同様にテスト不合格で reopen する際もステータスを reopened に戻すと同時に、担当者を開発担当者に変更できるという案配。
数日前からこのフローで運用してますが、テストステータスを明確にできるので、管理しやすく感じる。