Introduction to BPMN

What is a process and process modeling?

Let’s define these terms in simple words.

A process is the work someone (or something) do to accomplish an objective.

Process modeling means documenting the current state of a process to describe for example, how it starts, when it’s complete, and how a process get from A to B.

The importance of process modeling

How do you organize to get the work done?
Which are the steps?
Who should do them?


All organizations need to know the answers of these questions in order to UNDERSTAND how their business actually works and IMPROVE how things are done.

However, until processes are documented, it’s impossible to UNDERSTAND them, IMPROVE them, and CONTROL them.


PROCESS MODELING SHOULD BE THE FIRST STEP TO UNDERSTAND AND BEST ORGANIZE THE WAY A BUSINESS WORKS.


Models and communication

So models are a COMMUNICATION tool since they help an organization to understand its processes.

Process modeling might be an easy task in a small organization, but think about a large organization:

noun_48891_300
An organization with thousands of employees.
noun_35519_300
An organization spread across many locations around the world.
noun_10085_300
An organization that has relationships and/or dependencies with many suppliers, partners and customers.


It can easily become a mess. Interpretations of the model are hardly the same because people no longer have the same context or the same cultural references, leaving the interpretation of the model to the reader.

Obviously, this is a problem. The elements used to describe business processes must COMMUNICATE the MEANING intended by the modeler.

And that’s where BPMN comes in.


B USINESS

P ROCESS

M ODELING

N OTATION


What is BPMN?

The Business Process Modeling Notation provides a STANDARD way of representing business processes.

This is done by specifying the sequence of activities that make up the process and its relating information in basically two levels of detail:

noun_90571_300
Simple
Diagrams with activities, some decisions and important events. If needed, more information can be added, like more specific types of activities and events, roles, etc.
noun_90573_300
Executable
Diagrams that contain sufficient detail and information that enables the execution of the model by software (Business Process Management Suites).


In some environments, having very detailed models with precise instructions of how the work should happen, allows to use them to drive the work itself by importing them in tools that can execute those instructions. 

However, the focus of this book is to show how the Business Process Modeling Notation is used for representing business processes for "high-level" analysis purposes.

TimelineBPMN

History of BPMN

In August 2001, 35 organizations formed the BPMI (Business Process Management Institute) Notation Working Group and BPMI.org. Their objective was to create a single notation for process modeling, since at that time, there were many notations and tools for that purpose. They published the first version of BPMN in 2004.

With the growing popularity of BPMN, BPMI.org was acquired by OMG (Object Management Group), home of the popular UML (Unified Modeling Language). 

In 2006, the process of formally adopt BMPN as an OMG standard finished. Two years later, a minor update was issued (BPMN 1.1), and a year later, another version with some corrections (BPMN 1.2).

The notation from BPMN 1.2 to BPMN 2.0 didn’t change a lot. The two main motivations for BPMN 2.0 were to provide an official interchange format based on XML (eXtensible Markup Language) for process models and to make those models executable in a process engine.

After two beta versions, BPMN 2.0 was completed in 2010 and released to the public in January 2011.

More about modeling

One common mistake is assuming that there’s always only ONE correct model.

When you make a model, you're always choosing what to include and what to exclude. You may want to show different levels of detail or focus on certain areas, but generally, there’s often a tendency to capture more detail than necessary.

For example, consider how to model the scheduling of an appointment for a medical checkup. The first step could be request for the patient information, then check for an available date, and finally, register the appointment. But what if we like to schedule more than one appointment, or if there’s no availability, and at the end, should we print or email a confirmation, or both?

BPMN is flexible, meaning it can handle many situations and requirements. So instead of worrying about developing the correct model, you should be worrying about using the notation in a correct way.


WE ALWAYS NEED TO THINK ABOUT WHO WILL USE THE MODEL AND FOR WHAT PURPOSE.


 



 

Good BPMN models

To create a good BPMN model, it must be:

noun_16259_300
Valid
The model should follow the rules of the BPMN specification.
noun_30721_300
Accurate
The model should reflect the actual process without any erroneous or biased view.
noun_30176_300
Clear
The model should be unambiguous and easy to understand. It should not depend on any other documentation.
noun_19501_300
Complete
The model should be as simple as possible, but it should indicate how the process starts, its significant events and its end states.


A good BPMN model DOES NOT show:

noun_25092_300
Why
A process are performed.
noun_59623_300
When
A process is performed.
noun_80937_300
How
The steps of a process are performed.

Basic elements and diagrams

BPMN uses a set of graphical elements to describe a process. Together, and refined with attributes and properties, these elements create diagrams for organizations of all sizes and domains.

However, there’s only four key elements in BPMN:

basic_activity
Activity
The steps to perform a process.
basic_gateway
Gateway
Used to control the flow in a process.
basic_event
Event
Something that happens in a process.
basic_flow
Flow
Used to show the order of the activities of the process.


On a higher level, BPMN allows yo to model four different aspects of business process in four diagrams:

basic_bpd
Business Process
Focuses on the activities and events  of a process.

basic_collaboration
Collaboration
Focuses on the sequence of activities, events and messages between participants of a process.

basic_conversation
Conversation
Focuses on the message exchange between participants of a process.

basic_choreography
Choreography
Focuses on the interactions between participants.


Tokens

The concept of a token is used to represent the behavior of a model. It’s simple, you just imagine a token moving along the diagram, executing the process along its way from start to end.

Let’s consider a simple registration process:

1.1.TokenProcess

In this example, the start event (represented by the circle at the beginning of the diagram), generates the token:

1.1.1.TokenProcess

The token then flows to the activity Register User Information, causing the activity start:

1.1.2.TokenProcess

When a token arrives at an activity, the activity starts. This beginning and execution is called an INSTANCE of the activity. A new instance is created when a token arrives at an activity.

When the activity finishes its work, it emits a token that travels through the flow to the Send Confirmation activity:

1.1.3.TokenProcess

1.1.4.TokenProcess

Once the confirmation is sent, the token reaches the end event (represented by the circle at the end of the diagram) and the process completes:

1.1.5.TokenProcess

1.1.6.TokenProcess

Each of the elements in a BPMN diagram handles the flow of a token in an unique, and in some cases, complex way.

 

This content of this post is the first chapter of my book The BPMN Graphic Handbook. You can buy it here:

 

Got any questions or comments? Drop me a message on Twitter (@eh3rrera).