Steve White gave a keynote speech at the BPM2012 conference this morning on the history and development of BPMN. He has been the driving force for BPMN from the beginning, chairing the development committee for many years, and he is still driving this forward today. He gave an excellent overview of the origins and development of the notations. My interest picked up when we started to talk about case management and I cover only that topic here. (Sandy Kemsley covered the talk as well.)
Case management is a hot topic right now. BPMN does not do case management today. Not yet working on BPMN 3, so we are not really working on this at the moment, but we might consider how BPMN might be extended for case management.
There is no wide consensus on what, exactly, Case Management is.
- some think it is a straight thru prescriptive process
- other situations there is a lot more free-form
Steve feels that case management is just a bridge between process and content.
BPMN 1.0 and 2.0 focused on prescriptive processes, but there is some support for ad-hoc sub-processes. At the same time OMG is developing a Case Management Modeling Notation (CMMN)
There would be some additional requirements on BPMN: support for milestones. We might need new types of events. Notations for preconditions, post conditions, and dependencies on tasks. Might want to have new support to skip, interrupt, and resume activities. Adding activities on the fly is necessary, but this is not necessarily part of BPMN, but more of the adaptability aspects of the tools that support it.
Adaptability: BPMN does not care when you modify the process. It can be used at design time, or it could be used at run time. With case management there is a lot more pressure to adapt the process at runtime. The line between design time ad run time is being blurred. Or you could create new process on the fly. There is a need for some additional security constraints.
Steve showed some potential notation extensions. He showed markers for preconditions or completion conditions. Case event or a Content event. Milestone might be an oval shape. Dashed line might be a “potential task” which is part of a library you might insert at some point.
Originally, the ad-hoc sub-process was a placeholder for modeling descriptive processes. This is probably inappropriately named. Ad-hoc might normally be more about adding at run time. What we mean here is a process that has less semantic constraints than a normal workflow. What an ad-hoc process does is that there is no pre-defined sequence of activities, but only documenting what activities are available. You might need some addition to indicate data that is required at steps.
Issues: are there case management activities that do not apply to BPMN? Steve thinks that BPMN can cover most of it. Yet, there are notations that still need to be defined.
Wil van der Aalst asked whether any products really support the full standard. Steve clarified that while the products claim support there is no verification of that. He stated that OMG does not provide any verification of notation support, and was not aware of an organization doing this. (see note about Process Incubator below)
Another audience attendee was surprised to hear the term “Case Modeling” being used in a modeling format. This seems like a contradiction. Case management is almost entirely document oriented. Seems surprising to start with process. Is it really a good idea to start with something that has process orientation? Steve answered that the CMMN effort is starting with a meta-model to define what a case is, and it is a pretty small model at this point. Then, once the case is defined, I am looking at how BPMN might be able to support that. People looking at CMMN are looking at milestones and behavior around events.
Reflection
We had the honor of having Steve White attend the ACM Workshop earlier in the week, and I spent some time discussing the subject of case management with him. Recently I wrote that BPMN-like languages (flowchart like languages) are incompatible with Adaptive Case Management (ACM). Professionals are very busy getting their work done, and “modeling” is an activity that they simply do not have time for, and do not see enough benefit from. To be clear, if you are going to do modeling, then BPMN is the standard of choice, but I doubt that case managers want (or need) to do modeling.
I was a little disappointed that he seemed unaware of the WfMC effort at Process Incubator that provides a tool to validate support of BPMN serialization. You can access that at: http://www.businessprocessincubator.com/do/verify.html and it provides validation of BPMN diagrams in XPDL files, or in BPMN serialization format. More than that, this site will do conversions between formats. I asked him about it, and then he remembered it, because he knows well the people behind it.
There is something very notable about this talk: A few years ago the academic community had a variety of different notations, and broadly ignored BPMN. That has completely changed. At the conference this year we saw broad usage of BPMN notational elements. There were still the occasional Petrie Net and other formalisms, but in all the places possible, notation compatible with BPMN is now being used. This is a true indicator of the success of this standard. It is becoming a common language for drawing diagrams of processes – which is precisely what it was designed to be, and this level of accomplishment is due largely to the efforts of Steve White. Well done!