Archive for September 19th, 2006

What’s Wrong With This Picture - Part 3

Even though I made a point of not identifying 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.

But if the guy were really engaged, he would have noticed that images 4, 5, and 6 are also his bogus examples.  So to accelerate this thing, let’s just post the answers here so we can move on to more interesting stuff.

Figure 4.  Here he uses a compensation end event in one pool to “throw” a compensation caught by a compensation intermediate event in another pool.  Can’t do that.  In BPMN, different pools are different processes.  They only communicate by message flows, not events.  You can only throw and catch events within a single pool.  In this diagram, for example, an unhappy buyer cannot terminate his own process and throw a compensation to the seller’s process that reverses the charge.  Instead he would have to send a message to the seller (and return the goods), and the seller’s process could then throw the compensation and reverse the charge.  That’s pretty basic.

Image 5.  This essentially repeats all the errors of image 3 (e.g. see here), except within a BPMN “transaction” subprocess (double border).  Transaction subprocesses and Cancel events (with the X inside) are kind of problematical in BPMN — BPEL doesn’t have a way to support them, and BPMN already supports business transactions even without them.  The BPMN 1.0 spec essentially says “we’re still trying to figure this one out.” So in my BPMN training I’m going to recommend best practice is to avoid transaction subprocess and Cancel events entirely. 

But just so you can’t say I’m double-counting the errors of image 3, image 5 throws in for good measure an error on the BPMN link event (arrow symbol inside).  Here it’s shown as the start event for the Fulfill subprocess, which is incorrect.  You would use a link start event for a subprocess in two cases: 1)as a chained off-page connector, e.g. if the main process after Confirm Availability went to an intermediate link event in a normal flow (i.e. with a sequence flow into it); that means go to the next step on another page of the diagram, which would be shown with a link start event.  2)state-based synchronization, typically used when a downstream activity starts based on completion of an activity in one thread of a parallel flow – if this sounds obscure it’s because, yes it is, but it maps to the “link” activity IBM somehow got into the BPEL spec.  Anyway, neither of these applies in Figure 5, and the subprocess should not have the link start, just a regular start event. 

Image 6.  This one is just weird.  I’m not sure if it technically violates the spec or not, but it’s not very helpful in explaining BPMN.  Here printing a newspaper is modeled as a transactional subprocess.  A message intermediate event from the publisher stops the presses in an exception flow, which then throws a cancel event, which does not compensate anything but just recycles the paper (!).  In this example you could throw out the transaction subprocess entirely and replace the cancel event in the main flow with the publisher’s message event, leading to stop the presses (actually implicit already in the exception flow so you don’t even need that step) and then recycle paper.  The transaction and cancel — the nominal purpose of this “example” — add zero to the semantics.  Just bad teaching.

2 comments September 19th, 2006

Three Cool Things About Pega

Last week I got an in-depth briefing from Pegasystems.  I wrote a report on their SmartBPM Suite v4.2 in the 2006 BPMS Report Series, but they’ve made some subtle tweaks to the product in v5.1.  More than that, they’ve changed the way they talk about it, which for me helps tremendously in thinking about Pega in context of other BPMS offerings.  And I came away quite impressed.

If you remember the old Pega, it was always about rules and object-oriented design.  Everything was a rule — routing, integration, user interface… in addition to actual business rules.  Plus they would go on forever about object inheritance, polymorphism, and all that yucky stuff.  Now it’s about ease of development, managing complexity, and solution value out of the box.  Can I dig that?  Yes I can.

In the old Pega, the first step to building an app was defining the object class hierarchy. Yeah, that’s a great way to start a business-driven initiative!  You can still do that if you want, but in the new Pega you can just start with process modeling, and they create the object class structure under the covers.  When things start getting complex — different departments doing their own special tweaks –  you can always get into the object class thing, but by then you’re already getting something done.  Pega would argue, and I guess I can’t disagree, that when you’re rolling out a process broadly in the enterprise, different variations of the process are going to be required, and using object inheritance to manage both the base functionality and the variations is actually a strength.  But they don’t make you get a CS degree to get started anymore.  So that’s cool thing number one.

Cool thing number two is their emphasis on the end user experience, i.e. the task user interface for process participants.  Other vendors, like Lombardi and Adobe, also hang their hat on this one, but Pega takes the prize for making dynamic Ajax interfaces and screenflows easy to develop with visual forms.  It’s not even scripting, just  point-click.

The third cool thing is solution value out of the box, particularly for insurance, health care, call center, etc.  Other BPMS vendors have “solution template” demo software that they give away, but this is the real deal.  Engineered, QA’ed, documented, warrantied software that does real work out of the box, with built-in support for complex business objects like HIPAA transaction sets, business rules, and performance management reports.  I think this is a key reason they scored so well in the Gartner MQ, and they try to market these solution templates as something every BPMS is supposed to have.  But when the industry norm is fake solution templates and you have real ones, I’m not sure that’s the best approach.

Anyway, kudos to Pega.  I’m paying attention now.

 

Add comment September 19th, 2006


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