One of the reasons for my absence from the blogosphere this month is I’ve been heads-down putting together my training on Process Modeling With BPMN.  But when I talk to vendors about what I’m trying to do – teach business analysts how to use things like gateways and events correctly and with a recognizable business purpose – they kind of chuckle at my quixotic delusion.  You’ll never get business analysts to understand that stuff, they say.  But I’m still of the mind that the main reason business people don’t quite get BPMN yet is that the tool vendors themselves don’t follow the spec.  Come on, guys, it’s not that hard.

Let’s start with the free tools.  Savvion, overall a really good one, since it includes simulation analysis (and form builder and other stuff)… for free.  But guys, a parallel split is the diamond with the + inside, not the one with a * inside.  That means something else.

savvion bpmn.png

How about Tibco?  This clip came from Sandy’s blog about it, so I’m not sure of the source of this diagram, but it’s not valid BPMN.

tibco.png

There are 2 paths coming out of the exclusive gateway (diamond with an X inside), but they’re drawn from the same point of the diamond.  That’s not illegal per se, but confusing since those are alternative paths not a parallel split.  The thing that’s illegal is drawing a conditional sequence flow (the little diamond on the tail of one of the sequence flows.. here you can’t even tell which one) out of a gateway.  Conditional sequence flows can only come out of an activity.

OK, how about Appian?  Sandy swooned over that one.  And it does look pretty nice.  Just a few spec violations in this diagram.

appianbpmn.jpg

For example, see that gateway labeled XOR?  Is that a decision or a merge gateway?  It can’t be both, no matter how much Appian wants it to be.  That timer event labeled Wait for Appointment is also used as a merge (2 sequence flows in)… can’t do that in an event.  But those are technical violations, since you can probably figure out what they meant. 

But what about borrowing the ad hoc subprocess symbol (~) and plopping onto a task, which I guess means “this thing may or may not happen.”  Sorry, that’s not BPMN.  They use it in a couple places.  At the top one labeled Cancel Request, I guess it’s supposed to model the possibility of cancellation of the process in flight.  But that’s not how you would do it.  You should wrap the whole thing in a subprocess and use an attached message event.  The other one, on the right labeled Reschedule Appointment, is probably another attached message event (in response to a reschedule request)… but I can’t tell from the diagram exactly what’s happening there.

OK, how about Intalio’s open source modeler?  Admittedly this diagram, from the website hosting the download, would make a business analyst’s head spin, since it looks like using BPMN to model some low-level service invocation.  But too bad it’s not even valid BPMN.

stp_bpmn_diagram.gif

What’s wrong here?  For starters there’s an attached compensation event with a sequence flow out of it going to an event.  An attached compensation event can’t have sequence flow out, just an association (dotted line) to a single compensating activity.  The attached timer event has a sequence flow directly to an event-based gateway (that’s the diamond with the event symbol inside, plus the 2 events hanging off of it).  Not only does that make no sense semantically, it’s not legal in BPMN.  Also you can’t have a “None” event in an event-based gateway, and the gateway has to go somewhere, it can’t just end the process.  This diagram is just a doodle; it shouldn’t be front and center on the Eclipse website.

And last, but not least, there’s ILOG.  I blogged about that one in September.  Fifteen BPMN spec violations in their sample process model!  That has to be some kind of record.

The wrong takeaway from this post would be that BPMN is complex, too complex for business analysts.  Maybe the semantics of the Error event are tricky, but the rest of it is not rocket science.  I’m saying the rules are actually pretty simple, but the tool vendors are simply inattentive in their marketing.  I’m sure someone at each of those vendors knows the spec inside and out, but those aren’t the guys making the sample models and screenshots for the marketing collateral.  Also, the modeling tools obviously don’t include validation routines that weed out illegal diagrams.

All of that is a shame, since the top-tier BPA tools, like IDS Scheer, ProForma, and IBM, don’t use BPMN, or at least don’t use the cool parts of it, like intermediate events.  So when those guys say BPMN’s various gateways and events are too complicated for analysts, how can the BPMN tool vendors argue otherwise?  It looks like they don’t get it themselves.