Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fixed a typo and added two links to relevant articles

...

Some might say that there is a trend among business process modeling, where modeling with preconditions is taking precedence over modeling flow. When the business requirements grow, classic BPM flowcharts become less and less readable, until they finally overflow (no pun intended) with complexity. Maintenance on such complex flowcharts will become difficult and eventually impossible. Shown below are some examples of flows that are used to demonstrate this complexity.

Image Modified
Image Modified

Using independent ad-hoc tasks that have preconditions that state when such a task may be performed and when it must be performed, will result in far better maintainable and flexible business models, a quicker time to market and lower maintenance costs. Furthermore, precondition based tasks will result in a more flexible application, since tasks are only available and/or required when necessary. 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.

...

So how do we maintain complex preconditions and and still oversee the dependencies between tasks? By using the Decision Requirements Graph to provide insight. The Decision Requirements Graph is a diagram that is available in Blueriq 9.3 and onwards and is based on the Decision Model and Notation (DMN) standard by the Object Modeling Group (OMG).
Shown below is an example of such a graph that depicts the decision regarding maximum income for a certain benefit.

...

UI Expand
titleRelated articles

Content by Label
showLabelsfalse
max5
spacesBKB
showSpacefalse
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ("drg","process","decision","dcm") and type = "page" and space = "BKB"
labelsprocess decision drg DCM

...