Process Modeling:

Complexity is just a combination of simple things


Business Process Management (BPM):

How you manage complexity in a simple way

Archive for the ‘Process Modeling’ Category

An Event Driven World

Process modeling has been going though an evolution.  If you haven’t noticed the evolution, you have either been living in a vacuum or you are still using flowcharts in Visio.   Everywhere I turn people are talking about processes and process improvement.  At least this is one good thing to come out of the economic recession.

The other trend we are seeing more of in this decade is the use of more events, and less tasks. A task that says that something happened is not a task at all; it’s an event.   To be a task it has to be something that is performed by a person, system, or process.  One could argue that everything is performed somehow, so everything is a task.  So let me ask you this:  Is it a task for the weather when it rains?  Is it a task for the highway that traffic is backed up?   Is it a task for the stock market when the NASDAQ drops by 100 points?    If I can’t put a performer to the task, it can’t be a task.
Read more »

Savvion merges with Progress Software

More industry consolidation

In a previous post I wrote about IBM buying Lombardi, and noted that I expect to see more industry consolidation.  Well, we didn’t have to wait long to find out which merger is next.  They say things  occur in threes, so I wonder which BPM company is next….

The IBM acquisition of Lombardi was interesting because IBM needed to fill the department level workflow product need.  This is where Lombardi is being positioned, according to IBM.

Progress software’s move for Savvion was much more interesting because Progress did not have a BPM system, or history of workflow systems.  Instead, Progress has a wide range of SOA systems and tools, and a strong offering in the CEP (complex event processing) and BTA (business transaction assurance) space.   With these offerings, Progress would more likely be positioned to sell products and services to the IT architecture crowd more so than the business.  Now with a full  stack of BPM, CEP, transaction monitoring, ESB, and data services, Progress is very well positioned to be an aggressive competitor in the BPM market.

I’m very interested in this Progress and Savvion merger because it shows the BPM industry is evolving into more event oriented processes instead of people centric activity.   CEP (complex event processing) refers to the idea that things happen that are not necessarily all part of a process.  For example, I can correlate streaming data from traffic, weather, positions of my delivery vehicles (from GPS), and incoming orders from my order system.  In a BPM world these events would only come together when they are relevant to a given activity.  In an event driven world, these events could potentially affect each other at any time, regardless if there is an active process task or not.  Many of these might not even be part of the BPM system.  When the filtered events are correlated to something interesting, a process action can be signaled. Examples of process action include starting a new process for corrective action.  You could also interrupt, continue, or end a process that is in-flight.

The over-all strategy of CEP + BPM means that there is less integration time for systems. Instead of routing all event activity load through the BPM system, the CEP system handles complex correlations of events, and aggregates them down to things that a BPM system might be interested in.  Also, you can get a broader perspective of multiple process instances simultaneously, especially when activities are in-flight.  For example, a delivery truck is running late.  With BPM only, it’s likely that you would not know this fact until the truck is overdue.  With CEP, I can constantly monitor all trucks via their GPS signal, and report all positions to a dashboard. Furthermore, you can correlate to traffic data in-route, and determine exactly how late the truck will be.  This allows an organization to react to exceptional conditions in real-time.   Keeping in mind, most transport companies (and other industries) do this sort of monitoring anyway, but not automatically.  Without CEP + BPM capability, you would have to perform these correlations manually, which might require a huge workforce.  The key here is that the events are reported in real-time, and the event correlations are more accurate.

Highlights from BPMN 2.0: New Event Types

What’s new in BPMN 2.0: Part 5

Continuing coverage of the BPMN 2.0 specification, this post will focus on the new event types.   Prior to 2.0, BPMN had several problems when it came to escalating events and dealing with events in parallel.  Often I would end up using a pattern with multiple loops inside of loops to accomplish seemingly simple activities. Furthermore, it was difficult to distinguish between human centric and system centric activity for a mixed-mode diagram that includes both.

One goal of BPMN is to bring the SOA camp, the business analysts,  and the process modeling communities closer together.  A side effect of this has been that BPMN is very messaging intensive. For complex interactions, multiple pools are used, which requires lots of messaging lines to keep activity in sync between participants .  This is sometimes a problem for people who come from a flowchart/workflow backround using tools such as Visio, which essentially allows you to create a really bad BPMN diagram due to the lack of diagram validation.  Often I see messaging lines within a pool going between lanes, when what was really intended is to do a simple escalation.  Antoher common problem prior to BPMN 2.0 is showing enough detail without having to show the intricate patterns of looping and dealing with multiple events in parallel.

We are starting to see a shift from multiple pools and lanes to more of a style based on a single pool with no lanes, which means less explicit messaging notation. On the other hand, we are starting to see more capability in BPMN to document highly technical processes for the SOA community.

New Event Types

In this post I will cover the new BPMN escalation event and parallel multiple event. Read more »

IBM makes a consolidation move with Lombardi

