« 第73回 SEA関西プロセス分科会「モデルベースシステムズエンジニアリングの活用」の感想~モデルの検証を形式手法で自動テスト化する | トップページ | astahのM+プラグインでモデル間のトレーサビリティが実現できる »

2020/12/14

Redmineの一つのプロジェクト内でユーザの権限を使い分ける要望への対応

Redmineの一つのプロジェクト内でユーザの権限を使い分ける要望への対応があったのでメモ。

【参考】
Redmine 3.3新機能紹介: トラッカーに対するロールベースの権限制御(チケットの閲覧/追加/編集/削除/注記の追加) | Redmine.JP Blog

JAXAのRedmine運用事例の分析~「ロール設定のORルール」と「カスタムフィールド設定のANDルール」: プログラマの思索

JAXAのRedmineモデル~Redmineはレイヤ構造になっている: プログラマの思索

【1】背景:
既にRedmineは長年運用されている。
1つのプロジェクト内に、数多くのトラッカーがあり、複数の業務が運用されている。
社員ユーザもいれば、派遣会社さんユーザもいて、それぞれにリーダークラスの人と作業者クラスの人に分かれている。

ある業務のチケットには、派遣会社ユーザだけに更新させて、作業が終わった後、社員リーダーが承認したい。
その業務には、派遣会社のユーザだけが触ることができて、一般社員には更新させたくないし、できれば見せたくない。
たとえば、派遣会社の人向けの教育とか、事務処理とか。

そういうことはRedmineで対応できますか?と。

【2】現状分析から課題へ、そして考えられる解決策

ある特定のトラッカー「教育」に対し、PJで指定されたユーザには、特定のワークフローを設定できるか?という課題に落ち着く。

既に運用済みのプロジェクトなので、トラッカーやロール、ステータス、ワークフローを削除することは不可。
ただし、新規追加で対応できると仮定しよう。

考えられる解決の方向性は、リーダー・一般ロールを増やし、特定のロールは特定のトラッカー「教育」しかチケットの編集権限を設定しない。
また、ワークフローでは、一般ロールは新規~承認前ステータスまで遷移可能とし、リーダーロールは承認前~承認ステータスを遷移可能とする。
最後に、PJ設定のロール設定画面で、派遣会社の人には一般ロールも追加し、社員リーダーの人にはリーダーロールも追加する。

つまり、(1)トラッカーに対するロールベースの権限制御と、(2)ロール設定のORルールを組み合わせることで実現可能ではないか、と思う。

【3】本当に問題は解決できるのか?

普通は、1個のPJ内のメンバーは、PJ内のすべてのトラッカーのチケットを更新できる状態にしたい。
つまり、PJ=1個のチームに対応付けることで、PJメンバーの一体感を醸成したいのだ。

よって、上記のような課題が発生した場合は、本来は、そういう業務単位にサブプロジェクトを作って、該当するメンバーだけのプロジェクトを設定する方が良いと思う。
その方が、複雑なロール権限やワークフロー、PJのロール設定を行う必要はないので、Redmineのシステム設定自体もシンプルになる。

しかし、長年の運用ルールに縛られたりする場合もあるだろう。
また、細かな業務ごとにサブプロジェクトを作っていけば、プロジェクトの階層構造が深くなったり、プロジェクト数そのものも状態爆発のような状況に陥るかもしれない。

業務の複雑さを取り込むことで、Redmineのシステム設定そのものも複雑化してしまう事例だな、と思っている。
本来は、Redmine云々の前に、業務改善とかできないのかな?とか。

|

« 第73回 SEA関西プロセス分科会「モデルベースシステムズエンジニアリングの活用」の感想~モデルの検証を形式手法で自動テスト化する | トップページ | astahのM+プラグインでモデル間のトレーサビリティが実現できる »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 第73回 SEA関西プロセス分科会「モデルベースシステムズエンジニアリングの活用」の感想~モデルの検証を形式手法で自動テスト化する | トップページ | astahのM+プラグインでモデル間のトレーサビリティが実現できる »