Wednesday, July 3, 2013

BPM: 9 BPMN Design Guidelines

Sample mini BPMN

The current article focus on the best practices a Business Process Analyst could follow in order to deliver a simple but efficient BPMN model. As improving BPMN efficiency is an  ongoing goal, please send your comments or suggestions.

Written by Christos Kouros & posted on DoEyeTea News   


1. Keep it simple: even the most complex issues could be presented in a simple manner.  The client, the users and the developers will understand a simple and clean BPMN model much easier. Wherever there’s something complex, do not make the model even more complicated. Try and try again to make it simpler.


2. Not all of the business rules, actions, etc, could be enforced by a BPMN model: Customers’ usually they do not have a clear understanding of what is Business Processs Management; their undestanding is that by applying BPM approach, they could force all business procedures, which usually performed manually (based on legal, ethical, oral and written rules), in an automatic system.

3. Use of subprocess: Either to reuse or to make your models, simpler to understand and well-presented.

4. BPMN is just BPMN: Do not mess, BPMN, EPC, VACD, Activity, Sequence or Use-case notations within a BPMN model. It’s not a mixer!

5. Presentation: BPMNmodels are not crossroads; a well presented model is not only understood better, is not only less confused about flow actions, but it could also identify potential problems. Follow the horizontal left-to-right approach, instead of vertical; use the apprpriate inputs/outputs for every task, gateway, event, etc, split the model in subprocesses; DO NOT include eveything in one page.

6.BPMN Analysis Model vs BPMN Implementation Model: an analysis (design) model is better to be indepedent from the implementation one, as well as the implemetation platform (Oracle BPM suite, Activiti BPM Platform); BPMN has introduced Levels of detail (i.e. from 0 to 4) where a high-level analysis model (i.e. Level 0) is more understood by the Business users, whereas a Level 4 is towards the developers; however it’s a good practcice to understand the capabilities of each BMP engine platform, as they are offering different implementation options; in addition, depending on the business needs and the implementation options, it might be useful to create an intermediate level BPMN model.

7. Define Roles: Although there are times where roles assignment for process tasks may be optional or the selected BPM platform (i.e. Activiti) may not require using pools or lanes (an implementation flexibility, which handles role assignment in a flexible order), it’s good practice for analysts / designers to apply pools and lanes, at least for the main or high-level stakeholders.

8. Choose the BPMN modelling tool that suits your needs; however, bare in mind that the tool at least must provide a validation mechanism as not all BPMN notation combinations are allowed. In case you are forced to work with tools (i.e. Visio process modeller), which do not have validation or simulation capabilities, then also use a tool such Aris Express or Tibco designer (both of them are free) to quickly validate your process or part of it. Personally, I prefer the Aris Express, which is a ligther version of the professional Aris Enterprise Architecture, a platform which allows to organise your enterprise process models in a very detailed way (it requires licences!).

9. BMPN elements know-how: identify the importance of each element, where and when to use each one. Keep in mind, NOT ALL of them are needed in each process. Try to keep it simple, generic and reusable; i.e. Not every business action requires a separate task item,  Not every task item requires a decision gateway afterwards, use events accordingly; avoid to use complex elements in order to impress!