Within human-centric processes one of the most practiced use cases is that of the 4-eyes-principle for approving e.g. a credit application, a technical paper for a medical device, or an updated instruction of a quality management handbook.
Often the two persons are members of the same group. So the first user task can be adressed to a organisational unit. But how can I model the the receiving mechanismen for the second user task?
Here are some possibilities how to set a receiver for the second task being not the same user who have done the first one:
The first task is placed in the lane for the organisational unit. The user can take the task from the intray of his unit. After finishing his work he can reject or approve the case. Afterwards the following business rule task place in the same lane determines a user of the next task and forwards to it.
Risk: what if the user of the first task is a permanent substitute of the seconde one and therefore has access to the personal intray of the second one? The Workflow Engine should avoid this.
The user of the first task finishes his work by selecting “approve …”. Afterwards he gets a list of users as approver for the next task without himself in the list.
The second approval task appears again the intray of the organisational unit. So the user who has finished the first approval could take the second approval task as well. After trying this the Workflow Engine has to check whether first and second user is the same and has to give a warning to the user and to put it back into the intray.
There may be further solutions as well. Our suggestion for BPMN 2.1 is to flag the second task with “4 eye principle” so the vendor can handle the behavior in his manner. The assumption is then that the predecessor task is the related one. For more flexibility it may be possible to set the corresponding tasks in relation.
Another possibility could be to differentiate the flow to the second activity to give the need for the “4-eyes-principle” with.
Our idea is to combine the functionality of selecting the next receiver of a list by the user of the first task with the “4-eyes-flag” on the second task. Then the selecting user will get a list of users without himself.