The BPMS owns the model
Monday, February 8th, 2010Sandy Kemsley commented on the XPDL 2.2 effort to support the interchange of BPMN 2.0 model. I agree with her that it is a good thing. It will be a while before the BPMN 2.0 interchange formats are completed and even longer (if ever) before enough vendors support import and export of the format for it to be the lingua-franca of process models.
XPDL 2.1 is already supported by many tools, including ActiveVOS, so extending XPDL to support the new constructs in BPMN 2.0 will provide the fastest path for most vendors to achieve some level of interoperability of their BPMN 2.0 models.
Nonetheless, I’ve found that most people who have asked Active Endpoints about model import/export formats have been people who have the wrong idea of how to work with a BPMS. These are people who are trying to hold on to their old waterfall methodology for building software, where there are separate tools for building process models during analysis from the development tools that are later used to create the software. In that world, there is a constant need to translate back and forth between the tools as changes may occur on either side.
And there’s the rub. The roundtrip translation always loses so much information that the effort to keep the separate representations in sync and accurate outweighs the value of using the automatic export / import functionality. Eventually, changes made on the analysis side get redone on the implementation side by hand, and vice versa.
The right way to work is to let the BPMS own the model. Yes, you may want to allow early requirements gathering to use simpler modeling tools, but those tend to be fairly informal flow charts anyway. Once you get involved in real modeling you should use the modeling capabilities of your BPMS. By “real modeling”, I mean that you are at the stage where the precise semantics of the notation used is important, since it is going to drive the actual semantics of the resulting software.
In the early phases, the process models are diagrams where the labels on the diagram are what really matter. For example, the arrows coming out of an activity might formally imply that both directions can be followed at once, but the labels on the arrows have labels that imply that one one of them will happen. This is OK during the early stages of modeling, since it is another human who is going to be reading the model and they can guess what was really meant (or they can ask, if they aren’t sure).
Once you are ready to do real modeling, it is time to get the BPMS involved. That way the process model you create will go the rest of the way through the lifecycle of the project without need for translation, much less round-trip translation. How you get from the informal stage to the formal stage of process modeling isn’t really all that important. Yes, you can use XPDL 2.1, but it doesn’t really even matter if you have to redraw it from scratch. Drawing it is very fast in a capable designer like ActiveVOS, and the person doing the modeling is already going to have to be carefully considering each jot and tiddle of the original diagram to determine how to correctly model what the user really wanted to begin with.








