What is BPMN?

The Business Process Modeling Notation (BPMN) is visual modeling language for business analysis applications and specifying enterprise process workflows, which is an open standard notation for graphical flowcharts that is used to define business process workflows. It is popular and intuitive graphic that can be easily understand by all business stakeholders, including business users, business analysts, software developers, and data architects.

BPMN is derived from the synthesis of multiple business modeling notations. Originally published by the Business Process Management Initiative (BPMI) in 2004, BPMN is now being maintained by the OMG since the two organizations merged in 2005. BPMI merged with OMG, the Object Management Group. A BPMN Specification document was released by OMG in February, 2006. Version 2.0 of BPMN was developed in 2010, and the actual version of the specification was released in December 2013. The latest version ( BPMN 2.0.2 ) has been formally published by ISO as the 2013 edition standard: ISO/IEC 19510 .

BPMN allows us to capture and document business processes of an organization in a clear and consistent way that ensures relevant stakeholders, such as, process owners and business users are involved in the process. Thus, the team can response to any issues identified in the processes more effectively. BPMN provide comprehensive and yet rich notations that can easily be understood by both technical and non-technical stakeholders. Business process modeling provides important benefits to companies and organizations such as the ones listed below.

Any process described with BPMN is represented as a number of steps (activities) that are performed consequently or at the same time according to certain business rules. Take a look at the “Place Order online” process which can be used in an on-line store that place orders on the web.

Knowing how the business operates is the first and the most critical step of business process improvement. Business Process Model and Notation (BPMN), provides a graphical representation of business workflows that anyone, from business analyst to stakeholder, can easily understand; aiding in business process analysis and business process improvements.

BPMN has been primarily developed to design and read both simple and complex diagrams of business processes. For that, the BPMN standard classifies the graphic elements by categories: as a result, the elements are easily recognized by the users who work with business process diagrams.

In BPMN, the processes are described by means of diagrams with a series of graphic elements. Such visual presentation makes it easy for the users to understand the logic of a process.

Data is mainly information needed or produced when executing a business process. There are four kinds of data: Data objects, data inputs, data outputs and data stores.

Flow objects are not isolated, but rather connected in order to form a flow. The connectors that connect the flow objects are called connecting objects. There are four kinds of connecting objects: Sequence flows, message flows, associations and data associations.

Flow elements are elements that connect with each other to form business workflows. Flow elements are the primary elements that define the behavior of a process. There are three kinds of flow elements: Events, Activities and Gateways.

BPMN Swimlanes

Swimlane objects (aka: Swimlanes) in BPMN are rectangular boxes that represent participants of a business process. A swimlane may contains flow objects that are performed by that lane (participant), except for black box that must have an empty body (we will talk about black box later on in this tutorial). Swimlanes may be arranged horizontally or vertically. They are semantically the same but just different in representation. For horizontal swimlanes, process flows from left to right, while process in vertical swimlanes flow from top to bottom. Examples of swimlanes include Customer, Account Department, Payment Gateway and Development Team.

There are two kinds of swimlanes: Pools and Lanes.

Pools

Pools represent participants in a business process. It can be a specific entity (e.g. department) or a role (e.g. assistant manager, doctor, student, vendor).

Inside a pool, there are flow elements. They represent the works that the pool needs to perform under the process being modeled. However, there is one kind of pool that has no content at all. It is known as the blackbox pool. Blackbox pool is often used when modeling entities external to the business process. As it is external, its internal flow does not have any impact on the process being modeled, hence can be skipped, producing a blackbox. The following BPD (business process diagram) gives you an example of a blackbox pool. Customer is a blackbox. Since the process focuses on how the chef prepares a meal, what the customer does is none of the process’ interest. The use of
blackbox depends on the perspective the process takes. If you need to model the process of how a customer places an order, the flow of Customer will be modeled, making the Chef pool a blackbox.

Black Box Pool

Lanes

Lanes are sub-partition of pools. For instance, when you have a pool Department, you may have Department Head and General Clerk as lanes. Same as pools, you can use lanes to represent specific entities or roles who are involved in the process.

Inside a pool, there are flow elements. They represent the works that the pool needs to perform under the process being modeled. However, there is one kind of pool that has no content at all. It is known as the blackbox pool. Blackbox pool is often used when modeling entities external to the business process. As it is external, its internal flow does not have any impact on the process being modeled, hence can be skipped, producing a blackbox. The following BPD (business process diagram) gives you an example of a blackbox pool. Customer is a blackbox. Since the process focuses on how the chef prepares a meal, what the customer does is none of the process’ interest. The use of
blackbox depends on the perspective the process takes. If you need to model the process of how a customer places an order, the flow of Customer will be modeled, making the Chef pool a blackbox.

Lanes may contain other lanes to form a nested structure when needed. However, BPMN helps you primarily on modeling business process. Do not try to build nested lanes just for modeling the structure of your organization. If you want to model the organization structure, use the organization chart instead.

Activities

Activities are works that are performed within a business process. They are shown as rounded-rectangle, with names describing the works to perform.

There are two types of activities: Task and Sub-Process. When we want to model an atomic work which cannot be further broken down or makes no sense to do so, we use a task.

Activity Tasks

On the other hand, when we want to model a non-atomic, complex work that can be elaborated into smaller works, we use a sub-process. A sub-process can be broken down into another level of details. For this reason, a sub-process usually contains another BPD modeling its details.

Activity Sub Processes

