BPMN/DMN "Code Reviews" ? anyone doing them?

Anyone currently implement any sort of “code review” type of process for teams to review a BPMN/DMN and make enhancements/modifications/clarifications/simplifications, etc?

Interested to hear lessons learned and any best practices you may have found.

Its also likely a dual function review session as could have business focused staff and more technical staff involved rather than a deep/technical code review process.

If you have not done this type of review, do you have any thoughts on them?

Very frequently the consulting team will review models for enterprise customers as well as give training on best practices.

Our training also focuses on how to setup a working structure for business IT alignment.
So yeah… it’s a big part of what we do - but we don’t have a specific BPMN process developed at the moment.

Haha.not sure if that “no bpmn process developed” was a meta-joke? Process to have process to review a process? :slight_smile:

Bruce Silver developed some style guidelines. These have been variously implemented in XSLT etc. The Signavio editor includes both sytactic and Bruce’s style guidelines review as part of the save process.



Ya styles are a good overview. Lately have been looking at more deeper “configuration” styles such as (just working thoughts):

  1. using more than 1 scripting lang in a process
  2. variable naming conventions, acronyms, etc
  3. Lots of process variables vs JSON objects
  4. form conventions
  5. DMN practices such as when to use lots of rules to explicitly define the rules, or have more “fancy” rules that use FEEL and require the use to interpret the rules and run the scenario through their head to understand what would happen based on the inputs.
  6. Message Name patterns. (how should message names be created in context of thousands of processes with potentially similarly named messages), use of processID in message name?, etc.
  7. http-connector vs delegate class
  8. Groovy vs JS scripting use cases. Base scenario: Attachment and ECM enterprise contents management. Groovy was used for clean base64 syntax.

In our sector (gov), there is a A LOT of repeatability in config but often very different scenarios.

1 Like