見出し画像

redmine のワークフローを考える

redmine の一般利用者にとって、あまりなじみがない機能の一つが、「ワークフロー」だと思います。ご存知のように、チケットには「ステータス」があり、色々な値を持つことが出来ます。この「ステータス」が、どう進んでいくか?を設定するのが「ワークフロー」です。
redmine の場合、一般ユーザが自分で「ワークフロー」を作ったり直したりする事は無く、管理者がこっそりやってくれていると思います。例えば、以下の URL の例だと、最初にチケットを切った時には「未着手」と「作業中」が選べ、その後の遷移も自分で設計/設定することが出来ます。この一つの流れの定義を「ワークフロー」と呼びます。http://redmine.jp/faq/issue/status-transitons/

そして、多くの方には多分意外な話ですが、この「ワークフロー」は「トラッカー」を選ぶことで選ばれます。実は「トラッカー」は一般的な「チケットの分類」を表すと言うより、そのチケットがどんな「ワークフロー」に沿って処理されるか?を示しているのです。
http://redmine.jp/glossary/t/tracker/

ちなみに、時間的な流れでチケットを分類したいなら、バージョン。純粋にチケットの分類をするには、カテゴリーを使う事になります。

さて、ステータスとその遷移は「ワークフロー」で定義されますが、「ワークフロー」を制限するもう一つの軸があります。それは「ロール」です。一般的には「ロールプレイングゲーム(RPG)」で有名な、この「ロール」という言葉。日本語で訳すと「役割」と言った意味でしょう。redmine の世界では、普通の利用者とか、PJのリーダーとか、全体の管理者とか、色々なロールがあります。それぞれ機能毎の権限をまとめて、それに名前を付けています。「ワークフロー」の作成/変更が出来るかどうか?も、一つの権限であり、一般的には管理者にだけ付与されています。

そして、「ワークフロー」の定義とは別に、何にステータスを変更出来るのか?を権限としてロールで設定することが出来ます。例えば、一般利用者にはチケットのクローズをする権限を付与せず、リーダー以上がクローズできるとか、そういう設定が出来ます。この機能と「ワークフロー」が連携して、実際のチケットでのステータス進行が実現されている訳です。

一般利用者にとっては、ステータスを変更しようとした時に選択肢に出て来ないだけなので、あまり意識していないと思いますが、実は裏でこんな仕組みが用意されています。

しかし、例えばクローズ間近のステータス(例えばクローズ要求とか)にステータスが進んでも、自動的にクローズできる人に何かの通知が飛んで、ステータスの進行を促すような機能はありません。そこは、リーダーが様子を見ていて、適宜対応する必要があります。一般的な「業務システム」では、そういう実装が多いと思いますが、redmine にはありません。ここは若干残念な所ですが、汎用的なツールとしては現在の「トラッカー」「ワークフロー」「ロールと権限」の仕組みだけでも十分に複雑なので、これで良い様に思います。

前回のチケットの種類の議論と共に、このステータス進行に関する設定/定義も中々難しいです。この辺りが、デフォルトで良い感じに用意されているか、あるいは「入門セット」の様な設定ガイドを作るか、少し考えたいと思ってます。

この記事が気に入ったらサポートをしてみませんか?