I'm struggling with assigning the responsibilities in BPMN. In the process I'm designing, I have a task that can have different performers, depending on the instance details (software, hardware...).
Should I use an exclusive gateway and copy the task with different responsibles or is there an other way to make clear that there can be different responsibles?
In BPMN, you can't graphically model that multiple roles are responsible for one task. The reason behind this is simple; if the distinction between the roles is important enough to be graphically modeled, shouldn't you also model the condition that determines which role takes over the task, as well as the difference between the tasks?
The model below does this for a simplified IT support process:
On the other hand, you could argue that the difference between tasks and roles is not important enough to justify the added complexity in the graphical model:
Then, you could specify the distinction in the textual description of the task and/or in the configuration of the task in the execution environment (e.g. BPX engine). You could also use a sub process element to 'hide' the details in a child process.
Note that some BPMN modeling software providers use vendor-specific BPMN extension elements (like Signavio's additional participant element) for modeling multi-participant task execution. However, these elements are typically useful in more complex responsibility assignment scenarios and not in the simple scenario we discuss here.