Page History
From a Blueriq point-of-view, it is not mandatory to use preconditions and ad-hoc tasks exclusively, nor is it mandatory to use flow exclusively. One of the unique aspects of Blueriq is that both approaches are available and can be intertwined to get the best of both worlds. So whenever there is an activity that may only be performed when another activity is completed, it can be modeled with flow. Many discussions in the field are about the difference between static and dynamic processes. By allowing both, we allow for a hybrid approach.
Design
Some people are concerned that - when using ad-hoc tasks - the business process model becomes more difficult to understand and maintain than when flow is used. In situations where no good design is made upfront, they might very well be right! If a process with a lot of activities is modeled by simply dumping all these activities in one single batch and just create (complex) preconditions for all of these activities, this will have, at model time at least, no benefit over a flowchart.
However, in business processes it is very uncommon that all activities can be applicable throughout the entire process. At a certain point (in dynamic case management terms: when a certain milestone is reached), some activities are simply not part of the possible process anymore. Or not part of the process yet. This is why business processes can be dissected into phases. Using phases, milestones, ad-hoc tasks and preconditions will result in really dynamic and flexible business processes, without the downside of delineating all scenarios upfront and connecting the activities with all possible paths.
Below a schematic outline of such a process with phases, activities and milestones is shown.
It is not really necessary to understand every tiny detail of the process diagram shown above. It is more important to understand the different dynamic case management concepts behind it:
- Phase
- Task/Activity
- Milestone
- Precondition
These concepts - and depending concepts - are discussed below.
An important aspect of the process design shown here, is that at the highest level, we speak of phases rather than processes. A phase resembles a period of time within the entire process when the end user is free to perform tasks that are applicable in that phase and contribute to the goal of the phase. Tasks that are not applicable anymore or not yet are not shown, making the application more understandable for the end user. The goal of the phase is called a milestone (in this diagram depicted by a diamond ). Whether a milestone is reached or not is merely a decision, based on availability of data and artifacts in the system.
The tasks within a phase are mostly ad-hoc or automated, but this is not mandatory. Blueriq has the ability to mix ad-hoc and automated tasks with flow-oriented tasks. The most important aspect of this process design is that , as much as possible, the availability and necessity of the tasks depends on the availability of data and artifacts, and not on the completion of other tasks.
As mentioned before, phases consist of tasks. These tasks produce data, which is entered into the system, for instance about an applicant or about a desired product. Tasks also produce artifacts, such as uploaded documents, pictures etc. and generated documents. Preconditions are decisions that tell when the tasks can be (or even must be) performed. These decisions are all based on data, artifacts and other decisions.
In the design shown above, also a row is reserved for the roles that participate in each phase. Although this is absolutely necessary in business process modeling, it is left out of scope in this article.
The Blueriq-design of the example of the process with four phases shown above, is given below.
The process shows different dynamic case management concepts, such as phases and different types of tasks.
Phases
Most processes are - from a high point of view - very linear. So is our example: it consists of the sequential phases Apply, Pay, Decide, Register. In the vast majority of business processes, the phases are singular and linear, meaning a case or process will always be in one phase and after that phase, another phase will follow. When during the design of phases it turns out that many phases can be applicable at once and many different phases might follow a phase, the granularity of the phase is probably off: you are most likely designing tasks/activities instead of phases.
Sometimes however, a phase can be skipped. In this particular example, when registration is rejected on grounds of inadmissibility, the phase registering is skipped altogether. The rejection because of inadmissibility is done when the application is not complete or documents are not valid and the applicant has not been able to provide the necessary information. When the application is complete and all documents are valid, registration could still be denied. Denying and rejecting sound alike, but differ in this example. Denying an application is done when the application is not eligible, although complete and valid. Non-eligible applications are registered as well as eligible applications, but with a negative decision. Rejections, as mentioned before, are not registered at all.
Generic tasks
Sometimes there are tasks that are always available. In this example, it is always possible to register some sort of contact between applicant and the back office, for instance by mail or telephone or in person. This is done using an ad-hoc () task that is also a repeatable task () and has no precondition () throughout the process. In Blueriq, an ad-hoc task without a precondition is modeled with a precondition that is always true.
Life events
Events such as relocation or death of the applicant or, in other cases divorce, the death of a partner, children moving out or unemployment, will trigger the process from outside. For these life events, message events are used.
Process end
After the final phase, this particular process may not end. In this design, a conditional node (that will never ever become true) has been added to keep the process from actually ending.
(In Blueriq, ending a process will end the Blueriq-application).
Shown below is one particular phase of our example process (Apply), containing five tasks.
The process above shows another set of dynamic case management concepts.
Hybrid process: Automated, Manual and Ad-hoc tasks
In the process diagram of the first phase (Apply), we see a hybrid process, containing automated tasks () as well as manual tasks. Furthermore, we see flow-oriented orchestration of these tasks by means of arrows and ad-hoc orchestration by means of preconditions. This is a very strong feature of this process design; with Blueriq it is possible to design processes that contain the best of both worlds. The automated task LoadPersonalDataFromBaseRegister must always be performed first, this is why the task is connected to the start event of this phase by means of a flow-arrow.
STP support
Because of the fact that only automated tasks are part of the flow of the Apply phase, straight through processing (STP) is fully supported. Beware that when non-automated tasks are placed within a flow, STP support is no longer possible. The choice to disable STP in a phase has large consequences and should be made by weighing all aspects of the design. Many customers want STP support and manual support within the same process, which means that only automated tasks are possible in a flow.
Repeatable tasks
Some of the tasks of the phase Apply are repeatable (), such as UploadDocuments. It is always possible to upload documents within the Apply-phase, even after documents have already been uploaded. There is no precondition on this task, so it can always be performed.
Mandatory tasks
In this phase, there is one mandatory () task, RequestRegistration. A precondition will determine whether the task may be performed or not, but the phase Apply will never end unless the task is performed.
Preconditions
All tasks can be performed in a phase, but the order in which they may or must be performed is not set in stone, neither is the applicability of these tasks. Preconditions tell us when the tasks may be performed. A Decision Requirements Graph can be used to visualize the precondition, as shown below for the task RequestRegistration.
Milestones
Milestones (in the process diagram depicted by a diamond ) are used as goal for each phase. A milestone is merely a decision and is based on data and artifacts. The milestone for the phase Apply for instance is only true (and therefor reached) when the application is complete, meaning all mandatory data is provided and necessary documents are uploaded. Milestones are used to steer the phases at a high level. In theory each phase has one milestone that ends the phase and each phase (except the first one) will only be opened when the milestone of the previous phase is reached. It is very uncommon and not advisable to design a process that can be in two phases at once or no phase at all.
Milestones are merely decisions. As mentioned in a previous article (How to use Decision Requirements Graphs to visualize ad-hoc tasks in business process modeling), a decision requirements graph can be used to visualize the entire process. See below and compare this diagram with the first diagram of this article.
Benefits of the design
The main question one might ask is why the design described here should be used. What are the benefits?
Flexibility
First of all, this design is really flexible, similar to the real world the end users live in. When an activity is added to the process, all that needs to be done is add the task to the proper phase and determine its precondition. That's it. In conventional business modeling with activities and flow, adding an activity is much more complex; most likely the activity can or must be added in more than one part of the flow. This results in large and expensive migration to get from one process version to the next.
Understandability
Secondly, this design is much easier to read for business users. Flowcharts tend to be seen as 'technical' or 'IT-like', although that was never the intention of BPM. A process diagram containing phases with activities is much easier to read by business users. Instead of being responsible and accountable for dozens or even hundreds of process diagrams containing complex flow, business users are delighted to see their processes narrowed down to a few simple designs, where the complexity is not in the process itself, but in the activities.
Insight?
Of course there are some concerns regarding this approach. The main concern regards insight. As mentioned before, in a previous article (How to use Decision Requirements Graphs to visualize ad-hoc tasks in business process modeling), we discussed how Decision Requirements Graphs help visualize ad-hoc tasks. This article was written as a response to often heard comments on ad-hoc task modeling regarding insight and overview when modeling business processes with ad-hoc tasks rather than (work)flow oriented tasks. Using the strategy described in this article, combined with the design as outlined here, will result in dynamic processes which are not only really flexible, but also maintainable.
Execution
One should however realize that the real benefit of this approach is not only on the design of the process. In execution, flexibility is needed more and more, and knowledge workers do not do things in a fixed order, do not handle each case in the same way, and might need more freedom to deviate from the path or work with others. This is perhaps best compared to the navigation paradigm. Nobody ever prints a complete route description before stepping into his car. Even more, printing all possible routes to take is practically impossible. Instead, a modern navigation device is continuously adapting to changes; road blocks, traffic jams or other exceptions, and, just in time, calculates a new route. So why try to think of all possible routes in process design?
See also
Everything about persistency management and aggregates can be found here: Persistency Management guide.
A visualization of most concepts discussed in this article can be found here: Blueriq visuals.
Specifically for dynamic case management, see Dynamic Case Management concepts.
A template for dynamic case management can be found here: DCM Foundation - v4 [editor] .
Everything about persistency management and aggregates can be found here: Persistency Management guide.
A visualization of most concepts discussed in this article can be found here: Blueriq visuals.