I’m all for BPMN. I think it’s important that there is a strong industry standard.
That said…. These are my 5 grievances with BPMN:
Every company has their own “BPMN”
I had done integration with three different BPM modelling vendors. All major players.
I have imported their BPMN files into our system.
None of the files were compatible. Each time I needed to create a different xslt file for them to fit.
Each file had different attributes, each file had different naming conventions, each file had their own order for the elements and objects.
All of them were xml. All of them were BPMN standard. None of them compatible.
I spent days trying to find the right xpath. Standards are made to make my life easier. Standards are made to ensure compatibility.
The last mile
One of the most common weak points of BPM systems is in developing the part of the process application that isn’t generated from the process model: user interfaces, data models, security, business logic and integration with legacy systems.
BPMN does not support these.
BPMN gets so much attention that business analysts spend all their time on the process model. All the rest gets little attention.
Converting BPMN models to executable environments is more than just the model.
Result: excellent workflow, poor solution.
The BPM vendors I’ve met either have great process modeling ability or great execution ability – but not great at both.
So when BPM vendors work together or OEM there is usually a BPMN file that can be exported from the modeling platform into the execution tool.
But if the model is changed in the execution platform – some of those changes fall off when importing them back to the modeling platform.
Each of the platforms generate BPMN. Each of the platforms can import/export BPMN. But not seamlessly.
Some might say that this might be a platform problem, not a BPMN problem, but if I can’t implement roundtripping using BPMN – why use BPMN?
BPMN is an exclusive club
Now I might be petty, and I might sound paranoid, but I always get a feeling that the BPMN club is run by a handful of top BPM vendors.
Yes.. “you can join – if you do it our way” kind of invitation. “Oh.. and by the way…. only our software does BPMN correctly”…
As a bystander I’ve also witnessed the bloody war pro-BPMNists waged against BPEL and XPDL supporters.
BPMN did win – but at a price. There is no peace. Some business analyst that I know are still divided and some do not recognize the new pope.
BPMN is for not for developers
I’m a developer, not a business analyst. If I was a business analyst I’d probably understand the notation (it seems they learn it at birth…).
But in the end I’m the poor sod that needs to implement the solution.
If a developer doesn’t master BPMN – they won’t understand it, nor use it.
There is no motivation to educate developers, nor are there simple guides on the web to learn it.
I didn’t write this article to be controversial or cause a buzz.
I do hope that if any of the BPMN “leaders” are reading this article – they will take the points I raised and find suitable solutions.
I’m all for BPMN. I think it is important that there is a strong industry standard.