Let's start with what the business process is all about. It is an ordered sequence of activities that serve to satisfy the needs of the process client, i.e. its recipient. Adequate resources are needed to implement all kinds of processes. In order to talk about the complete process, it is also worth specifying the concepts that help to visualize the whole phenomenon. These include the process map, i.e. the method of showing the relationship between processes or its elements. Thanks to it, we can test the efficiency of the process itself. The concept of a business model, which is used to illustrate the functioning of the process, is also important. In turn, the prototype is already a full, parameterized model of processes that can be used to conduct simulations and to create tools supporting implementation.


BPMN - definition of the concept

Thanks to the above aspects of the concepts, we can move on to the key issue, i.e. BPMN. The English extension of the abbreviation is Business Process Model and Notation, i.e. the basic notation for descriptions of business processes, which is a stable graphical notation. It was developed by BPMI (now the BPI DTF committee at OMG) in 2004. Its current version is 2.0.2 - 01.2014, which is used to describe the steps, events and logic of the business process implementation. It is designed to allow for the reflection of the process flow, communication between different process participants and the transfer of relevant data. Thanks to the uniqueness of BPMN models, it is possible to perform a simulation in a situation where the tool is able to perform it.


What do we expect from the business process modeling notation? First of all, it must be understandable to the business recipient. It cannot restrict the modeler either. It should allow for the transfer of sufficient information and precisely define the logic of the impacts. It must also be understandable for suppliers and for partners with whom cooperation should be discussed. In summary, the notation should be consistent with the assumed standards.


What are the purposes of BPMN notation?

BPMN notation is a precise and common standard for modeling business processes, described in ISO / EIC 19510: 2013. Although it is not related to any of the producers, it is developed by the OMG - Object Management Group.


BPMN enables the business to define and understand internal and external procedures thanks to a business process diagram that helps the company to communicate based on accepted standards. One of the main purposes of the BMPN notation is to provide graphical elements, incl. icons and shapes, thanks to which it will be possible to present the business processes in the organization so that they become understandable to various recipients, e.g. managers, programmers or business analysts.


What else is obtained by betting on BPMN? The ability to minimize the technical constraints imposed on the business user who models the processes. It also helps in building a bridge connecting the business process design with the phase of its implementation. This means that the process design takes into account information about the components that influence its implementation. As we have already mentioned, BPMN also facilitates the creation of a standard acceptable to the entire business community. It helps to support concepts that are used to model business processes and allows modeling really very complex processes. However, it should be remembered that in order to meet the assumed goals, the BPMN notation for business processes must be unambiguous and consistent. This is important because you can also map from BPMN notation elements to runlevel instances.


What is a BPMN?

An extremely important element of BPMN notation is the ability to write the model in XML format, which is easy to read. Therefore, the standard description in the notation is BPMN XML also known as BPMN DI. What is it characterized by? First of all, it contains complete information about the process - also those that are not visible in the diagram. It also takes into account data and other parameters. An available alternative to BPMN DI is the XPDL 2.2.


What processes stand out in BPMN notation?

BPMN notation should be treated as a process consisting of a series of activities and decisions necessary to complete a given task. This should be understood as breaking down the job into its component parts, e.g. if you want to scan a document, you must first turn on the scanning device. Then insert the document into the scanner and scan it using the appropriate program. When the scan is ready, take it out of the device and turn it off. These are all the steps involved in completing this task.


Similarly, BPMN notation describes several types of processes. So let's start with private processes.


Private processes

These are internal processes specific to a given company. They are identified using the term "workflow". They show the logic of the process flow. Each private process should be represented within one pool. The elements present in it should not exceed its limits. The only exception are messages (message flow), which help to represent the interactions that take place between separate, private business processes.


A simple example of a private process is, for example, when the company receives correspondence from a customer. You open the email and read it. Then you prepare a response and send it to the client. These are four activities that take place within one pool of your company.


It is worth emphasizing that private processes are divided into two types:


  • Executable - are modeled to present how they were made.
  • Non-executable - are modeled for documentation purposes. They do not contain information, e.g. needed to complete the process.


Public processes

