Navigation
  • The MicroGuide to Process and Decision Modeling in BPMN/DMN: Building More Effective Processes by Integrating Process Modeling with Decision Modeling
    The MicroGuide to Process and Decision Modeling in BPMN/DMN: Building More Effective Processes by Integrating Process Modeling with Decision Modeling

Entries in Process Modeling (9)

Tuesday
Jun122012

Starting Processes Multiple Ways in BPMN

In BPMN 2.0, there are several ways to start processes with multiple events. There is a ‘multi-start’ event which looks like this:

 

Because they are abstract, multiple events can be hard to understand. Generally, a multiple event is "shorthand" notation for multiple events triggering a process. Triggers could include messages, timers, conditions, signals, escalations and other event types.

So, usually when a modeler is working with a requirement to start a process – multiple ways, we suggest the multiple-event gateway.  With event based gateways, a path is chosen based on an event. For example, "web form" is a possibility. Also, there could also potentially be no response at all. The Figure below shows an example of handling all three of these events from one gateway.

 

Multiple events on a event based exclusive gateway

The event-driven exclusive gateway can come in the start of a process, or in a sequence as an intermediate shape. When the gateway is at the start of the process, the event shape inside the diamond is the start multiple start event (single thin line). The figure shows the use of the intermediate, event-driven gateway after an ordinary start of a process.  The BPMN2.0 spec also has a starting form with a single thin circle at the center. We end the pattern with a data-based exclusive merge because with the ‘exclusive’ type of the multi-start gateway.

There is also an inclusive form of the event-gateway, but that is the topic for another conversation.

Friday
Mar232012

A BPMN Pattern that Avoids Complex Merges

Arun Pareek In a blog post (here), described a solution to a process problem where three parallel tasks are executing. When one of the tasks completes with a particular condition, he uses a complex gateway merge to halt the execution of the other tasks. He called this ‘dead path’ cleanup. The original paper on dead-path elimination is here.

For you convenience, I will show Arun’s bpmn use case here:

 

The use case is for a security check that verifies Citizenship, Credit and Criminal checks. The topic of the dead path was the termination of one of the tasks Citizenship or Credit, when the criminal check had passed and one of the two activities, in pink, had completed.

In the Microguide to Process Modeling in BPMN, Rick and I do not support the use of the complex merge shape because they are confusing, and hide the logic that we are trying to build with our process modeling. All the logic from a complex merge shape can be defined in a subprocess. This example is a perfect demonstration of this. The fact that the ‘criminal background check’ result will cancel the citizenship and credit is hidden in Arun’s solution. Also hidden in the solution is the fact that the 'dead-path' elimination is an Oracle specific extension.

The recommended solution, with thanks for the help to Gilles Rabaud and Thomas Allweyer, shown here in an inubit (link) process modeler:

 

 

This BPMN:

  • Places the criminal check in a subprocess and the other activities in an enclosing subprocess
  • Starts these in parallel
  • Raises an exception to the border of the outer subprocess if there is a failure in the criminal check
  • For the credit and citizen check, the first activity to return a valid check escallates the inner subproces

 

 escallation and errors manage the threads in the same manner. The BPMN 2.0 spec explicitly provides for thread termination with the error event plus (conditionally) the escalation event.  

In my original post on this topic, several reviewers noted that I did not cover the exact use case described by Arun's post. The point of the complex merge was to cover the case where the Criminal Check passed and either the Citizenship or the Credit check passed (activities in Pink, here). In this case, you can place the Citizen Check and the Credit Check in a subprocess and when one passes then use the raise escalate the edge of the subprocess.

This shows the power of the escalate shape and makes it very clear what is happening.

While this approach requires more canvas, it is clearer what is happening and why. This said, I understand that Arun was merely demonstrating how to use a complex merge in the Oracle Tool.

Sunday
Mar042012

Does Your Modeling Capture the 'Swiveling Chair?'

The OMG’s Business Maturity Model (BMM) (link) suggests that organizations should rely on a system of strategic business initiatives from senior management whose implementation is delegated to subordinates (roles).  The delegation acts through processes and business rules and responds to events. However, when a bottom-up process discovery is conducted, the actual process varies widely from the way management has proscribed business operations to function.  Sometimes this is because of legacy process and antiquated technology; sometimes it is due to habit.  Sometimes the need for efficiency created the misaligned processes, and employees, under pressure use creative on-the-spot (ad-hoc, undocumented) solutions. 

Modeling Run away, Manual and Ad Hoc Processes

We often encounter organizations that spend months (or years) analyzing the daily, manual work of individuals.  At the work unit, they might find workers that do not know the business’s basic strategy; let alone the rules.  For example, data entry personnel might copy data into a green screen on another system from a flat file or printout. Often they do not know why.  Frequently there was no solution available to solve the problem.  Until it becomes documented, standard practice, management might not know this. As the business grows and more technology is added, what were 2 persons become 10.  Eventually, with 20 similar processes, 200 people are doing uniformed, manual labor. 

For instance look at the process fragment  below:

Figure 1: A Consumer Credit Check

Process modelers often mistakenly identify the ‘consumer check’ task as an ordinary task with a message flowing to the credit agency. This can be misleading. Often the process is actually manual and the sales personnel are utilizing an extramural application (swivel chair activity) to gather the data. If this is the case, the process below would be more correct.

