Getting it right · 11 · 6 min
How precise should a model be?
The commonest real-world failure is not a wrong symbol. It is modelling at the wrong level for the audience.
BPMN defines conformance classes, subsets a tool may support. In practice they map onto three working levels:
| Level | Audience | Uses | Answers |
|---|---|---|---|
| Descriptive | Business, workshops | Pools, lanes, tasks, sub-processes, start/end events, XOR and AND gateways, data objects | What do we do, and in what order? |
| Analytic | Analysts, improvement work | Adds most intermediate and boundary events, event-based and inclusive gateways, multi-instance | What can go wrong, and what happens then? |
| Executable | Engineering | Adds data mappings, expressions, service task implementations, error and escalation codes | How does the engine run this? |
Choosing a level is not a style preference. It follows from who is going to read the diagram and what they need to decide.
Reading an unfamiliar diagram well
- Count the pools, how many participants?
- Find the start events, what triggers this, and how many ways in?
- Follow the happy path to an end event, ignoring branches.
- Now take each gateway in turn and read the alternatives.
- Finally read the boundary events; these are the exceptions, and where the real requirements hide.
After this module you can
- Choose between descriptive, analytic and executable levels
- Read an unfamiliar diagram in a deliberate order