It’s the last day at BPM 2012, and the morning keynote is by Steve White of IBM, a.k.a. “the father of BPMN”, discussing the Business Process Model and Notation (BPMN) standard and its future. He went through a quick history of the development of the standard from its beginnings in BPMI (now part of OMG) in 2001, through the release of the 1.0 specification in 2004, the official adoption as an OMG standard in 2006, 1.1 and 1.2 revisions in 2008 and 2009, then BPMN 2.0 in 2011. Although there’s no official plan for BPMN 3.0, he said that he imagined that it might be in the future.
The original drivers for BPMN were to be usable by the business community for process modeling, and be able to generate executable processes, but these turned out to be somewhat conflicting requirements since the full syntax required to support execution ended up making BPMN too complex for non-technical modelers if considered in its entirety. To complicate things further, the business modelers want a simple notation, yet complain when certain behaviors can’t be modeled, meaning that there’s some amount of conflict even within the first of the two requirements. The approach was to use familiar flowchart structures and shapes, have a small set of core elements for simple modeling, then provide variations of the core elements to support the complexity required for execution.
BPMN, as White states, is not equivalent to BPM: it’s a language to define process behavior, but a number of other languages and technologies are also required to implement BPM, such as data, rules, resources and user interfaces. Hence, it’s one tool in the BPM toolbox, to be used at design time or runtime as required. The case management modeling notation (CMMN) is under development, and there are currently mechanisms for a CMMN model to invoke BPMN. Personally, I think that it might make sense to combine the two modeling standards, since I believe that a majority of business processes contain elements of each.
He walked through the diagram types, elements, and the innovations that we’ve seen in modeling through BPMN such as boundary intermediate events, pools/lanes and message flows, and the separation of process and data flows. He also described the conformance levels – descriptive, analytic, common executable, and full – and their role in modeling tools.
He laid out a bit of the vision for BPMN’s future, which is to extend further into uncontrolled and descriptive processes (case management), but also further into controlled and prescriptive processes (service level modeling). He also mentioned the potential to support for element substitution at different levels in order to better support shared models between IT and business – I find this especially interesting, since it would allow different views of the same process model to have some elements hidden or exposed, or even changed to different element types suitable to the viewer.
When BPMN 1.0 was defined, ad hoc processes (really, one in which the activities can occur in any order or frequency) were included but not really well developed, since the BPM systems at the time mostly only supported prescriptive model execution. In considering case management modeling in general, a case may be fairly prescriptive with some runtime variations, or may be completely free form and descriptive; BPMN is known for prescriptive process modeling, but does support descriptive processes via ad hoc subprocesses. Additional process types and behaviors are required to fully support case management such as milestones, new event types and the ability to modify a process at runtime, and he showed some suggestions for what these might look like in an extension BPMN.
Service level modeling, on the other hand, is even more prescriptive than what we see in BPMN today: it’s lower level, more like a screen flow that happens all within a single BPMN task: no lanes, since it’s all within a single task, with gateways allowed but no parallel paths. Think of it as visual pseudo-code, probably not exposed to a business viewer but modeled by IT to effect the actual implementation. I’m seeing these sorts of screen flow models in BPMS products already such as TIBCO’s AMX BPM, as well as similar functionality from Active Endpoints as an add-in to Salesforce, so this isn’t a complete surprise. I saw an paper on client-side service composition at CASCON that could impact on this sort of service level modeling, and it will be interesting to see how this functionality evolves in BPMN and its impact on BPMS products.
This is my last post from BPM 2012: although I would like to attend a few of the other morning sessions, I’ll probably spend the time doing some last minute reviews of the three-hour tutorial on social BPM that I’ll be giving this afternoon.