Note that the selection of task or sub-process is not just about how complex a work can be but also about how detailed you need to know about the work. If you are a customer, you probably don’t want to know how your payment is being processed. However, if you are the shop, how to process customer’s payment becomes important.

Events

Events are something that happen and may have impacts on a business process. An event can be either external or internal. As long as they can influence the process being modeled, they should be modeled. Events are shown as circles. In some cases, there are icons within the circles to represent the type of the event trigger.

There are three types of events: Start Event, Intermediate Event and End Event. Trigger can be specified for each of them to indicate under what condition an event is being triggered.

Every process should have a start event to show the beginning of business process. It allows readers to locate in BPD where the process begin. Moreover, end event is used to indicate where a business process completes and intermediate event is responsible for driving business flow based on the event it specifies. Intermediate event can be attached to an activity for modeling an event that may happen DURING the execution of that activity and it may also be connected by a connecting object for modeling an event that may happen AFTER the execution of the flow element before. We will talk in more detail later on in this tutorial.

Take a look at the following example. It would give you some ideas on how events work. Basically, the diagram is saying when we receive an order, we begin to process it. If and only if there is no credit limit remained, we check on the problem. Process ends when the order has been processed or the problem has been identified.

BPMN Event Example

Gateways

Gateways are responsible for controlling how a business process flows. They are shown as diamond shapes. In a process, the work to do and the output may vary under different external or internal conditions. For example, a discount will only be offered to a VIP buyer but not to anyone else. Gateway is where conditions are evaluated and the decision is made.

Here are some typical types of gateways:

Data-Based Exclusive Gateway, also known as exclusive gateway is used to control process flow based on given process data. Each outgoing flow which is connected from gateway corresponds to a condition. The flow with satisfied condition is traversed. Only one flow will be traversed.

Data Based Exclusive Gateway

Inclusive Gateway can be used to create parallel paths. The conditions of all outgoing flow are evaluated. All flows with positive result will be traversed. Therefore, it may result in executing multiple flows if multiple conditions are satisfied.

Inclusive Gateway

Parallel Gateway is used to model the execution of parallel flows without the need of checking any conditions. In other words, all outgoing flows must be executed at the same time.

BPMN Parallel Gateway

Event-Based Gateway is used to model alternative paths that are based on events. For example, to wait for someone’s reply, either Yes or No is needed to determine the path to traverse. The gateway is therefore followed by two connected intermediate events with message triggers, with one representing Yes message and another one for No. When any ONE of the events is triggered, then the flow that follows that event will be taken. All the other events and their followed flows will no longer be valid.

BPMN Event Based Gateway

Sequence Flows

Sequence flow is used to connect flow elements. It is shown in solid line with an arrowhead. It shows the order of flow elements.

BPMN Sequence Flow

You can only use sequence flow to connect flow elements within the same pool: either within the same pool/lane, or across lanes in the same pool. If you want to connect elements across pools, you cannot use sequence flow but message flow instead.

Message Flows

In BPMN, the communication between pools is achieved by the use of message. Message flow is used to show the flow of messages between pools or flow elements between pools. A message flow is shown in dotted line with an arrow head. Some examples of message that flows between pools: fax, telephone, email, letter, notice, command.

BPMN Message Flow

You can only use sequence flow to connect flow elements within the same pool: either within the same pool/lane, or across lanes in the same pool. If you want to connect elements across pools, you cannot use sequence flow but message flow instead.

Data

Very often, when executing a business process, there may be data produced, either during or after the end of the process. For example, a successful execution of the Place Order task will produce data like purchase order, invoice, receipt, etc. In BPMN, data can be modeled by several types of ‘data’ objects such as data objects, data inputs, data outputs and data stores. There is a well-defined way to manage the states of data, like instantiation, completed, deleted, etc.

BPMN Data

Groups

A group is a box with dotted line border, providing modelers a mechanism to group shapes by different categories.

BPMN Group

Text Annotations

A text annotation can be used to add extra detail to flow objects in a BPD. It does not affect the flow but gives details about objects within a flow.

BPMN Text Annotation

BPMN – An Example

The True Aqua Distilled Water Company is a young distilled water supplier in the city. They sell distilled water for business and for home use. Now, the True Aqua Distilled Water Company wants to increase their market share from 5% to 10% in the next 12-18 months. To reach this objective, they are trying to find ways to increase operating efficiency and to fulfill higher level of customers’ satisfaction.

As a result, the True Aqua Distilled Water Company has decided to improve their distilled water ordering process. Now, you are a business analyst who are responsible for this mission. After meeting with the True Aqua Distilled Water Company, you have collected the following information about the ordering process. Let’s take a look.

The figure below is the Business Proces Diagram of the distilled water delivering process of The True Aqua Distilled Water Company. BPMN Business Process Diagram

According to the diagram, the customers can either call the ordering hotline or send us Email to order distilled water. Currently, 90% of the orders come from phone calls, while 10% orders are placed by Email. The customer service assistant who receives the order will check whether the customer is an existing customer or a new one. If the customer has never placed order before, the customer service assistant will create a customer account for him or her prior to processing the order.

The delivery of distilled water is carried out once a week on every Wednesday. So, on every Wednesday morning, the customer service assistant will forward orders to the Logistics Department for delivery. Once the manager in the Logistics Department has received the orders, he will arrange the delivery by assigning workers to manage different orders, printing and posting the schedule. The workers receive the calls and deliver water to the customer accordingly.