Common BPMN Mistakes

Ten modeling mistakes that break BPMN diagrams. Three of them will deadlock your process. All of them are easy to avoid once you know what to look for.

These mistakes come from reviewing thousands of student diagrams across our Udemy and Coursera courses. They are ranked by severity — the top three can make a process engine reject your diagram or produce wrong results.

1

Deadlock: parallel split with exclusive join

Critical

You split the flow with a parallel gateway (+) but merge it with an exclusive gateway (X). The exclusive join only waits for one token, so the process continues prematurely. The other tokens are left orphaned.

Fix: Always match gateway types. Parallel split → parallel join. Exclusive split → exclusive join.

2

Multimerge: exclusive split with parallel join

Critical

You split with an exclusive gateway (X) but join with a parallel gateway (+). Only one path fires, but the parallel join waits for all incoming tokens. The process waits forever.

Fix: Match your gateways. If only one path fires (exclusive split), use an exclusive join.

3

Missing default flow on exclusive gateway

Critical

An exclusive gateway has conditions on each outgoing path, but none of them match. The process gets stuck because there is no path to follow.

Fix: Always add a default flow (shown with a slash mark) on exclusive and inclusive gateways. The default fires when no other condition is true.

4

Sequence flows crossing pool boundaries

High

You draw a sequence flow (solid arrow) from a task in one pool to a task in another pool. This violates the BPMN specification — pools are independent processes.

Fix: Use message flows (dashed arrows) to communicate between pools. Sequence flows stay within a single pool.

5

No end event

High

The process has paths that trail off without reaching an end event. Visually confusing and technically invalid — process engines will reject it.

Fix: Every path must reach an end event. Use multiple end events if the process has different outcomes (e.g., approved, rejected, cancelled).

6

Using terminate end event instead of regular end event

High

A terminate end event kills all remaining tokens in the entire process — including parallel paths that are still running. If you just want to end one path, use a regular end event.

Fix: Use terminate end events only when you intentionally want to abort the entire process. For normal endings, use regular end events.

7

Too much detail

Medium

The diagram has 50+ tasks, nested gateways everywhere, and is unreadable. Nobody will maintain it, nobody will read it.

Fix: Keep the main diagram at 10-20 tasks. Use collapsed sub-processes for complex steps. You can always drill into a sub-process for details.

8

Vague task names

Medium

Tasks named "Process", "Handle", "Check", "Do stuff". These tell you nothing about what actually happens.

Fix: Use verb-noun format: "Review application", "Send confirmation email", "Calculate shipping cost". Specific names make the diagram self-documenting.

9

Modeling the ideal instead of reality

Medium

The diagram shows how the process should work, not how it actually works. This makes it useless for improvement because you are improving a fiction.

Fix: Always map the current state (as-is) first. Then create a separate to-be diagram for the improved version.

10

Lanes for systems instead of roles

Low

Lanes labeled "SAP", "Salesforce", "Email". Lanes represent roles or departments — who does the work, not which tool they use.

Fix: Label lanes with roles: "Sales rep", "HR manager", "Warehouse team". If you need to show which system is involved, use annotations or data store elements.

Prevention checklist

Before finalizing any BPMN diagram, run through this:

  • Every split gateway has a matching join of the same type
  • Every exclusive/inclusive gateway has a default flow
  • Every path reaches an end event
  • No sequence flows cross pool boundaries
  • Tasks use verb-noun names
  • The diagram fits on one screen (use sub-processes if not)
  • Lanes represent roles, not systems
  • The diagram reflects how the process actually works today

Keep learning

Frequently asked questions

What is the most common BPMN mistake?

Mismatching gateway types — using a parallel split with an exclusive join (or vice versa). This causes deadlocks or ghost tokens, and is the #1 error we see in student diagrams.

What is a deadlock in BPMN?

A deadlock occurs when a process reaches a point where it cannot continue. The most common cause: a parallel join waits for tokens that will never arrive because the matching split was exclusive (only one path fired).

What are ghost tokens?

Ghost tokens are orphaned tokens left behind when a parallel split creates multiple tokens but the join is exclusive (only consumes one). The remaining tokens continue running uncontrolled through the process.

Will a process engine catch these mistakes?

Some — most engines validate basic structural rules (missing end events, sequence flows crossing pools). But logical errors like gateway mismatches often only surface at runtime when the process behaves unexpectedly.