What’s Wrong With This Picture?

September 6th, 2006

I’m seeing more and more BPMN on the web and elsewhere.  OK, the spec is still a bit loosey-goosey, I admit, but a lot of these examples are just plain wrong, both in terms of the notation and the semantics behind it.

Consider the following diagram of a sample travel reservation process downloaded from a well-known tool provider:

Image 1: travelibp1.gif (click to enlarge)

Here is the right half of the diagram:

Image 2:  travelibp2.gif (click to enlarge)

How many errors can you find?  By my count, about 12.  Note: In the right half of the diagram, the intermediate events in in Change Buyer and Bookings are supposed to be Compensation events (per the property sheet, not shown).  Also, disregard my image-stitching error around the event-based gateway “Receive Update or Cancel?” in the right half diagram.

We’re starting to see some free “tutorials” on BPMN online.  Too bad the authors don’t understand the notation.  Compensation is an obvious problem area.  What’s wrong with this picture?

 Image 3: comp1.gif (click to enlarge)

How about this one?

Image 4: comp2.gif (click to enlarge)

Transactions and Cancel events also seem to be a mystery.  What’s wrong with these?

Image 5: cancel1.gif  Image 6: cancel2.gif

OK, so what?  My point is that BPMN is starting to get a lot of attention, and the parts of the notation that set it apart from traditional flowcharting are being mangled by so-called educational tools.  There’s a growing need for real training, so I’m going to do it myself. 

I’m putting together a licenseable training course on modeling with BPMN that will give non-technical business analysts the real scoop on how to use BPMN events, message flows, and business transaction semantics, as well as the meat-and-potatoes of pools, lanes, tasks, gateways, and subprocesses.  A lot of vendors think business analysts can’t understand events and business transactions (they really mean their process engines don’t handle them), but I disagree.  Shouldn’t business analysts have a voice in how exception handling should work in the process?  We’ll also provide a methodology that explains how to organize subprocesses effectively, and other cool stuff… No, not free, but you get what you pay for.  More details when the training is announced for real!  If you are potentially interested in licensing, send me an email.

In the meantime, since I know BPMS Watch has some pretty sharp readers, post your answers to “what’s wrong with this picture?” in the comment thread.

 

Entry Filed under: BPM

