In the last portion of the ACM workshop at BPM 2012, we had a couple of short non-research papers, the first of which was by Keith Swenson, in which he posits that BPMN is incompatible with ACM. He starts by saying that it’s not a critique of BPMN in particular, but of any two-dimensional flow diagram notation. He also makes a distinction between production case management and adaptive case management – a distinction that I find to be a bit artificial since I don’t think that there’s a hard line between them – where PCM systems have developers creating systems for people to use, whereas ACM has people doing the work themselves. The distinction between PCM and ACM has created a thin, rarified slice of what remains defined as ACM: doctors and lawyers are favorite examples, and it is self-evident that you’re not going to get either doctors or lawyers to draw event-driven BPMN models with the full set of 100+ elements for their processes, or to follow rigidly defined processes in order to accomplish their daily tasks. Instead, their “processes” should be represented as checklists, so that users can completely understand all of the tasks, and can easily modify the process as required.
He states that drawing a diagram (such as BPMN) requires a level of abstract thinking that is common with developers but not with end users, hence BPMN is really a programming language. Taking all of that together, you can see where he’s coming from, even if you disagree: if a system uses BPMN to model processes, most people will not understand how BPMN models work [if they are drawn in full complexity by developers, I would add], therefore won’t modify them; if all users can’t modify the process, then it’s not ACM. Furthermore, creating a flow model with temporal dependencies where no such dependencies exist in reality hinders adaptability, since people will be forced to follow the flow even if there is another way to accomplish their goals that might be more appropriate in a particular context.
Therefore,
BPMN ⇒~ACM
My problem with this is that BPMN has been used by developers to create complex flow models because both the language and their organization allows them to, but that’s not the only way to use it. You can use a limited subset of BPMN to create flow models – in cases where flow models are appropriate, such as when there are clear temporal dependencies – that are understandable by anyone involved in those processes. You can create a BPMN diagram that is a collection of ad hoc tasks that don’t have temporal dependencies, which is semantically identical to a checklist. You can create alternative views, so that a model may be viewed in different forms by different audiences. In other words, just like Jessica Rabbit, BPMN isn’t bad, it’s just drawn that way.
Sandy, as usual an excellent high level summary, but I really must object to the title. If I was smacking anything down, it was not BPMN. Instead, you might say I was trying to smack those people who feel there is one solution to everything, and tend to be indiscriminate about what they use BPMN for. Once they learn BPMN, they tend to want to use it for everything (including conference registration instructions).
A summary of the workshop paper can be seen at: http://social-biz.org/2012/07/21/bpmn-is-incompatible-with-acm/
The issue is not that the diagrams drawn by developers are overly complex. The example of process I used in the talk were very very simple: just a sequence of three activities. My point was that because this simple diagram is the RESULT of a planning/design process, and because the rationale behind that simple process is not included in the diagram, the runtime case manager can not have confidence in changing it.
Your example that people might be able to restrict themselves to patterns that are run time modifiable is like “Cooking Dinner in a Chem Lab”. Sure, a chemist can restrict themselves to only using edible ingredients in the dinner, but I will be much more comfortable eating dinner produced in a kitchen that is maintained properly to only contain edible substances.
I present this as a “discussion topic” not being 100% certain, and so I hope that this discussion can continue. My conclusion is decidedly “low tech”. There are times that a lower tech approach is more friendly to users. This might be one of those situations.
No, the issue is can a solution be built with BPMN that works for the users? Answer: sometimes yes, sometimes no, it depends. It’s not an all or nothing proposition. Again, as with structured versus unstructured, depends upon what you want to do. That is, sometimes BPMN is the right widget, sometimes not.
Also, keeping in mind that solutions built “with BPMN that works for users” may not mean that users interact directly with BPMN – and yet they can still enable the user to specify all kinds of interesting things which the BPMN model will leverage
Keith – headlines are meant to grab attention 🙂
As Scott points out, just because there’s BPMN behind the covers, doesn’t mean that it has to manifest that way to all users.
This is not about systems “built with BPMN”. Of course case managers will use BPM systems regularly. They will also use software written in Java or in C++ or in COBOL. This is not about the technology that programmers use to create systems for other people.
I clearly don’t care what is “under the covers”. Is that really how this came across?
ACM is a technology where the case manager MAKES PLANS themselves, as part of what they do. This discussion is about how the case manager makes those plans. These plans ARE by definition things that the case manager sees and interacts with.
ACM is an approach for knowledge workers: people who think for a living. These are professionals who know their particular job in their particular situation better than anyone else. Their processes are unpredictable, and so they have to be elaborated as the work proceeds. The work is not repeatable so there is no point if spending a lot of effort making a plan that is elaborate. The ACM part is the part that they actually construct and manipulate those plans.
The only person I care about is the case manager, because that is the person responsible for the plan and for the outcome of the case. The case manager must be both create and modify processes. That is the representation of the process that I am talking about being incompatible with BPMN.
My abundant support for BPMN in the BPM realm should make it clear that for appropriate uses, BPMN is fine. But this was not a talk about BPMN is useless for anything. This was that it was incompatible with ACM.
Keith, I seem to recall you making the statement that “if it has BPMN, it’s not ACM”. I believe that we will see a lot of hybrid systems that handle everything from fully unstructured case management to structured BPM, and the entire spectrum in between. In that case, the products/platforms will have BPMN as a modeling capability, but will not insist that the end users of ACM functionality use it.
“Is that really how this came across? ”
Yes Keith, it is really how it comes across in the body of writing you do. I’m obviously not the only one who interpreted it that way, though maybe it is just my lack of understanding 🙂