I started a similar discussion about 4 months ago at LinkedIn's ARIS User Community. Some very good comments there. Still I'm looking for more experience based comparison and application criteria.
The same topic was discussed about 2 years ago in an Oracle forum and there was a presentation with subject "EPC v BPMN" at some workshop in Santiago, December 2008. Strange but that's about all that could be found on the web. Well, all the more reason then to continue discussing it :)
I've been using EPCs for almost 10 years now but recently I became quite frustrated by its limitations and found some good solution with BPMN's variety of events, messaging etc. But then I couldn't connect application system type, capability and other objects to a function the way I used to in an EPC. I thought well, BPMN while trying to close the gap between business and IT actually widens it by providing a more complicated and technical notation than EPC and at the same time it lacks simple cohesion capability. It seems that for BPM we need one notation, for SOA another and for EA a third one do describe the same thing, business processes. There is something wrong. But well, finding a universal BP notation is another topic, let's just compare EPC and BPMN and suggest when to apply each and when and how both.
Thank you in advance for your contributions!
Ivo
Hi Ivo,
thanks for bringing up this topic. It is one of my favorites ;-) I prepared an internal presentation comparing EPC vs. BPMN some time ago and I always wanted to turn it into an ARIS Expert Paper, but never found the time. Maybe I was also a little bit afraid of the public reaction, because people tend to have very strong opinions about this topic. Nevertheless, let's try here...
If you compare EPC and BPMN, you have to say what you are looking at. For example, you can just focus which control flow constructs you can express with those languages. In that case, BPMN is the clear winner. It has more complex constructs and you can express more workflow patterns as the following table shows:
However, you can also take a different view on the topic. Being able to express advanced control flow constructs is important, but it is also important to link other modelling objects from your enterprise repository to the process. Now, BPMN is maintained by a technical crowd called OMG (don't get fooled by the B in BPMN) and therefore it has a strong focus in this area. However, it misses many things, which are important in an enterprise modelling context.
The following figure shows the objects supported by EPC and BPMN mapped to the dimensions of the ARIS house:
From this chart, it is very clear, that BPMN is missing quite a lot. As you said by yourself, you can't link an application system type to a BPMN activity.
Now, there are good news, at least in case you are using ARIS. In ARIS you can assign a "Function Allocation Diagram" to every BPMN activity. In this diagram, you can link the BPMN activity to all relevant objects from your ARIS repository as you would do in an EPC directly. At the same time, you are not violating the BPMN syntax, because those additional information are not added to the BPMN diagrams itself.
It would be great if at some point BPMN could also support the other dimensions, but this will probably take several more years. At least the now upcoming BPMN 2 has nothing new in this area, even though BPMN 2 will be an important step in other user cases.
I hope this helps,
Sebastian
PS: In the first figure, there are 2 external sources used, which are as follows:
[1] P. Wohed, W. M. P. van der Aalst, M. Dumas, A. H. M. ter Hofstede, N. Russell. On the Suitability of BPMN for Business Process Modelling. In Intl. Conference on Business Process Management (BPM), pages 161-176 of Springer LNCS 4102, 2006.
[2] J. Mendling, G. Neumann, and M. Nüttgens. Towards workow pattern support of event-driven process chains (epc). In M. Nüttgens and J. Mendling, editors, Proceedings of the 2nd Workshop XML4BPM, pages 23-38, Karlsruhe, Germany, 2005.
Ivo,
I'm not so sure that having different views of the process meant for different audiences is a bad thing. I would express it a little differently from the way you did. One language for the business (EPC), one for the designers (BPMN) and one for the implementers (BPEL). Each language has the constructs that are important to the audience. Also, ARIS can help you convert one model type to another. Oh, and don't forget the Value-Added Chain to communicate to business planners. The right view for the right audience is one of the fundamental princples of Enterprise Architecture.
Rick
Thank you Sebastian for the comprehensive comment.
Rick, I fully agree with you and that's why I put "and" not just "or". If you have checked out the LinkedIn discussion there was somebody actually doing this, maintaining EPC and BPMN at different levels and for different user groups. There other people that believe that the lower number of notations the better. It's a matter of standardizaion. I'm inclined to side with those though I believe that viewpoints and communication based approach should prevail. And I believe that it's possible to have a BP notation flexible enough to server for business, designer and implementers just applying a standard set of rules to filter according to interests, skills and technical needs. But anyway, that's not the point here. The main objective of this discussion is to find out what could be the criteria to choose using the one, the other or both notations, based on user experience.
Ivo
Folks, I like to draw your attention also to the following post about selecting EPC or BPMN in a very concrete scenario.
Thanks,
Sebastian
I recently started reading Bruce Silvers new book BPMN Method and Style. In one of the early sections he describes some of the things involved in Business Modeling for an Enterprise BPM program that are not captured by BPMN 2.0.
Many of the missing objects mentioned by Sebastian above are included. He also mentions the ability to capture controls, strategic objectives, operational goals and KPIs. BPMN is not really suited to drawing high-level business context diagrams like value chains. It doens't capture activity resource requirements or revenues and costs. It also doesn't represent things like customers and markets.
Of course many of these things can be added if you are using ARIS/BPA either as objects in an attached FAD or as attributes of the object.
From the business perspective perhaps one of the most difficult things to get used to is the fact that BPMN is centered around the concept of an "executable" process running under the control of a process engine. This concept is central to many of the rules that govern BPMN but are strange to the business. Like pools (us and the customer) may only communicate via messsages. While that makes perfect sense for BPMN, it is hard to explain to business folks.
Here are some guidlelines, please feel free to chip in with more:
1) If you are trying to model a single process for the purpose of optimizing the process by providing better IT support then BPMN may be a better choice. This is especially true if you are planning deployment through a BPM Suite.
2) If you want to support an Entperprise wide BPM program you will likely need several methods including Value Chains at the high level, many senior executives are already familiar with them, perhaps EPCs at the next level and then BPMN for those processes that require new or updated IT services.
3) If you are modeling to expose your processes to outside entities, Value Chain partners, outsourcers, etc, it is more likely they know BPMN which may lead you in that direction.
4) If you business audience already knows and likes one or the other I would lean towards using it. On the other hand, if they know one and hate it I would proabably go with the other.
5) If you are an SAP shop and most of your value chain partners are as well, it is likely they alreafy are familiar with EPCs
Thanks Rick for sharing your thoughts. I think that are really good guidelines to come to a decision whether to use BPMN or EPC. Personally, I don't consider it to be a disadvantage to move all objects related to an activity/function outside the process diagram into an attached FAD. Also many EPC users do that to keep the process diagram lean and clean.
Thanks for addressing this topic!
Sebastian,
In your analysis I see two main factors of comparison between the use of EPC, BPMN or a combination of EPC & BPMN:
- Control flow constructs
- Integration of process flows and Enterprise Repository artifacts/objects
(Great ARIS house graphic! - it really helps put things in perspective)
Rick brings up the need to provide high-level business context such as through the use of Value-Added Chain diagrams (VACDs).
I would like to know the forum's opinion on linking BPMN process flows using VACDs.
We are looking to standardize on a single notation and have found that, in our environment, "the business" prefers/understands BPMN better than EPC. However, we would like to leverage the ARIS capabilities for creating a multi-tiered process hierarchy and allowing business users to navigate the models for an end-to-end view.
Looking forward to your comments.
-Ileana.
Hi Illeana,
interesting question. From my point of view you can use the same mechanism to link BPMN processes as for EPCs.
If you use the end event of one process as the start event of another, they are linked semantically in the same way as EPCs via process connectors.
Also you can use model assignments in BPMN. So behind an activity in BPMN can be assigned a detailed BPMN process. This is quite the same as for EPC.
If you are using our SOA methodology and the detailed BPMN are used for process implementation, there is also another possibility. Such a detail process can be considered as a service. So the process step in the upper BPMN process could be executed by a special service and this service is implemented by the detailed process.
Both approaches offer all navigation capabilities of ARIS to the user based on only one notation.
You might want to have a look at the graphic here for additional information: http://www.ariscommunity.com/users/pmcclean18/2010-03-25-bpmn-20-how-do-i-link-models-sequence-and-allow-users-navigate…;
I just posted a more detailed analysis BPMN vs. EPC.