Skip to content

Capturing Business Behavior via Process Modeling

A process model is a diagram of how work flows through a business. Process models serve different purposes, so choosing the level of detail matters.

Descriptive models. A descriptive model gives a high-level view of a process. Its main job is to communicate the process to stakeholders. This is the business-level model.

Analytical models. An analytical model adds detail. It often records time, cost and resources. With that data, you can look for inefficiencies in the process. It is more complex than a descriptive model.

Executable models. BPMN (Business Process Model and Notation) is one notation for process models. See the article “BPMN 2.0 Notation”. A BPMN model is documentation that people can read. It is also source code that machines can interpret. One artifact serves both roles, so it links the business level and the executable level.

Behind each BPMN diagram sits an XML document. It holds what a workflow engine needs to execute the process. Zeebe is one such engine.

For more on the levels, see “Levels of Process Modeling”.

A company models its order handling. First, it draws a short descriptive model: receive order, check stock, ship. Business stakeholders read it and confirm it matches how work is done. Later, the team adds time, cost and staff per step. This analytical model shows the stock check is the slowest step. Finally, the team keeps the same BPMN model as XML, which a workflow engine can run.

A descriptive model is easy to read, but it lacks the data needed to find inefficiencies. An analytical model reveals more, but it is more complex. A BPMN model that serves as both documentation and source keeps the business and executable levels in one artifact. That one artifact then has to work for readers and for machines.

A small order process: the kind of high-level model that stakeholders review and that can later gain detail.

Diagram source
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" targetNamespace="http://example.org/bpmn">
<process id="orderHandling" isExecutable="false">
<startEvent id="start" name="Order received">
<outgoing>f1</outgoing>
</startEvent>
<task id="check" name="Check stock">
<incoming>f1</incoming>
<outgoing>f2</outgoing>
</task>
<task id="ship" name="Ship order">
<incoming>f2</incoming>
<outgoing>f3</outgoing>
</task>
<endEvent id="end" name="Order shipped">
<incoming>f3</incoming>
</endEvent>
<sequenceFlow id="f1" sourceRef="start" targetRef="check" />
<sequenceFlow id="f2" sourceRef="check" targetRef="ship" />
<sequenceFlow id="f3" sourceRef="ship" targetRef="end" />
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_orderHandling">
<bpmndi:BPMNPlane id="BPMNPlane_orderHandling" bpmnElement="orderHandling">
<bpmndi:BPMNShape id="BPMNShape_start" bpmnElement="start">
<dc:Bounds x="80" y="102" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="68" y="143" width="60" height="28" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_check" bpmnElement="check">
<dc:Bounds x="216" y="80" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_ship" bpmnElement="ship">
<dc:Bounds x="416" y="80" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_end" bpmnElement="end">
<dc:Bounds x="616" y="102" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="608" y="143" width="53" height="28" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_f1" bpmnElement="f1">
<di:waypoint x="116" y="120" />
<di:waypoint x="216" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_f2" bpmnElement="f2">
<di:waypoint x="316" y="120" />
<di:waypoint x="416" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_f3" bpmnElement="f3">
<di:waypoint x="516" y="120" />
<di:waypoint x="616" y="120" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
  • Each process model states whether it is a high-level descriptive model for stakeholders or a more detailed analytical model.
  • Analytical process models include data such as time, cost and resources where inefficiencies are to be analyzed.
  • Where a process is meant to be executed, the BPMN model and its XML are identified as the executable level.