Hi all,
I have a question with regards to the gateway and would like to verify with you.
Please refer to the attachment.
Business process rules -
- When performing a credit assessment check, the consultant is required to perform all three activities checking regardless of the sequence order, hence, a parallel gateway is used to split the paths.
- If either one of the three activities checks is True, the process will pass through inclusive OR gateway to the next activity (i.e., determine assessment)
Question 1 - May I know the two gateways I used for the modelling are appropriate based on the requirements?
Question 2 - Someone told me that under split and merge modelling in BPMN rule, both of the gateways have to be similar, meaning, in this example, if the split gateway started out using the parallel gateway, the merging of the logical path must end with a similar gateway, in this case, a parallel gateway (instead of an inclusive OR gateway). Is this correct? I strongly disagree. please let me know.
Regards,
Anning.
Hi Anning,
regarding question 1: I believe the only suitable solution is to have an AND gateway at the split and a complex gateway at the merge. All other combinations result in undesired process behavior.
regarding question 2: I'm not sure if it actually against the modeling conventions (I think so, but am not sure), however the common practice is to merge a split with the same gateway that started the split. This to prevent undesired process behavior. For example, in your example the Determine Assssement would be executed three times (the desirable number of course is 1 time, not 3 times).
regards,
Caspar
Hello,
I would confirm, that you need to join the paths with the same Gateway type as you split it. Otherwise it logically does not make sense. You are trying to express, that it does not matter which of the paths produces a positive result, so the actor may perform any of the three paths, and as soon as he encounters a successful result he can save the work of performing the other checks he did not do until then. So in this case I would do the split with an OR gateway and also the join will be done with the OR gateway. The joining OR gateway will not wait for process tokens on paths you did not enter.
Practically, if it is the same actor performing those checks, I would perform them all in one step and refrain from differentiating them, but I assume your question was more concerned with the gateway logic. The problem here is, that a splitting OR gateway should have conditions on the outgoing paths showing when this path shall be taken, however in your case this depends on a result that is unknown at the time the gateway is passed. So this is a strong argument why all 3 checks constitute a single complex decision activity by the actor.
If you do the split with an AND gateway you express that all checks must be performed practically in parallel. It could be different actors performing them at the same time. Then you have 3 process tokens and there must be a point where you wait for those to be synchronized to continue your path. The joining OR gateway expresses that all active incoming paths must be synchronized at the gateway. So all you achieve is that you wait for all 3 checks to be completed, because there is a process token on each path due to the AND gateway. That does not help the reader, you confuse him by using different gateway types, which is why this is bad style and by convention should be considered wrong.
What is lacking in your process is showing the decision what happens, if all checks are negative, so the joining AND gateway should be followed by a splitting XOR gateway for those two alternatives. Otherwise all your complex checking was in vain.