we want processes to be reusable. With this idea in mind, we want to start the same process definition but for different departments and hide the user tasks that belong to a department from the other departments.
For example, John having role MANAGER sees the user tasks from Department1 and Jack having role MANAGER sees the user tasks from Department2 but he does not see the ones from Department1 although they both have the same role.
How to model this?
If CandidateGroups=MANAGER then both John and Jack would see the user tasks from other departments.
If we create separate processes per departments where CandidateGroups=Department1 for Department1 and CandidateGroups=Department2 for Department2 then we would have 2 process definitions, thus the process would be duplicated and we would have to maintain both.