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
Sebastian Stein on
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.