BPMN 2.0 Tutorial: Get started with Process Modeling | Camunda
Mục Lục
Online Modeler
Our modeler is an online and desktop tool for designing, discussing and sharing BPMN diagrams with your team.
Try Modeler
Why should I care about BPMN?
Business Process Model and Notation (BPMN) is the global standard for process modeling and one of the most important components of successful Business-IT-Alignment.
More and more organizations are using BPMN and in more and more universities BPMN is taught as a subject. These are the reasons:
Standard
BPMN is not owned by a certain enterprise but by an institution (OMG), which is already established through other world-wide standards, e.g., UML. The standard is supported by many software products; you are less dependent on any particular vendor’s products.
Simplicity
The principle behind BPMN is rather simple which is why you can start working with this notation very quickly.
Power of expression
If necessary, you can describe precisely how a process functions with BPMN. However, this is more difficult than only roughly describing the process. This way of precise modeling is possible, but not mandatory.
Implementation in IT
BPMN has been primarily developed to support technical implementation of processes (“Process Automation”). The more important the IT is in a company, the more helpful the use of BPMN becomes.
A simple flow in BPMN
Let’s begin our BPMN tutorial with a rather simple process diagram:
Hover over orange symbols for explanation
hunger
noticed
acquire
groceries
prepare meal
meal
prepared
eat meal
hunger
satisfied
This diagram shows a simple process triggered by someone being hungry. The result is that someone must shop for groceries and prepare a meal. After that, someone will eat the meal and have his or her hunger satisfied.
Best Practice: Naming ConventionsWhen naming tasks, we try to adhere to the object-oriented design principle of using the [verb] + [object] pattern. We would say “acquire groceries,” for example, not “first take care of shopping for groceries.”
Events refer to something that has already happened regardless of the process (if they are catching events) or as a result of the process (if they are throwing events). For this reason, we use the [object] and make the [verb] passive in voice, so we write “hunger noticed.” BPMN does not require you to model start and end events for a process – you can leave them out – but if you model a start event, you must model an end event for each path. The same is true for end events, which require start events. We always create our models with start and end events for two reasons: first, that way it’s possible to determine the process trigger, and second, you can describe the final status of each path end. We only sometimes abandon this practice with sub-processes. More on this later.
FAQ: Is it obligatory to draw BPMN diagrams horizontally? What if I prefer to draw them vertically?You could always draw your diagrams from top to bottom instead from left to right – the BPMN 2.0 standard does not forbid it. However, we do not recommend it: It is very uncommon, and experience has proven that people tend to understand the process flow better if it is described in the same way as written text (from left to right, at least in the western world).
Examples
Shipment Process
The examples of this BPMN tutorial are based on the contributions we made to the document “BPMN 2.0 by example”, the BPMN tutorial provided by OMG (Download as PDF).
In this diagram you can find the preparing steps a hardware retailer has to fulfill before the ordered goods can actually be shipped to the customer:
Hover over orange symbols for explanation
Hardware Retailer
Logistics Manager
Take out extra
insurance
Clerk
Check if extra
insurance is
necessary
Fill in post label
Decide if
normal post or
special
shipment
Request quotes
from Carriers
Mode of
Delivery
Goods to Ship
Assign Carrier
and prepare
Paperwork
Warehouse Worker
Package Goods
Move package
to picking area
Goods available
for pick
Insurance is included
in carrier services.
always
extra insurance
required
Normal Post
Special Carrier
In this example, we only used one pool and different lanes for the people involved in this process, which automatically means that we blank out the communication between those people: We just assume that they are somehow communicating with each other. If we had a process engine driving this process, that engine would assign user tasks and therefore be responsible for the communication between those people. If we do not have such a process engine, but want to model the communication between the people involved explicitly, we would have to use a collaboration diagram as described in the next chapter.
Pizza Collaboration
This example is about Business-To-Business-Collaboration. Because we want to explicitly model the interaction between a pizza customer and the vendor, we have classified them as “participants”, therefore providing them with dedicated pools:
Hover over orange symbols for explanation
Pizza Customer
Hungry for
Pizza
Select a Pizza
Order Pizza
Pizza received
60 Minutes
Ask for the Pizza
Pay the Pizza
Eat the Pizza
Hunger satisfied
Pizza Vendor
Pizza Chef
Bake the Pizza
Clerk
Order Received
“Where is
my Pizza?”
Calm Customer
Delivery Boy
Receive
Payment
Deliver the
Pizza
Please note that there are no default semantics in this type of modeling, which means you can model collaboration diagrams to show the interaction between business partners, but also zoom into one company, modeling the interaction between different departments, teams or even single workers and software systems in collaboration diagrams. It is totally up to the purpose of the model and therefore a decision the modeler has to make, whether a collaboration diagram with different pools is useful, or whether one should stick to one pool with different lanes, as shown in the previous chapter.
Would you like to try it yourself? Check out the “Order and Deliver Pizza” example diagram with our free online modeler.