This week IBM announced that they area acquiring Lombardi Software.   I suspect this will be the first of several industry consolidations in the coming months. The market is heating up in the BPM space, and it’s only natural that the major players are jockeying for position.  I wonder who’s next?   And I wonder how well my former colleagues at Lombardi are making out on those stock options (I parted ways with Lombardi in 2006).

Your thoughts?

I’m curious to see what some of you other BPM professionals think about this acquisition, and if anyone has any predictions for more consolidations.  Comments welcome.

Highlights from BPMN 2.0: Non-Interrupting Events

What’s new in BPMN 2.0, part 4.

BPMN 2.0 adds a lot of new concepts.  Many of these are long overdue to be added to the spec.  Others are a totally new concept.  In this post we are going to take a look at one of the long-overdue fixes to the BPMN specification; the intermediate events on the subprocess border.

In previous versions of BPMN, placing an event on the subprocess border meant that when the event was triggered, the exceptional flow would become active.  Also, this means that normal flow stops.  In the diagram below, subprocess A ceases when the timer event is triggered.  Instead, the “handle timeout” subprocess is active at that point.  In other words, subprocess A has been interrupted.

Intermediate Interrupting Event

Intermediate Interrupting Event

There is another use case that BPMN 1.2 did not cover.  What if the timer event isn’t supposed to interrupt subprocess A?   Just to clarify, in the BPMN 2.0 specification, Interrupt means that the parent subprocess will end.  This is similar to a cancel, but cancellation is another concept and another shape entirely.  So it’s called interruption.  There is another use case for non-interrupting events that has long been a challenge prior to 2.0.

Read more »

Highlights from BPMN 2.0: Event Gateways

Event Based Gateways

by Rick Geneva

This post is a continuation of the Highlights from BPMN 2.0 series.

At Last!  The long awaited changes to the numerous problems with the event based gateway.   First off, there was only one type of event based gateway in BPMN 1.0 – 1.2, and it is exclusive behavior.  Exclusive event behavior means that only one event can trigger the gateway.  Also, there was only one shape that served a dual role of start and intermediate event, yet the shape did not have any variations as the event shapes do (see Demystifying the Event Based Gateway from my previous post).

First, let’s take another look at the original Event Based Gateway from BPMN 1.0 – 1.2

Read more »

Highlights from BPMN 2.0: Artifact Shapes

BPMN 2.0 (to be released late Q2, 2010) includes some additional artifacts that are quite useful for documentation purposes.   In BPMN 1.2 there was only the data artifact, text annotation, and group shape.  There are now 6 more artifact shapes.    This post outlines the new shapes and my thoughts on what the impact will be to BPMN process modeling.

Read more »

Highlights from BPMN 2.0: Activity Types

The BPMN 2.0 specification adds a number of improvements and fixes to the BPMN 1.2 spec. Up until now I haven’t been watching it closely because there were too many changes going on, and it won’t be until July 2010 before BPMN 2.0 is final and released to the public. Due to my recent introduction and collaboration with one of the coauthors of the spec, Vishal Saxenda, I got an insiders look at what’s changing.

The new specification is over 500 pages long, which is much more than most of us have time to digest.  Furthermore, the specification is heavily laden with XML and references to mapping BPMN to the BPEL runtime. This is quite useful for standardizing BPM systems but might be more technical than the average process modeler wants to hear about.  Over the next few posts on this blog I will be highlighting some of the most important changes, and what it means to you as a process modeler.

In this post I will describe the new BPMN 2.0 task and activity types.

Read more »

What’s so hard about process modeling?

Process modeling today is more about managing complexity than it is drawing a diagram.  Even the as-is process model is very complex these days.  The individual worker has never been more empowered, due to the technology we employ.  What used to be the work of 10 people can now be accomplished by 1 person.   But these efficiency gains come at a price.  A human being can only do so many things before they become saturated with information.  Task prioritization becomes difficult.

Read more »

Demystifying the Event Driven Gateway

Event Based Exclusive Gateway

The event driven gateway is one of the most useful symbols that I know of in BPMN.  Yet it’s often overlooked as a solution to common problems.  It is a compound symbol, inheriting attributes of other BPMN shapes.  First of all, it’s a gateway that is used to split sequence flow paths.  The gateway is the diamond symbol.  Inside this diamond shape you will see the intermediate event shape, which is the double thin line circle.  Inside the intermediate event shape there is the pentagon, which is a symbol for multiple events.  So when you put all of this together we have a gateway that deals with multiple intermediate events.

BPMN version 1.1 and higher

BPMN version 1.1 and higher

In all of my classes I tend to get more questions about the event based gateway than any other shape in BPMN.  This is probably because there are so many use cases for it, and its pattern to many people appears to be drawn backwards.  Most beginners in BPMN tend to draw the pattern with the intermediate event shapes to the left of the gateway.  Let’s start by looking at the basic pattern and then discuss some of the potential business scenarios where you could use this notation.

Read more »