John Reynolds had an interesting post over on the Thoughtful Programmer Process Rules - Why BPMN isn't enough. While I agree that there are challenges managing business rules in most BPM standards today, I felt his list left something to be desired. Here are the kinds of rules he identified:
- Routing Rules - determine who (which Participant) should perform an Activity
- Flow Rules - determine which Activities should be performed and in what sequence
- Escalation Rules - determine what to do if an Activity is not completed at the right time
Now these are all rule types for sure and are the kind of rules that BPMN and other standards should address - after all they are fundamentally part of the process definition. What I felt was missing was a discussion of business decisions and the rules that define them. The diamonds so casually inserted into many processes have complex logic behind them. Often complex logic that must be reused across business processes, event processing and legacy systems. These decision-making rules may not need to be part of the standard but the decisions they implement deserve to be first class objects in any business process standard.
Check out this post for more