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:

LevelAudienceUsesAnswers
DescriptiveBusiness, workshopsPools, lanes, tasks, sub-processes, start/end events, XOR and AND gateways, data objectsWhat do we do, and in what order?
AnalyticAnalysts, improvement workAdds most intermediate and boundary events, event-based and inclusive gateways, multi-instanceWhat can go wrong, and what happens then?
ExecutableEngineeringAdds data mappings, expressions, service task implementations, error and escalation codesHow 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

  1. Count the pools, how many participants?
  2. Find the start events, what triggers this, and how many ways in?
  3. Follow the happy path to an end event, ignoring branches.
  4. Now take each gateway in turn and read the alternatives.
  5. 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