Overview
The Camunda Best Practices distill our experience with BPMN and DMN on the Camunda toolstack, incorporating insights from consulting, community feedback, and various interactions. They offer a blend of conceptual and practical guidance, representing our current practical project experience in a generalized context. While not definitive, these practices acknowledge that learning is ongoing and effectiveness may vary based on your specific situation.
Please note that, like the core product, Camunda extends the same guarantee to Best Practices. However, we cannot ensure the absolute accuracy or timeliness of the information provided, and any liability for damages resulting from the application of these recommendations is disclaimed.
Project management Best Practices
📄️ The Customer Success Path
Follow certain steps and Best Practices when evaluating and introducing process automation to help make it a success.
📄️ Proper POC Execution
When evaluating your process automation approach, a POC helps check if the method and technology suit your needs.
Architecture Best Practices
📄️ Choosing Your Tech Stack
Our greenfield stack recommendation is a result of extensive discussions and evaluations. While not the only option, it is a solid choice if there are no specific reasons to choose an alternative.
📄️ Environment Sizing
Define and size your environment for Camunda 8 appropriately by understanding the factors that influence hardware requirements.
📄️ Human Task Management
Use Camunda task management features or implement your requirements in a generic way for readable models.
Development Best Practices
📄️ Workflow Engine Integration
To sketch the basic architecture of your solution, learn how to connect the Zeebe workflow engine with your application or remote system.
📄️ Service Integration Patterns
When integrating systems and services, you can choose between various modeling possibilities in BPMN.
📄️ Writing Effective Workers
Service tasks within Camunda 8 require you to set a task type and implement job workers who perform whatever needs to be performed.
📄️ Problems and Exceptions
Take a closer look at understanding workers, handling exceptions on a technical level, leveraging retries, using incidents, and more.
📄️ Data Handling in Processes
When using Camunda, you have access to a dynamic map of process variables, which lets you associate data to every single process instance.
📄️ Routing Events to Processes
To start a new process instance or to route a message to a running instance, choose the appropriate technology option to do so.
📄️ Testing Process Definitions
Test your executable BPMN processes as they are software. If possible, do automated unit tests with a fast in-memory workflow engine.
Modeling Best Practices
📄️ Readable Process Models
Create visual process models to better understand, discuss, and remember processes so models are easy to read and understand.
📄️ Naming BPMN Elements
Name all elements in your BPMN diagrams, like activities, events, and gateways, by focusing on the business perspective.
📄️ Technically Relevant IDs
For executable flows, properly name all relevant technical element IDs, like BPMN IDs, in your BPMN diagrams.
📄️ Model Beyond the Happy Path
Model the happy path before collecting problems and exceptions, prioritizing them, and introducing them incrementally.
📄️ Situation Patterns
Document patterns that share common characteristics and find a satisfying solution for modeling them.
📄️ Building Flexibility in BPMN
Sometimes we need ways to build flexibility into process models to deal with operational problems or to allow for humans to intervene.
📄️ Choosing DMN Hit Policy
Hit policies describe different ways (standardized by DMN) to evaluate the rules contained in a decision table.
Operations Best Practices
📄️ Versioning Process Definitions
For real-life applications, it's crucial to understand how Camunda deals with evolving process definitions by means of versioning.
📄️ Process Reporting
The Camunda engine automatically collects audit information about historical process or instances for users to leverage and generate relevant reports.