Best Practices p6
Best Practices p6
Version: 8.5
CAMUNDA 7 ONLY
Carry out We cancel this activity in Carry out We continue this activity in
default activity case "something happens" default activity case "some time elapses"
In addition,
Instead, carry
carry out this
out this activity
activity
Something
happened
3
In addition,
carry out this
activity
...
1 While we are occupied with carrying out some area of activities, in a scope of our process...
2 ...an event might occur, which causes us... Ask AI
3 ...to carry out this activity in addition to continuing with ordinary work.
Event subprocesses
Sometimes we need to build in flexible activities which are carried out at any point in time. In such cases, we can leverage BPMN's event-based
subprocesses.
... ...
We cancel the whole process instance We continue the whole process instance
in case "something happens" in case "some time elapses"
Escalation events
Sometimes we need highly flexible means to cancel scopes or trigger additional activities from within a scope. The BPMN escalation events can be
particularly useful to implement such requirements.
3 4
1
Carry out a Carry out a
... ...
first activity second activity
First activity
carried out
In addition,
carry out this
activity
...
1 As soon as we are finished with the first activity inside the scope...
2 ...we inform the surrounding scope about that and trigger an additional, essential activity...
3 ...but also continue with our second activity to complete the subprocess.
4 We can then already continue with the follow-up work regardless of whether that additional activity is already finished.
Terminate end events
To build flexibility into process models, it is also useful to remember that the termination end event just terminates the scope within which it is
defined and therefore not always the whole process instance. With that technique, it becomes possible to cancel some activities inside a subprocess
while completing it successfully and leaving it via the typical outgoing path.
2
Carry out one 1
... activity to ...
achieve result
... ... ... ...
1 As soon as one of our two activities achieves the result, we can cancel the other one...
2 ...and successfully complete the subprocess and normally continue with our follow-up work.
Examples
Allow proactive order status communication
Assume that for an order to be validated, the customer must determine the delivery date before we can confirm the order. If the order is not
acceptable—due to consistency issues or customer related issues—it is declined.
Some of our orders might be so important that we want to ensure we keep customers happy, even if not everything runs smoothly on our side.
Check Determine
Validate order
customer delivery date
Order received Order confirmed
Order declined
Order
important?
Proactively
Proactively
1 inform 2 Determine Yes inform
customer about order
customer about
order status importance
On demand Customer Every two
delay
details Customer
informed weeks informed
No
No proactive
communication
required
1 Order managers can request proactive customer communication on demand. Assume they can communicate the reasons via a form, whereas
the communication as such is carried out by the call center.
2 On a regular basis, we check based on some rules, whether the order is so important that we proactively communicate why the order is not yet
confirmed. Again, the communication is carried out by the call center.
Allow for order cancellation any time
The customer might be allowed to request a cancellation until the order is confirmed. This request would have to be reviewed to determine whether
we must accept the cancellation.
Check Determine
Validate order
customer delivery date
Order received Order confirmed
Order declined
Cancellation
accepted?
1 Review Yes 2 3
cancellation
request
Order cancellation Order Order Order cancelled
request received cancellation cancellation
requested requested
No
Order
cancellation
denied
1 Whenever the customer requests a cancellation until the order is confirmed, we review that request and decide whether we have to accept the
cancellation or not.
2 If we accept the cancellation, we must terminate the entire process. To do so, we need to use one trick: throw an error event that will end the
current event subprocess, but not yet the order process.
3 This leads to another subprocess to be triggered, and this one is interrupting. Now, the process instance is really cancelled.
Allow for order details to change, but repeat order validation
CAMUNDA 7 ONLY
If the customer changes the order details, the order must be validated again.
Order Processing
Check Determine
Validate order
customer delivery date
Validate order
Order not
Order validated acceptable Order declined
Tags: BPMN