Redmineでのオブジェクトの扱いについて考えてみた
Redmineを使う前にちょっと自習してみました。
目次
Redmineのオブジェクト
Redmineで設定できるオブジェクトは主に3つです。(Wikiなどは除く)
プロジェクト(サブプロジェクト)
バージョン
チケット(子チケット)
プロジェクト
プロジェクトは、そのプロジェクトのチケットやバージョンやメンバーなどの関係を管理するものです。そのプロジェクトがどのプロジェクトに関連するのか、誰がプロジェクトのメンバーでどのような役割(ロール)なのか、どのバージョンに関連するのかをプロジェクトに規定します。
バージョン
バージョンは、チケットの時間的なまとめをするオブジェクトです。マイルストーンのようなものです。平行して進行するチケットが複数あるときに、どのチケットが完了したらそのプロジェクトのマイルストーンに到達するかを規定します。例えば、フライトの予約をするというタスク(チケット)とホテルの予約をするというタスク(チケット)の両方が完了すると旅行の準備(バージョン)が終わるわけです。これらを関連付けておくわけですね。
バージョンに日付を設定すると、納期とかデッドラインを表すことになります。このバージョンにチケットを関連付ければ、納期までにどのチケットを完了させなければいけないのかがわかるようになります。(ロードマップ)
チケット
チケットは、タスクを表すオブジェクトです。公式の説明では「チケットは作業指示に対応するもの」とされています。誰が、いつまでに、何をするのかを規定します。チケットには、トラッカー、ステータス、優先度などのプロパティがあります。
トラッカーは、チケットの種類を表すものです。Redmineの初期値では「バグ」「機能」「サポート」の3種類が登録されています。これらは各担当者が行うタスクではありますが、全く種類の異なるタスクです。こういった種類の異なるチケット(タスク)をトラッカーで分類することで、フィルターをかけられるようになります。また、ステータスをトラッカー毎に設定できますので、チケット毎にステータスの遷移を指定することができます。
ステータスは、チケットの状態を表すものです。Redmineの初期値では「新規」「進行中」「解決」「フィードバック」「終了」というステータスが登録されています。そのタスク(チケット)がどういう状態であるのかを表します。ステータスはチケット(タスク)を表すものではなく、タスクの状態を表すものです。例えばフライトの予約というタスクがあるとして、空席を探すという行為はタスクの一部であってステータスではありません。ステータスとしては、フライトの予約のチケットが「進行中」ということになります。
チケットは親子関係にすることができます。注意しなければならないのは、親子関係であって、前後関係ではないということです。子のチケットが全て完了すると親のチケットを完了できるというのがRedmineでの考え方です。
現実問題として、チケット(タスク)に前後関係が存在することがあります。例えば、「ホテルの空室を探す」「連れの承認を得る」「予約する」はそれぞれ前のタスクが終わらないと実行できない場合があります。そういう場合は、チケットの前後関係を「関連するチケット」に設定できます。前のチケットが終了しないと次のチケットが終了できない場合は「関連するチケット」に「ブロック元」または「ブロック先」を、単純に先行・後続の関係であれば「次のチケットに先行」または「次のチケットに後続」を設定します。
あるチケット(タスク)が終了すると他のチケット(タスク)も終了するという場合があります。そういう場合は「次のチケットが重複」「次のチケットと重複」を設定すると、関係元のチケットを終了したときに関係先も終了します。
単純にチケット同士が関連する場合は「関連している」を「関連するチケット」に設定できます。
つまりどうするの
プロジェクトとサブプロジェクトで大枠を作り、バージョンでマイルストーンまたはデッドラインを設定します。そして、各マイルストーンに必要なタスクを細かく分解してチケットを発行します。
公開日
広告