In this Blog I want to draw your attention to two encouraging representatives in the area of business process modeling: EPC (Event-driven Process Chain) and BPMN (Business Process Modeling Notation). After a short introduction in these two notations I will give you a recommendation or at least food for thought.
EPC – the quasi-standard in business process modeling
EPC is a part of the ARIS concept which was developed by Prof. Wilhelm-August Scheer at the Institut für Wirtschaftsinformatik at the Universität des Saarlandes in the early 1990s. ARIS is an acronym for Architecture of Integrated Information Systems and the idea behind was to receive a description which covers all the requirements of an information system.
The concept has several views on a system which are unified under the so called ARIS-House. There is the data view, the function view, the organizational view, the product / service view and the control view, which uses the EPC as modeling notation. Every view is divided into three levels: requirements definition, design specification and implementation.
Elements of an EPC
For the business process modeling is the requirements definition level in the control view necessary.
The EPC is a semi-formal method to represent business management processes. Therefore it contains three basic elements:
- Event – used to illustrate business relevant events. Every EPC starts and ends with an event. An event can trigger or be the result of a function.
- Function – illustrates actions, operations or procedures which are business relevant. They are the connector between the Events and consume resources and time. But you cannot model a quantified chronological sequence. Functions can be modeled linear, parallel or as alternative branches.
- Branch – gives you the possibility to model alternative tracks of a process. There are three options:
- AND (conjunction) – every function must be executed / all events must occur.
- OR (disjunction) – at least one function must be executed / one event must occur. But it is also possible that all will be executed respectively occur.
- XOR (exclusive OR) – exactly one function must be executed / one event must occur.
With these basic elements you are able to model a business process well. But to include more information and to get a better understanding or for an extensive analysis you can extend the EPC to an eEPC (extended Event-driven Process Chain).
eEPC – for more information
To illustrate who has to execute a function you can use an organizational unit. Therefore such a unit must be connected with the function. But you can also assign several organizational units to one function.
If you want to execute a function you always need information. The information which is the input or output of a function can be modeled with the help of information objects. They symbolize the data which are related to a function.
This was a short description of the EPC of the ARIS method. This method is well accepted in the area of business process modeling. In comparison to others you will get with ARIS not only a notation but also a method for the description of complex business processes. Beside this you also have a good tool support with tools like ARIS for SAP NetWeaver, for example.
But there can be a problem. The EPC (or better eEPC) is a common modeling notation in the world of business analysts but not very popular in the “IT-World”. So there can be some translation effort to show the IT people how a process works. It is like a conversation between a Frenchman and an Italian. Their languages have the same origin and are somehow related. Anyway there will be some misunderstandings. IT people also have several notations to describe the procedure of a software system. But they are not necessarily like a process described with EPC.
BPMN – the connection between IT and business?
To solve this problem (and also some others) a new language was created – BPMN (Business Process Modeling Language). You can say that BPMN is a “Best Of” of various business modeling notations. The main goal was to create a unique, standardized and comprehensive format which includes all the advantages of the existing modeling languages. Beside this, BPMN should be understandable by all stakeholders which are involved in the area of business process management. To formulate it with the well-known and often used metaphor: BPMN builds a bridge between business process modeling, implementation and execution. How can this work?
At first let’s have a look on the graphical elements which are delivered in the Business Process Diagram (BPD) of BPMN to model a business process.
Elements of the Business Process Diagram (BPD)
The BPD contains a set of graphical elements (shapes) which are grouped in four categories: Flow Objects, Connecting Objects, Swim lanes and Artifacts. These categories include several elements to model a business process on a plain or detailed level.
Flow Objects are the basic elements of the BPD. There exit three of these basic elements:
- Event – something which can happen during the pass of a process. Normally it has a trigger and a result. It is possible to illustrate different kinds of triggers and results with the symbol for an event. Every process starts and ends with an event (like in EPC). The start or end event of a process is optional. But if you use a start event, you must also use an end event. Beside these two event types there also exists the intermediate event. It affects the process without starting or stopping it. For example you can use it to show if within a process messages are expected or must be sent.
- Activity – the generic term to describe a work step of a company. An activity can occur single or multiple (then connected with each other). The several types of an activity are Process, Sub-Process and Task. Sub-Process is an element to organize the process model. With this you can link to another process which is more detailed. So you reach a better overview. The Task is the atomic activity within a process. It is the lowest level which is normally executed by a person or a system. You can compare it with the Function in an EPC.
- Gateway – controls the split and join of a Sequence Flow. Four possibilities are available:
- Exclusive Decision / Merge (XOR) – with differentiation in data-based or event-based
- Inclusive Decision (OR)
- Parallel Fork / Join (AND)
- Complex Decision / Merge – if on of the above is not adaptable, for example three of four.
The symbol for the Gateway can be changed depending which one of the above types is used. The Gateway can have multiple incoming and outgoing flows.
First of all the three Connecting Objects have to be mentioned, which connect the Flow Objects:
- Sequence Flow – shows the order of a process flow.
- Message Flow – shows the flow of messages (ingoing or outgoing) between process participants.
- Association – connects data, text or artifacts with Flow Objects. An Association can also be used to show the input and output of an activity.
To group the objects of a process model and to assign the responsibilities you can use Swimlanes:
- Pool – represents the involved persons of a business process. It’s like a container to limit one pool from another. There are no connections allowed between the objects of different pools, except Message Flows.
- Lane – to categorize and organize a business process model. It partitioned a Pool and assigns activities to roles or responsibilities. Unlike Pool there are connections possible with Sequence Flows between different Lanes, but no Message Flows are allowed.
If you want to add contextual information to your model, you can use Artifacts:
- Data Object – indicates if activities need data or if they produce data. There is also the possibility to notice the actual state of the object. It is connected by an Association.
- Group – group objects of a process diagram with no impact on the process flow.
- Annotation – used to add notes or comments to improve the readability of a process diagram.
Now let’s summarize BPMN. As you already have realized BPMN has a great amount of elements for detailed business process modeling. But I think BPMN can give you a better overview of a process than an eEPC. Sure, the focuses of this modeling language are business people, but it is also understandable for IT people. Also BPMN is easy to learn and understand – or not? 😉
You will agree with me that it is very useful to model B2B-processes by using the Swimlanes.
Originally BPMN was founded by the Business Process Management Initiative (BPMI). But it was handed over to Object Management Group (OMG) which has published some other popular specifications like UML, CORBA or Model Driven Architecture.
But the great advantage of BPMN is the modeling of executable business process models. This is possible through the explicit mapping of the BPMN objects to BPEL (Business Process Execution Language).
BPMN also have a big disadvantage – it is a very young modeling language. The version 1.0 was published in May 2004 (author: Stephen A. White, IBM). So BPMN is probably not known well by Business Analysts, Modelers or Business Process Experts.
Hopefully with this Blog this fact will change. If you want to know more about BPMN, please visit www.bpmn.org .