Hi all,
I am starting a new project of implementation Business Process approach using ARIS. We are starting the convention for this project and we not sure about what is the best way for business process modeling ... EPC or BPMN... we all know that EPC is very powerful way to model business processes but... BPMN is also becoming a common notation....
Can you share with me what are the advantage and disadvantage to use BPMN / EPC ? it's will help me to come to a decision
Thx in advance
Gilad to to
Gilad,
There is a lot written about this dilemma in the ARIS Community. The most detailed information I think is in this post and the following discussion. It's difficult to give a short answer to your question and I know those answers starting with "it depends..." - while attempting precision - are the least wanted. I'll try a short one:
EPC has 20 years user experience and is proven as a good balance between rigour in modelling and simplicity in communication. The control flow has 5 elements and 5 structuring rules. That's all. Yet you can describe pretty complex situations. Furthermore - and probably the biggest advantage - you can really integrate and analyse any business aspect: human resources, applications, services, capabilities, risks, data, knowledge, you-name-it. And the level of reuse is great. You model once and then reuse for risk management, compliance, simulation, process cost analysis, SAP, lean manufacturing, etc.
Yet when it comes to showing specific workflow behaviour, BPMN is way ahead. It's actually much better than you'd think by just comparing the capabilities of these two notations to represent each worflow pattern. Some of those like compensations are really more developers concern but after all BPMN would not have existed if it wasn't process automation of primary interest. Another nice thing is messaging. That can be modelled in EPC as well, with a few minor violations, like for example it is done here (see Level 3).
BPMN specification has many flows and redundancies. Its development is vendor led and that has some disadvantages. One of the promises to have standardise diagramming is fulfilled (minus redundancies) but the other to standardise exchange between tools is not (not that I saw I real demand for such capability).
EPC, although simpler, is graphically less efficient than BPMN. There are mainly two reasons. The event symbols are bigger (1) and they must be used after each split (2) while in BPMN the latter is avoided having conditions for splitting as attribute of the sequence flow.
You should really see what's important for you ( I succeeded without "it depends" only this far) now and in perspective, and test it. An alternative is to combine both notations, having EPC at a higher, more conceptual level, using it's capabilities to integrate different aspects of the enterprise architecture. Then elaborate, where necessary, with BPMN.
Hope that helps a bit.
Ivo
Good advice, Ivo. However, you should think about what you want to accomplish. A look into the spec will show you what BPMN is meant for and for what not. Please have a look at my article here to determine the notation that's right for you: http://www.ariscommunity.com/users/roland-woldt/2010-11-28-learning-bpmn-1-what-bpmn.
In SAG we have good experiences with using EPC for the "business user" due to all the reasons mentioned in the linked article above, and BPMN for the workflow modeling in ARIS Process Governance and webMethods.
I also worked in projects using BPMN for regular process modeling (ARIS supports the full spectrum of artifacts), but found it clumsy for the non-process parts and you have to implement workarounds if you want to stay close to the spec.
Thx Ivo / Ronald
you gave a lot of info... i will learn the topic and the info you gave me..
one more point - if this project is a "model to execution" project (meaninig that it will start in ARIS and implemented in WebMethod ) what will be your opinion ?
Remark - i have a lot of experience in the EPC (more than 8 years) and the ability to communicate with the business users based on EPC model is, from my experience, good... i saw BPMN model and from my point of view.. it's much harder for business user... this is way i am afraid to adopt this notation
Gilad
If it is M2E than you should use EPC for your business processes. We are using APG to automate the underlying processes for transforming the EPCs into (logical) BPMN that will you then enhance with technical information. APG is also used for triggering the semantic checks and the transport of the (logical) BPMN model into webMethods.
There are some conventions that you also have to include into your EPC modeling, so that the transformation "understands" what has to be transformed into which BPMN object (e.g. a function with a role will be transformed into a manual task).