Redmineのトラッカー、ワークフロー、マイルストーン、バージョンについて考える

そもそもトラッカー、ワークフローとは何なのか?

トラッカーは、異なる種類のチケットを分類するものです。トラッカーごとに以下のものを定義できます。

どうやらチケットを分類するための言葉らしい。

ワークフロー(英: Workflow)は、リソースを体系的に組織化し、役割と、物質、エネルギー、情報の流れを文書化および学習が可能なかたちで作業プロセスのなかに規定することで実現される、確実な反復可能性を持つ活動パターンである。ワークフローは、物理的な輸送、サービス展開、情報処理など、何らかの具体的意図を持って設計される。

Redmine的にはチケットの始まりから終わりまでの『状態(ステータス)』または『作業(ワーク)』という解釈でいいかな。

仕事に当てはめてみる

トラッカー ワークフロー(始まりから終わりまで)
改定 要件定義→見積り→設計→製作→試験→出荷→納品
要件定義→見積り→設計→製作→試験→出荷→マージ→試験→納品
要件定義→見積り→取り消し
障害 障害発生→再現性確認→改修→試験→出荷→報告書提出
障害発生→再現性確認→改修→試験→出荷→マージ→試験→報告書提出
障害発生→再現性確認→取り消し
障害発生→瑕疵外の障害
課題 課題発生→確認→設計→製作→試験→出荷
課題発生→確認→取り消し
レビュー 依頼→レビュー→処置→確認
問合せ 質問→回答→確認

ざっとこんなもんか、、、
『レビュー』『問合せ』は、『改定』『障害』『課題』のトラッカーに含むのでサブトラッカーってことになるのな。
RedmineではSubtasking*1という機能があるので、トラッカーとサブトラッカーを親Taskと子Taskという扱いにしてみよう。
まぁ上の表を見せてもプロジェクト内の開発者の理解して貰えないと思うので、流れ図に起こした方が吉。

#'10.6.16追記:この考え方では全然ダメだった・・・考え直そ

マイルストーンとバージョンって何?

マイルストーン(Milestone) とは、鉄道や道路等の起点よりの距離をマイルで表した距離標識の一つ。マイルマーカー(Milemaker )、マイルポスト(Milepost・MP)ともいう。

”距離”を表す言葉ね。

ソフトウェア構成管理(ソフトウェアこうせいかんり、Software Configuration Management、SCM)とはソフトウェア開発プロジェクトをその成果物を通して制御・管理する方法論である。ソースコードや文書などの成果物の変更履歴を管理し、製品のバージョンやリビジョンに個々の成果物のどのバージョンが対応しているかを識別し、任意のバージョンの製品を再現可能とする。

”構成を管理するコード”という解釈にしとこ。


Tracではマイルストーンとバージョンを分けて考えるが、Redmineでは同一の意味として扱う。
故にRedmineはマイルストールという言葉がない。(プラグインで出来るのかも知れないが。)
余程長期のプロジェクトを扱う場合は、マイルストーンとバージョンを分けて管理すべきだろうが、
中期、短期のプロジェクトを扱う場合は、バージョンだけで十分。
もしRedmineで長期プロジェクトを扱う場合は、Redmine独特のサブプロジェクトという考え方が出来るので、
そちらに置き換えて管理すればいいだろう。


最終出荷物 … メインプロジェクト内のバージョンで管理
途中出荷物 … サブプロジェクト内のバージョンで管理

これまた仕事に当てはめる

基本的にワークフローの”出荷”がソースを構成する上での終点になるので、出荷予定日をバージョンとして扱ってみる。
バージョンは『100614-RC』と言う事にしよう。