The Camunda Best Practices are our condensed experience of using BPMN and DMN on the Camunda toolstack, and collected by consulting engagement with our customers, feedback from the community, and various other occasions. Best Practices are a mix of conceptual and practical implementation information.
Best Practices represent the current state of our practical project experience as far as it is generalizable. They are neither "final" (in the sense that we ourselves will hopefully continue to learn!) nor are they necessarily the best approach for your own situation.
Note that Camunda gives the same guarantee as the core product for best practices. In order to present as much experiences as possible, we cannot accept any responsibility for the accuracy or timeliness of the statements made. If examples of source code are shown, a total absence of errors in the provided source code cannot be guaranteed. Liability for any damage resulting from the application of the recommendations presented here, is excluded.
In general, Camunda Best Practices apply to Camunda 8, but there are also some specific Camunda 7 practices in their own section below.
Project management best practices
Architecture best practices
Development best practices
- Connecting the workflow engine with your world
- Service integration patterns with BPMN
- Writing good workers
- Dealing with problems and exceptions
- Handling data in processes
- Routing events to processes
- Testing process definitions
Modeling best practices
- Creating readable process models
- Naming BPMN elements
- Naming technically relevant IDs
- Modeling beyond the happy path
- Modeling with situation patterns
- Building flexibility into BPMN models
- Choosing the DMN Hit Policy
Operations best practices
Camunda 7 specific best practices
The best practices in this section apply to Camunda 7 only.