What is an elegant way to model multiple "return points" to previous subprocesses?

Hey!

I’m modeling this large process which contains a 4 sequential steps (subprocesses) that must be done in order. But this subprocesses are government aprovements that may be rejected or needs fixing from previous steps.

So lets say we have 4 steps:

  • Step A
  • Step B
  • Step C
  • Step D

I dont know if it should be an escalation, a message, an exception, etc but if a rejection happens in Step B, the step A must be done again. If it follows the happy path, it will go through the next step.

The same happens in Step C, but it could return to either Step A or Step B.
Also the same to Step D, but it could return to Step C, B or A.

I’m having trouble modeling this “return” points without messing with a lot of arrows everywhere. I’m also not sure if I should have multiple escalations/exceptions/messages and go from there.

Any insights or recommendations would be really apreciated. Thanks!

Which type of event to use really comes down to how you view these loop back cases. If you consider them an error, use an error. If it’s an exception and user driven, an escalation seems appropriate. So you can choose either.

Have you considered the use of link events to deal with the connector “mess”? In the image below, I’ve used error boundaries reacting to some event inside the subprocess, all leading to a gateway that goes into the right link event in order to move back. My assumption was, that if such a situation arises, you would know which part needs to be circled back to. It’s not particularly pretty of course, but it does get rid of the connectors crossing everywhere.

1 Like

Thanks for the clarifying!

I haven’t. Actually I have never heard of them before, but it looks exactly what I need. I think it’s pretty elegant actually, it represents clearly the business rule that a given subprocess may generate an event that then sends the process back to another point.

Thanks!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.