Both are exclusive (XOR) decisions in a BPD; they differ in where the condition lives:
- Explicit decision gateway: a diamond (exclusive gateway) with one condition per outgoing flow and a default flow - the decision is visible in the diagram, documented, and evaluated in order (first true condition wins). Preferred for anything a business reader should see.
- Implicit decision: an activity with several outgoing sequence flows that carry conditions (no gateway symbol). BPMN allows conditional flows directly from an activity; BPM evaluates them like a gateway (first matching flow, default flow if marked). Compact, but the decision is hidden in the flow properties and easy to miss; also the semantics differ for parallel behaviour: several unconditioned flows from an activity start all of them (implicit parallel split), while a gateway makes the intent explicit.
Explicit: [Check credit] -> <X amount > 10000 ?> --yes--> [Manager approval]
--no (default)--> [Auto approve]
Implicit: [Check credit] --[tw.local.amount > 10000]--> [Manager approval]
[Check credit] --[default]--> [Auto approve] (conditions on the flows themselves)Interview-grade extras: the exclusive gateway's converging form merges paths without waiting; the event-based gateway decides by which event arrives first (message vs timer); the inclusive gateway activates every true branch and its join waits for the activated ones (questions 385 / 386); the parallel gateway has no conditions at all. Modelling guideline used in most standards: gateways for decisions and merges, conditional flows only for trivial "skip if" cases, always a default flow so that no token can die on a false condition (a token with no true outgoing condition ends the path silently - a classic stuck-instance cause).
References