11 Comments Add your own

  • 1. samarin  |  September 7th, 2006 at 2:00 am

    13th error, I think, is that the diagram is over complicated for understanding and implementation.

    I follow a simple drawing style (see an example http://www.samarin.biz/images/bpmn_diag) to separate humans (H* pools), orchestration and other services. This makes BPMN easier to understand by business analysts and IT people, who have to implement (manually for now) a process in BPEL.

    Thanks,
    AS

  • 2. bruce  |  September 7th, 2006 at 8:17 am

    Samarin,
    I agree that stylistically the first diagram (images 1 and 2) could have been better organized using subprocesses, with a simpler high-level view using the collapsed subprocess notation — as you do in your example. But I’m talking about actual errors — things that are either illegal per the spec or the semantics make no sense.

  • 3. BPMS Watch » Can Bu&hellip  |  September 8th, 2006 at 12:55 pm

    [...] This is about business semantics, not programming.  Business analysts can understand intermediate events, exception flows, and compensation.  The problem to date has been a lack of quality training on BPMN supported by a clear methodology for translating process knowledge into diagram correctly.  The current state of market education on BPMN is really quite appalling.  (If you don’t believe me, look here .)  That’s why I’m putting together my own training materials on Process Modeling with BPMN.  Exception handling is too important to be tossed over the wall to the programmers.  Real training and a methodology can give process analysts the tools they need to define how exceptions should be handled in their critical business processes. [...]

  • 4. James Taylor  |  September 11th, 2006 at 3:44 pm

    Bruce
    BPMN is interesting. Some rules related questions occur:
    - how do I differentiate between decisions that are simple “Customer is New/Not New” and complex “Customer’s credit is good/bad”? One of these is about routing rules, one is about decision rules
    - are there any subsets of the activity box to allow me to show decision services as activities more explicitly? Has this been discussed ever particularly in terms of allow looser synchronization of rules and process?

  • 5. BPMS Watch » BPMN a&hellip  |  September 11th, 2006 at 8:27 pm

    [...] In his comment on my post What’s Wrong With This Picture?, FairIsaac’s James Taylor asks many of the right questions about BPMN and Business Rules.  I thought it deserved its own thread.  He asks, - how do I differentiate between decisions that are simple “Customer is New/Not New” and complex “Customer’s credit is good/bad”? One of these is about routing rules, one is about decision rules [...]

  • 6. Kevin Brennan  |  September 12th, 2006 at 11:06 am

    For figure 3, there are a couple of things I can see (although I’m just starting to learn BPMN, so I’m not sure I have the syntax quite down yet).

    If I’m following the spec correctly, there shouldn’t be a compensation event after the gateway–the compensation on the Process Credit Card event is sufficient. A seperate event is only needed when you’re rolling back more than one task, correct?

    Without a seperate compensation event, there’s also no need for the gateway event. The process should just continue with Ship Ordered Product.

  • 7. bruce  |  September 12th, 2006 at 6:34 pm

    Kevin,
    Well, you get the prize for trying, but those weren’t the errors I had in mind. A compensation end event (the one after the gateway) would be appropriate in some cases… but only if there were some other action that could fail between the task to be compensated (Process Credit Card) and this event. But gateways are just evaluations of data expressions by the process engine… not typically things that can fail, generating a compensation end event. Compensation is intended to undo completed action 1 if action 2 (part of the same business transaction) fails. But here there is no action 2. This is error #1.

    Error #2 is the naming (implied function) of the compensating task. A compensation for a credit card debit is a credit card credit. Reporting a fraud complaint may be part of the fault handling logic… but it is not compensation.

    Error #3 is the business semantics of trying to process a credit card, and then regardless of whether the card is good or bad shipping the product. The compensation end event does not kill the other parallel thread, so the product is always shipped. Why would you ship a product if the credit card is bad?

    That leads to error #4. If the credit card is bad, the AND-join can never complete since the thread through the gateway went to the compensation end event. This instance is deadlocked.

    This example is basically messed up from the get-go. In a couple days I’ll post a correct example of a process like this.

  • 8. Kevin Brennan  |  September 13th, 2006 at 6:36 am

    OK, thanks.

    Error #1 is what I had understood as the problem (maybe I didn’t express it clearly enough). #2 and #3 I had noticed but didn’t worry about mostly because the original was a somewhat contrived example (the original site even said that #3 was intentional, if implausible). That said, you’re probably right to call them out separately as it actually is important for analysts to think about what’s in the boxes, not just whether the lines are correct.

    #4 is the really interesting one, at least to me–that’s something that people coming from other process notations are unlikely to realize, because joins tend to be pretty informal.While I’d have avoided the problem by redoing this flow, I could easily see myself making a similar mistake on another process diagram before this was pointed out to me.

  • 9. BPMS Watch » What&#&hellip  |  September 14th, 2006 at 1:31 pm

    [...] Last week I posted several examples of illegal and nonsensical BPMN that you can find online in popular free tutorials and BPMN tools.  If you believe that the notation is too hard for business analysts to use, you might consider instead that widely propagated disinformation such as this is mostly to blame.  Of course you can teach people to use it, including the part where it represents the biggest advance in process modeling, handling of business exceoptions. [...]

  • 10. BPMS Watch » What&#&hellip  |  September 19th, 2006 at 8:30 pm

    [...] Even though I made a point of not embarrassing the author in print, the creator of Figure 3 in my original What’s Wrong With This Picture post takes me to task for not contacting him discreetly with my correction.  Welcome to the blogosphere, my man.  Anyway, he posts his own correction, basically repeating my explanation provided here. [...]

  • 11. Tyner Blain&hellip  |  January 15th, 2007 at 10:36 pm

    BPMN Compensation Event Correction…

    One of our readers (thank you!) pointed out that another blogger was critiqueing one of our earlier business process modeling notation (BPMN) diagrams. Turns out we made a couple mistakes. Here’s a more detailed look at the compensation end event…

Leave a Comment

You must be logged in to post a comment.

Trackback this post  |  Subscribe to the comments via RSS Feed


BPMN Training

BPMessentials
Learn BPMN the right way. Not just compliance with the spec, but maximum effectiveness as a common visual language. Methodology, patterns, best practices, organizing complex models... Hands-on with a tool. Loads of exercises, both inline and mail-in (with individualized help). Certification of proficiency.
Available online and in 2-day public classes. Don't be left behind.
Next classes San Francisco October 1-2, New York November 6-7

Content Requiring Login

Some reports on BPMS Watch are only available to logged-in users. This includes: LOG IN HERE
Registration is easy, and its free. Click here to register. If you are registered, you have access to the private pages.

Pages

Calendar

September 2006
M T W T F S S
« Aug   Oct »
 123
45678910
11121314151617
18192021222324
252627282930  

Featured Advertiser

Recent Comments

Feeds

BPMS Watch Google Gadget

Add to Google

Blogroll