Model-Based Business Engineering, Blog by Dr. Juergen Pitschke, +49 351 30935193 This email address is being protected from spambots. You need JavaScript enabled to view it.g

Business Process Patterns and BPMN

download button Author: Dr. Juergen Pitschke, BCS-Dr. Juergen Pitschke

Business Process Templates / Tooltips Visual Paradigm

You can download the White Paper here or you read it here directly. Comments are welcome. Please be aware of the copyright note.


BPMN-Models

BPMN is generally considered a universal notation for describing business processes. The notation defines "only" the basic elements, unifies the presentation of this elements and defines an exchange format. (see (OMG 2016) and Figure 1: BPMN-Palette). 

BPMN Palette

We also want to describe business processes at higher levels of abstraction.
Models consist of the basic elements. We describe more complex business processes. To simplify the modeling and standardization of the models, we define "patterns" that represent recurrent situations in the same way again and again.

Pattern – Examples

"Patterns" occur repeatedly and combine different basic elements. Such patterns (or templates) increase the readability of business process models.
An example for such a pattern is a follow-up. A follow-up always shows the same flow of activities and has the same process participants roles. What is different is the follow-up object. Sometimes we follow-up on an invoice, sometimes on a customs declaration, sometimes on another "reminder object". I showed the follow-up as an example of a pattern on our BPMN poster (see (BCS - Dr. Juergen Pitschke 2019) and Figure 2: Example of a process pattern - Follow-Up.

 WiedervorlageEnglisch

Many more such patterns are conceivable. Darius Silingas of NoMagic named more such patterns. An example would be a "competition pattern". A "competition" can happen, for example, when hiring an employee. We write out a vacancy to fill in and the required qualifications of the candidate. From the applications we receive, we make a preselection. From this preselection we decide for an applicant.
The same happens from the business process point of view when purchasing a device. Here the competition object differs. We are not looking for an employee, but wish to purchase a device. The process is the same. It is a pattern. Based on defined, required properties fort he device, we receive a series of offers, we make a preselection and decide on the device to be acquired

Definition of a business process pattern 

Different business process modeling tools provide functions for defining and using such patterns. First, we have to think about which patterns we want to apply, so that the effort is worthwhile and the advantage of using patterns is realized. I have already mentioned two examples here: follow-up and competition. What is similar in both cases? How can we describe such a pattern? How can we identify such patterns?

Uniform is the described flow of the business process. The elements for description and control of the process are the same. Depending on the pattern, variants can be defined.
Variable is the observed object. In the case of follow-up, the "follow-up object". We use the pattern "follow-up" for various concrete objects. For example, an invoice or a reminder or a customs decision.
The process participants may also be a variable. As in the case of objects, we try to find a generic term. The role will later be replaced by concrete process participants. For example, by the bill-to party or the customs officer
Since we follow the classification of the Zachman framework, the question of variables is easy to answer: which abstraction is variable, which is not?

  • Abstraction What: variable; see above
  • Abstraction How: not variable, variants are admitted to a limited extent
  • Abstraction Where: variable
  • Abstraction Who: variable
  • Abstraction When: variable
  • Abstraction Why: can be variable; is usually not a variable for a pattern The definition of a pattern first includes a brief description of the non-variable part. What is the pattern? What is the real purpose of the pattern? Which (variable) part causes a possible variant?

We call the variable parts of the pattern. As mentioned, we try to find a generic term. Depending on the abstraction, the name of the pattern will help: For example, "Resubject object".
Not always that helps. Sometimes we form subsets. In the competition example "Application" we as process participants (Abstraction How) do not have the "Competitor 1" and the "Competitor 2" but partial quantities of the competitor, such as the "Applicant" and the "Employer".
In summary, we can say that a business process pattern is characterized by the fact that the process is the unifying feature. The name of the pattern bears the bill. What is the same for all "resubmissions"? What causes variability or specialization? Example: "Reminder invoice". Forming such subsets and classifications helps identify part patterns or variants.

The definition of a pattern first includes a brief description of the non-variable part. What is the pattern? What is the real purpose of the pattern? Which (variable) part causes a possible variant?
We call the variable parts of the pattern. As mentioned, we try to find a generic term. Depending on the abstraction, the name of the pattern will help: For example, "Resubject object".
Not always that helps. Sometimes we form subsets. In the competition example "Application" we as process participants (Abstraction How) do not have the "Competitor 1" and the "Competitor 2" but partial quantities of the competitor, such as the "Applicant" and the "Employer".
In summary, we can say that a business process pattern is characterized by the fact that the process is the unifying feature. The name of the pattern bears the bill. What is the same for all "resubmissions"? What causes variability or specialization? Example: "Reminder invoice". Forming such subsets and classifications helps identify part patterns or variants.
Visual Paradigm allows the definition and use of model patterns, named there as templates.
For this, we select the elements of the business process that should belong to the pattern. From the context menu we choose Define Design Pattern.

 When defining patterns, we can (should) provide a description. For this we can use description templates in the usual form. We select where the pattern should be stored - in the workspace or in a directory. It is recommended to create a directory of all templates that is accessible to all project members.MusterDefinierenEnglisch 000

 To apply the pattern, select Utilities-> Apply Design Pattern from the context menu and select the pattern you have defined. The description of the pattern should help us here. The patterns are additionally categorized according to the notations used.
We can define patterns for all supported notations. In business process management, for example for CMMN or Decision Management. For the development with UML Model-View-Controller (MVC) is a common pattern.

 

Literature

BCS - Dr. Juergen Pitschke. BPMN 2.0 für Business Analysten - Das andere Poster. 2019. https://www.enterprise-design.eu/files/images/downloads-wissen/bpmn_ba_a3.pdf (Zugriff am 13. 08 2019).
OMG. Business Process Model and Notation (BPMN) Version 2.0.2. OMG-Standardnotation, Object Management Group, OMG Document Number: formal/2013-12-09, 2016.
Visual Paradigm, Inc. Visual Paradigm User Guides. 03 2019. https://www.visual-paradigm.com/support/documents (Zugriff am 30. 03 2019).

Copyright

This material may be used freely on an in-house, non-commercial basis. Commercial re-use or re-transmission of any portion of this material is prohibited without written permission of Dr. Juergen Pitschke, BCS - Dr. Juergen Pitschke. Contact BCS - Dr. Juergen Pitschke for licensing and re-use arrangements. Please include this notice in all reproduction.

 

Model-Based Business Engineering

Tags: Tools, VisualParadigm, Process Pattern