When designing processes, you may encounter a section that doesn't appear deterministic or sequential. For example, there may be alternative ways to handle a negotiation process, as long as they lead to a deal. Scripting conversations can turn awkward and lead to a pointlessly complicated flow. Despite the size of your modelling surface, the number of branches and alternatives can quickly escalate without reaching a conclusion.
Other times, the pain point manifests as a need for arrows to draw loops .
For example, reviewing a contract during a negotiation process can turn into an endless sequence of Document Edited and Document Commented, in an ever-developing sequence, unless we realize that Draft Contract Approved or sometimes Submission Deadline Reached is the event that terminates the loop and allows moving to the next stage.
When you notice that your modelling flow is spiralling down a rabbit hole of back-and-forth and your model is consuming modelling space without getting any closer to the goal, you might try something different.
Acknowledge that some systems are intrinsically non-sequential. Events may happen in any order and at different levels of abstraction.
Mark the system where the flow is happening as "conversational" with a distinctive sign (a comic balloon, or a whirlwind arrow), and arrange the produced events vertically.
Flip the narrative backward. Ask yourselves, "Which events can terminate this loop?"
Play with different levels of abstraction to find events that are more immediately connected with downstream
Policies
. For example,
Typo Corrected
shouldn't trigger any significant action, while
Discount Changed
or
Total Amount Changed
should trigger a review. A termination condition like
Draft Contract Approved
should definitely trigger something like
Official Signoff Policy
.

The "conversational" marker signals an implicit loop. Some part of the process will stay on this system until a specific termination condition is met.
Conversational systems play well with #Reverse-narrative to highlight the exit condition from the loop.
>