Figure 2: The Credit Check as a Manual Process

The second BMPN fragment uses the ‘manual task’ to correctly identify the use of the extra mural activity. Perhaps the use of the ratings agency’s web service would be a good ‘to-be’ process.

Seeking Solutions

Organizations need a method which:

  • Creates Models that are easy to understand; higher levels models should clearly parallel management objectives
  • Accommodates improvements and optimizations without necessitating wholesale revisions, be the structure of the models should parallel the structure of the organization, and promote process reuse or federation
  • Easily models complex processes with core patterns and templates
  • Promotes rapid modeling of processes.
  • Defines a scope and context to every process discussion

Once managers have verifed the objectives, business analysts and experts should create scenarios that achieve enterprise goals. Moreover, because process should be linked to the structure of the organizations, its goals and objectives are directly linked to roles. Until 'swivel chair' processes  are properly documented, management might not know their existence. We describe better approaches to process modeling in our second edition of the Microguide to Process modeling.

Tom Debevoise

Friday
Sep022011

Use Cases for the Internet of Things

A use case is a description of steps or actions between users, (participants, products) and core software systems which leads the user towards something useful.  In our practice of business process modeling, particularly at Bosch, I have been encountering many ‘Internet of things’ use cases. These ‘things’ or products are process participants, as opposed to simple data feeds or event sources. They are responsible for activities. They send and respond to signals.

Use Cases for the Internet of Things

In the new world of process modeling for the “things world”, product features respond (process) to their environment (events) according to the needs and desires of their owners (decisions and rules). In addition, process activities are continuously updated and communicate in a globally connected environment. This is the nature of the internet of things or the ‘things world’. Some, aspects of the process, events and decisions will be controlled by the end-user. Other aspects are controlled by the things, outside agents, products or by others, such as weather or an electrical utility (smart grids).
The goal of BPMN and other visual environments, such as Visual Rules is to empower the stake-holders, such as product experts, to control their area of concern, without writing computer code. End-users can configure the actions in the use case, according to their needs.  This is referred to as the ‘user creating the application’. In the ‘things world’, a wide range of products that will interact in unanticipated ways. Cameras, household appliances, security sensors and many other things will interact. The end user will probably not use BPMN for this; however, they will want to change the sequence of tasks and the nature of responses to events.

BPMN in the Things World

The visual approach, including BPMN, is a common way to model process and rules, and now even events.  What can be difficult to relate is how to build a use case that matches ‘things’ requirements with a list of objectives for events, processes and decisions. What is needed is a context for arranging the vision into a form that can be incorporated into products.
The outcome should be to define services that support product features, events and decisions that carry out the use case objectives. This is the beginning of an iterative process, a starting point for building a core set of services that support a more integrated portfolio of capabilities.
There are many native benefits to the combined Process/Event/Rules approach that enhance competitiveness. The result should be a portfolio of agile products and process features that increase agile responses to customer requirements, economic or competitive challenges. Over time companies, by adopting the strategy, will build an agile core for managing a collection of common events/process/decisions and information structures that support the objectives of the business. This is the clearest path to the ‘internet’ of things.
As I mentioned in an earlier post, the ‘things world’ is not just sensors, appliances and cameras connected to the internet. This connectivity will spawn new business models and new opportunities.  To wit, there are underpinnings, including vocabulary, product/services, organizations, and personnel and training data structures that are critical to every process, and therefore every ‘internet of things’ initiative.

Tom Debevoise

Tuesday
Aug102010

Business Rules Usage Patterns

Dr.  Ketabchi, from Savvion, believes there are seven process usage patterns. These are 

  1. Human Centric
  2. Document Centric
  3. System Centric
  4. Decision Centric
  5. Case Management
  6. Project Centric
  7. Event Centric     

There is an eighth one, the 'shadowing' process. This is a process for monitoring 'legacy' processes. Dr. Ketabchi A description of each of these processes can be found in this BPM Institute recorded webinar.

As the BPM Industry matures, these patterns will emerge. We know from design patterns, that best practices can emerge from the wisdom of experience. 

I believe there are some distinct business rules usage patterns. I list these here:

Usage Pattern Center

Typical Legacy Sources

Application

Characteristics

Computations and Score Carding
 

Spread Sheets, Desktop Databases and Scripting

Credit Risk, Security Targeting
 

Generally Computes one or more metrics. Often one or more decision tables serve as the final arbitrator

Hierarchical or Hierarchical Graphs 

Database and Scripting Languages, Cobol

Insurance, Social Benefits or Entitlements 

Seeking a number of nodes in a large graph of options and factors. Logic can be deeply nested and the graph can be imperfect

Pattern Matching

The Gamut of Source Code (C++, Fortran, Basic, C#)

Fraud Detection, Market Abuse, Security

Often applies multi-variant or fuzzy logic 

Algorithmic Decisions



 

Source Code



 

Derivatives,  Hedging, Environmental Modeling

Focusing on Applied Numerical Methods, Regression Techniques and Statistics

Event Directors

Java

Sensor-Based Controls

Uses within event processing applications

 

 - Tom Debevoise