Since I’m here in part to firm up my knowledge about BPM standards, I chose to attend four technology roundtables and none of the executive (business focussed) ones. The first one that I attended was on BPMN, led by Petko Chobantonov of Lombardi. Petko’s involved with the development of the BPMN standard and was really pushing us to find out what else should be added to the standard in the future. I was the scribe for that session so have a ton of notes, my problem is trimming them down and making them understandable in this post.
First of all, Petko made the statement that OMG is not recommending XPDL for serialization of BPMN (i.e., a file format in which to save BPMN), but recommends the use of BPDM (which isn’t released yet, although a very early draft is due next month). This sets up for an interesting showdown between XPDL, which is already in use by 30+ modelling and BPM vendors, and BPDM when it finally is released this year or next.
For the first time, I heard about BPRI, Busines Process Runtime Interface, which incorporates information gathered at runtime such as metrics and statistics about a process (I think). Petko has a bit more on his blog about it here, and I’ll be looking at this in more detail since I think that this is a necessary standard as well.
One of the participants from an end-user organization said that they have extended BPMN with 3-4 custom types in their internal use, one for applications and one for data elements. He also said that they have difficulties in publishing and communicating BPMN diagrams because of the complexity, and that there needs to be some easier ways to abstract a flow in order to present it to someone who is not intimately involved with the process, such as executive management. Although using just a linear set of milestones was suggested as an abstraction model, removing all of the split/merge and other flow information, I think that some of the flow information should be left in place even in a high-level diagram in order to provide sufficient value.
This was also one of the times during the day when I heard about the crossover between BPMN and enterprise architecture. We discussed different perspectives (similar to the perspectives in a Zachman diagram), and although Petko felt that the standard could be extended to become effectively a higher-level diagram from which you could invoke other EA perspectives, like organizational and motivational models, I think that BPMN holds a place as a standard for creating artifacts in one or two of the Zachman cells in column 2 (process), not as an overarching EA model.
We had a discussion about the standard organizational tree-type chart, and how the boxes in that correspond to swimlanes in a BPMN diagram. From that, we talked about how to represent information in the org chart based on which processes that a particular role participates in, and also discussed the stickier subject of assigning roles a bit more dynamically based on a collection of capabilities rather than a pre-determined role. That got me thinking about whether we’re asking the question the wrong way around: instead of the asking what capabilities exist in a role or person, should we be creating the roles or services based on what combinations of capabilities exist? Something to think about later.
We talked about a dependency diagram for subprocesses used in multiple processes, and whether this should be a standard view defined in BPMN, or if it’s informational rather than notational. If the audience for this information is primarily the business analysts who use BPMN, then perhaps a graphical standard is appropriate, although it’s a “report” of sorts, not a working model.
Petko finished up with some ideas about defining aspects of a process, such as security, escalation and exception handling, in order to simplify the primary representation. The aspects would be invoked whenever an activity is executed, but represented on separate diagrams. In that way, an aspect would effectively be a template for activities that could be overlaid on any of the activities in the main diagram and extend the meaning of the main diagram. Each activity in the main diagram would need a mechanism for passing some number of parameters to the instance of each aspect that may execute for that activity, for example, some measure of the time-criticality of an activity in order to trigger an escalation at the approriate time.
Tons of ideas came out here, as they did at the later roundtable that I attended on BPEL, and I’m looking forward to the roundtables today.
Time to head off to the conference (I’m already 5 minutes late and still have to finish packing and check out); more throughout the day as I get a chance.