Their task is to represent the interactions between a private process and another process or participant. Thus, only those tasks that are necessary to communicate with another process or other process participants are included in the public process. Only those activities that serve communication outside the private process and flow control are shown in the diagram. The purpose of the public business process model is therefore to provide limited information for a given process. This means that it is a presentation of only tangent points of the process with external entities.


As an example, you can give a situation where a message from a customer arrives at the company and then a reply is sent to him. In such a situation, two pools can be distinguished - the customer service department in your company and your customer. This is opposed to a private process in which only tasks in the customer service department itself are presented for the exchange of messages. The remaining quests are skipped. On the other hand, in the case of a public process, the flow of messages between the client and the customer service department is important.


In summary, the public process model thus represents the interactions between the internal business process and other actors outside the process.


Other processes - cooperation and choreography

In the model of collaboration / collaboration there may be a greater number of pools - from two up. They take into account the processes and interactions between them. They show the interaction between the processes of two or more participants. Moreover, the interaction is shown as a sequence of activities that shows the exchange of messages between participants. They can be presented as two or more public processes communicating with each other.


In turn, the choreography describes the interactions between the participants of a given process. However, it does not take into account activities performed by individual process participants. However, it should be emphasized that at least two process members must be presented in the choreography.



In programming work, process models are reluctantly used to visualize processes that are subject to automation. What's more, programmers often find that if they are going to use something, it's best to use an Activity Diagram in UML. On the other hand, the business sphere is reluctant to use UML notations. Due to the fact that the two notations have different approaches to defining what is a business process, the two diagrams describe completely different reality. What are the differences between them?


UML is a notation that is used for application-oriented modeling. On the other hand, BPMN is used for a process-oriented model of systems. This is because BPMN notation focuses on business processes and their support by IT systems, while UML focuses on software design. However, it can be safely said that both notations are complementary to each other, because they show different points of view on modeling systems and sometimes it is worth using the potential of both. However, there is also a connection between them. What they have in common is that they both agree on the idea that not all processes need to be implemented in the form of automated business processes performed using the process execution language. When automation is essential, processes and participants can be refined in UML. However, it is worth remembering that all symbols in UML and BPMN have different meanings, and that BPMN is based on the concept of a token, and that the process in this notation takes place in the organization.


Why is it worth starting with a process analysis?

Before each action, we should take a closer look at the analyzed data. The correct operation of processes throughout the organization requires considerable involvement on the part of people participating in them. So you should become familiar with them. First of all, it is worth paying attention to the environment in which they will be implemented. Determine the uniqueness of regulations related to processes. Familiarize yourself with them in order to implement them and gain knowledge about what reserves are in the processes of the organization. Knowing the processes, you can improve them by changing the organization of processes and automating their implementation.


How should process improvement look like? First of all, it should be profitable and serve to actually improve them. There is no point in practicing art for art in this case. It should also result from the perceived and real needs of customers and the processes themselves. Before implementing a novelty, the benefits of this implementation should be well assessed. It is also important not to automate the processes in order to modernize your way of operation, but to be able to achieve the goals set by the organization even more effectively.


What should the process analysis cover?

In order to prepare a process analysis well, it must be based on certain assumptions. So let's impose a specific structure on it. You can certainly start by modeling the processes according to the current state. This includes analysis of the course, identification of courses that do not contribute to the achievement of the main business goal, designate potential automation locations, select data relevant to the process, take into account the relations between processes, and pay attention to communication with other organizations. Subsequently, you can perform a requirement analysis taking into account the proposed target process models and the cost analysis of the process before and after the implementation of the change. However, this type of complete analysis requires simulation.


Is BPMN worth using?

What the BPMN notation can offer you is, first of all, the ability to present complex relations of rules governing business processes. Including those necessary to introduce automation. All this is done in a way that is understandable also to non-advanced people. Correct modeling of BPMN notation processes always requires a good understanding of its mechanisms, proper selection of diagram types and the use of symbols adequate for the modeling purpose and the model recipient himself. Ultimately, a well-prepared model becomes easy and pleasant to receive. Also, remember that BPMN models can be used to perform in-depth analyzes and missing relations can be shown as additional artifacts. So if you care about a reliable analysis, use the BPMN notation!