The logical first step to understanding what BPMN is, and why we need it is to understand what it stands for. BPMN is an acronym for Business Process Model and Notation, which has been maintained by the Object Management Group as a standard since 2005. Knowing what the acronym means, let’s dive into why we use it.
What Does it Look Like?
What is BPMN
BPMN or Business Process Model and Notation is essentially a structured and formalised method of creating flowcharts & diagrams that represent a business process from start to finish.
There are four categories (with their own subcategories)
- Flow Objects
Events represent something that ‘happens’ in a process, e.g. an order is placed, an hour passes from x, an email is received etc. The event can occur at the start, end, or during a process.
An activity is quite simply ‘work’ that a business process does, which are then split into further categories of tasks and sub-processes.
Gateways are used to control the process flow, for example a boolean gateway in an ecommerce process could be ‘is the item in stock’ yes > continues the order fulfilment & dispatch process; no would trigger a different process where the order fulfilment would not continue to dispatch, but take an alternative route.
- Connecting Objects
- Sequence flow
Sequence flows are used to connect and depict the process flow between objects within a swim lane.
- Message flow
Message flows are used to connect processes / objects between two entities that are able to send and receive them.
Association is used to show the flow of information between entities.
- Data association
Data association is used to link artefacts with other BPMN elements.
- Sequence flow
A pool will contain multiple swimlanes, with different pools possible representing different components or departments.
A swimlane is an area inside a pool that represents specific activities & flows, and the roles & responsibilities inside a pool.
Groups do not affect any process flow, but are used to categorise and unite flow objects and group them together.
Annotations can be used to describe and / or add notes to the diagram.
Why Do We Need BPMN?
Whilst natural language is fantastic (after all it’s what sets us apart from animals…that and they don’t appreciate a good cup of tea) explaining concepts, strategy, communicating, and many, many other things; it does have one terrible drawback: it’s ability to be wildly ambiguous.
If there is one thing that precision, tightly defined and architected systems do not need, it is ambiguity. Enter BPMN. The most successful software projects that I have been involved with, have provided requirements as a combination of comprehensive documentation that provide the rich context for the process flows and the architecture of the system(s), and the precision that a catalogue of BPMN diagrams can provide.
BPMN is able to effectively serve two very distinct and incredibly useful functions with the same diagrams.
Clarity of Process Flows
As touched on above, BPMN diagrams provide a concise and consistent method to describe system data flows, decision / logic gates, relationships between departments / components / actors, and processes.
How an end to end process e.g. order placed -> order dispatched interacts with different departments and where responsibilities are held, by dividing processes into swimlanes.
Easy to Digest Overviews
Have you ever been in a C-suite meeting, and in order to easily demonstrate the latest set of components being integrated into the current ecosystem, whipped out an 80 page business requirement document? No? Neither have I. I can’t imagine anyone has, well not more than once. BPMN diagrams are far more easily digestible, for those who don’t have the time or inclination to consume detail heavy documentation.
In a nutshell Business Process Modelling and Notation is a technical execution of the ‘a picture tells a thousand words’ mantra.
Who Uses It?
There isn’t really one specific profession that owns BPMN, but some of the professions that are / expected to be highly proficient in BPMN are:
- Business / Systems / Process Analysts
- Business / Enterprise Architects
- Analyst Programmers
- Consultants & 3rd parties
When Would I Use It?
BPMN diagrams should be used when defining business or system processes where absolute clarity is required. Typically when re-platforming, defining a greenfield project, or taking stock of what processes and system exist within the business architecture.
This article is really only scratching the surface of BPMN as a discipline, and to be honest with myself, it doesn’t even scratch the surface. The discipline is so deep and varied that a single article could not do it justice, for this reason I have posted a resources section below, where you can find a wealth of detail about BPMN.