# BPMN Modeling Guidelines

**In short:** BPMN modeling guidelines are simple naming and layout rules that keep process models readable. They cover page size, explicit start and end events, question-style XOR gateways, verb-object task names, and separate pools for partners.

## Explanation

BPMN is a notation for drawing business processes. See the article BPMN 2.0 Notation for the basics. The rules below come from Camunda's documentation and from Silver's Method and Style.

**Keep each model small.** Silver's style allows about 10 activities in one process level, so the model fits on one printed page. For more detail, use subprocesses: an activity that hides a smaller process inside it. Also avoid very long sequence flows that span pages or run against the reading direction.

**Show start and end events.** Always draw them explicitly. Readers then see what triggers the process and how it ends. A message start event is labeled "Receive" plus the message name. Events are named with an object plus a verb that describes a state. So an end event states the resulting state, such as "Invoice paid". In Silver's style, end events stand for distinct end states of a process or subprocess.

**Connect subprocess and parent.** After a collapsed subprocess, the parent level uses an XOR gateway. Its gates match the subprocess's end event labels.

**Phrase XOR gateways as questions.** An XOR gateway picks exactly one path. Label it with a question. Label each outgoing flow as an answer to that question. Draw the X symbol inside the gateway, even if your tool allows a blank one.

**Leave some gateways unnamed.** Camunda advises against naming parallel gateways and all joining gateways. Silver's style also leaves AND and event gateways unlabeled, including their gates.

**Name tasks as actions.** Camunda asks for an object and a verb in the infinitive, for example "Check invoice". Silver wants all activities, subprocesses included, labeled as verb-object actions.

**Use pools for participants.** Give each participant its own pool. Name a pool after the process it contains. Order the pools so message flows cross other pools as little as possible.

## Example

An order process starts with the message start event "Receive order". The task "Check stock" leads to an XOR gateway named "Is the item in stock?". The branches are labeled "Yes" and "No". "Yes" leads to the task "Ship order" and the end event "Order shipped". "No" leads to the end event "Order rejected". The two end events show two different end states.

## Trade-offs

Limiting a level to about 10 activities pushes detail into subprocesses. Readers must then open several models to see the full process. Explicit end events and gateway gates add drawing effort. They also keep the model unambiguous.

BPMN diagram: [A small order process with a named start event, a question gateway, labeled answers, and two end states.](https://arc.fuet.ch/diagrams/concepts/modeling-bpmn/bpmn-modeling-tips/diagram-1.bpmn)

## Checks

- Each process level has about 10 activities or fewer, so it fits on one page.
- Every process shows explicit start and end events.
- XOR gateways show the X symbol, carry a question, and have outgoing flows labeled as answers.
- Tasks are named with a verb and an object.
- Parallel and joining gateways carry no name.

## Related

- [BPMN 2.0 Notation](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-2-0-notation-overview.md)
- [BPMN Layout Guideline](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-layout-guideline.md)
- [BPMN 2.0 Model Quality](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-2-0-model-quality.md)
- [BPMN Gateway](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-gateway-semantics.md)
- [BPMN Collaboration Diagram](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-collaboration-diagram.md)
- [BPMN Swimlane (Pool and Lane)](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-swimlane-pool-and-lane.md)
- [Levels of Process Modeling](https://arc.fuet.ch/concepts/modeling-bpmn/levels-of-process-modeling.md)
- [BPMN Gateway Mismatch Antipatterns](https://arc.fuet.ch/concepts/modeling-bpmn/antipatterns-for-process-flows.md)

## Sources

- [Naming BPMN elements | Camunda 8 Docs](https://docs.camunda.io/docs/components/best-practices/modeling/naming-bpmn-elements/) — docs.camunda.io, accessed 2026-11-09
- [Creating readable process models | Camunda 8 Docs](https://docs.camunda.io/docs/components/best-practices/modeling/creating-readable-process-models/) — docs.camunda.io, accessed 2026-11-09
- [BPMN Style Rules](https://www.trisotech.com/bpmn-style-rules/) — trisotech.com, accessed 2026-11-09
