BPMN, CMMN, and Responsive Processes
- May 29, 2014
- 0 Comments
IBM’s presentation at bpmNEXT of their implementation of case management inside of BPMN (and their subsequent launch of same at Impact) inspired Paul Harmon to start a lively thread on BPTrends on whether BPMN and CMMN should be merged. To me the answer is an obvious “yes,” but I doubt it will happen anytime soon. Most of the sentiment on BPTrends is either against or (more often) completely beside the point. Fred Cummins, a honcho on the OMG committee that oversees both standards, was sneeringly dismissive of the idea. BPMN, you see, is procedural while CMMN is declarative. There’s no comparison. Yeah, right.
Yeah, that’s the the thing. You have people who just, on philosophical grounds, don’t understand how two sets of notation with different principles can co-exist. But this sort of dichotomy exists all over software. You can write a procedural program but in this day and age most of those procedural programs run in the context of an event loop waiting for declared events to happen (pretty declarative style). And the event loop itself might be considered procedural. The point is that the abstractions of declarative or procedural are useful to people – underneath the hood, it’s all just two sides of the same coin.
What we really have is people worried about zones of influence and control – and people don’t give those up lightly.
Responsive processes are driven forward by events (including ad-hoc user action) and conditions, rather than by sequence flow. In a responsive process, an activity is enabled to start when its preconditions are satisfied.
I share Bruce’s opinion that there’s no reason the software behind BPMN engines can’t execute CMMN notation concepts or “responsive processes”. In this post, he proposes the Gantt chart as an alternative representation.
Just when you think innovation in notations for business process representation are at a standstill, it picks up again. I think there’s a lot of fodder for new software around the ideas in just these two blog posts from Bruce…