The term “process” has different meanings depending on the context, confusing BPMN beginners. This brief note should help.
1. BPMN process is repeatable
E.g. “Company closure” is not a process because it may be executed only once. (Of course if you do not provide liquidation services for others. )
2 . BPMN process is predictable
A process may take different paths depending on data or events, it may run in parallel etc., but it is assumed that we know all the gateways in advance - not at the execution but at design time.
This is a strong assumption that doesn’t match everything we call processes in everyday life. For example it’s hardly possible to predict the route of patient’s treatment at the hospital from his admission to the emergency room. The same applies to a case in court: the opposing party may submit a document that will turn the course of the process by 180 degrees from what we’ve planned in advance.
Such unpredictable scenarios should be treated as projects or cases depending on the context.
3 . BPMN process is non-trivial
If a it can’t be decomposed into tasks then it’s not a process. A process is a set of related tasks and/or sub-processes i.e. it’s not atomic.
A subprocess is non-atomic too. The difference between a process and a subprocess is that a process is associated with external events (it responds to an event at start and initiates an event at completion) whle a subprocess is triggered not by an external event but simply by a control flow in the parent process or subprocess.
4 . BPMN process is concrete
A BPMN process has a well-defined start event, a predetermined flow of actions and defined set of completion states.
“Budget process”, by contrast, isn’t a BPMN process. From BPMN perspective it’s a set of related processes (e.g. “Budget approval”, “Budget execution reporting”) plus tasks belonging to processes from other domains like “Check budget availability” in the “Purchasing” process.
Similarly, “Promotion process” isn’t a process but a family of related processes in terms of BPMN. “Manage something” probably stands for a process family, too.
5 . BPMN process is discrete
If there is a flow in your process that returns it to the very beginning e.g. after an approval task then consider an altenative option - to end the process with a negative status having in mind that another instance may be started any time.
E.g. if a hiring process didn’t succeed then it’s better to end it with appropriate status than to loop. It can be started over again, probably with different input (with a more generous salary offered).
It’s better in terms of monitoring and analysis: we honestly admit that the process is not always successful. The process duration data becomes more trustable, too.
6. BPMN process inputs and outputs are primarily events
The common view of a process is something processing inputs into outputs - here inputs and outputs are resources.
BPMN processes are different: they respond to inputs and generates outputs, i.e. inputs and outputs are events. I’ts also possible to model input and output resources in BPMN but these are optional while start and end events are obligatory.
Process start is a handler of some external event, process end initiates an event in the external environment. A particular but quite common case is “none start” (free will) event and “none end” event that produces no effect to the environment.
7. BPMN process is the story of an object, not of a subject
Do not attempt to use BPMN for things like “employee’s working day”.
The right approach is to model processes like “Client’s order end-to-end”.
8. BPMN process is not completed until all the work is done
BPMN process starts when someone is willing to initiate a certain sequence of activities or when an external event (e.g. a client’s order arrived) triggers it and it doesn’t end until the very end, i.e. while there are things to do (e.g. a customers service called a buyer after shipment) .
“Here the sales process ends and accounting process begins” is a bad idea - it’s a single cross-functional process, not two separate ones.
9. BPMN process is customer-oriented
Treat a process as end-to-end, ruled not by business units boundaries but by the customer’s view (external customer’s, ideally): start from the customer’s request and continue until valueable result is delivered.
Switching from traditional “inside-out” view isn’t easy so use the following method: instead of modeling the saless process consider the process of buying by your customer; the process of submitting a complaint and obtaining response instead of internal complaint processing and so on. Find out what is the optimal process from the customer’s perspective.
Internal consideration’s should be taken into account at some stage of process design too but it’s better to start from the customer’s view of the process.
10. BPMN process is macro-, not micromanagement
It’s possible to use BPMN for detailed regulation of a single workplace activities but it’s not why we love it. If employees are not trained then it’s a problem indeed but it’s a functional rather than process problem. And there are many solutions for it apart from BPMN.
The process problem is this: employees are functionally competent (i.e. are able to do their jobs) but the whole process is complicated as it requires precise coordination of efforts of business units separated by the hierarchy and geographically. The responsibility for the handoffs and for the end result is unclear, resulting in poor overall performance.
BPMN is the tool of choise for this kind of problems because it makes the interaction between participants explicit and equally clear for all stakeholders - top management, business units and “process engineers” (including IT) responsible for the process implementation.