It boggles my mind that we are still having this debate, but there it is: Is BPMN compatible with ACM? The latest round started with a paper presented by Keith Swenson at a BPM conference, stirred up by Sandy Kemsley’s review, and kicked into full riot by an ebizQ comment thread. The supposedly winning argument from the ACM side is that a doctor – the purported archetype of an ACM user (really?) – is never going to edit a BPMN diagram, but is willing to add or tick off items in a checklist. But this misses the point on several levels:
- BPMN is a definition language. End users, whether they are doctors or computer scientists, are not supposed to define process logic, case logic, or any other kind of repeatable business logic. That’s why we call them end users.
- Inserting ad hoc tasks to a process or case instance at runtime is mostly a UI issue. True, BPMN is not very ad hoc-friendly, but BPMN-based tools have successfully worked around that. Oracle, for example, does it through WS-HumanTask. Roubroo does it by versioning the BPMN definition and migrating the instance automatically under the covers.
- If ACM is only about ad hoc task management in a checklist, why are we even talking about it? Microsoft, Google, and the like basically own that space, and they can have it. The “A” in ACM is adaptive, meaning there is some defined logic that advances the case. That means that with ACM, just as with BPMN, there are definition tools and there are end user tools, related but not the same thing.
So the focus of this debate should not be whether BPMN is appropriate for the doctor, but whether it is appropriate, say, for the author of a protocol of medical tests and treatments relating to some set of symptoms. If it’s just Dr House winging it, that’s not really ACM. That’s just ad hoc, a checklist made up on the fly. And even with less ingenious practitioners we have it already: it’s called the patient chart. ACM should really be about the repeatable (and yes, extensible) logic, not just the ad hoc.
This gets closer to the real issue, which is the fundamental distinction between orchestration – what BPMN means by the term “process” – and ACM logic. What I think ACM means is a kind of goal-seeking logic, using backward chaining from the desired end state. Case activities have prerequisites, and any activity with all its prerequisites satisfied is allowed to start. Unlike orchestration, ACM can add new activities and prerequisites even after the case has started. In orchestration, the process instance must follow some explicit path defined in advance.
I haven’t yet seen any examples of this goal-seeking ACM, but I hope to one day. (If you have such a thing, you definitely should be at bpmNEXT in March!) I agree this kind of ACM would be really useful in many situations where orchestration doesn’t work well.
But here’s the thing: This goal-seeking logic needs a definition language, ideally with some graphical representation. And I doubt that notation is going to be more business-friendly than BPMN. I suspect it requires some form of state diagram rather than an activity flow diagram, and that means it will be far less intuitive to a non-technical audience than a flowchart variant like BPMN.
Another point sometimes ignored is that a case in ACM is likely to contain structured processes (orchestrations) in addition to isolated tasks, so the ACM definition language must at least integrate with BPMN somehow. Also, BPMN already has notions of events, messages, and data stores needed for ACM as well. No one claims BPMN 2.0 is all you need for ACM – that’s a ridiculous straw man – but to argue for ignoring BPMN entirely seems motivated more by commercial considerations than technical ones.
Yes … Really?
Go back and read the book. We spend lots of time talking about knowledge workers. You know: doctors, lawyers, detectives, judges, social workers. Then we talk about how ACM is for (you guessed it) KNOWLEDGE WORKERS! That is, doctors, lawyers, detectives, judges, etc.
A lot of people read this, but they just don’t believe it. They think, for some reason, we are talking about programmers and system designers. We are not, read the book.
We talk about how knowledge workers need to construct their plans while they work. They need to set goals, add new goals, complete goals. This is what the knowledge worker does, you know, doctors, lawyers, judges, detectives, etc.
Some crazy people keep saying: but wait a minute, you want systems designers, and you want to create process diagrams, etc. Go back and read the book. We never said that the processes, the list of goals, was designed by a process designer. We ALWAYS said that the knowledge worker does this sort of thing themselves. And knowledge workers are doctors, lawyers, judges, social workers, etc.
That is why, when we talk about whether BPMN is suitable for an ACM user, we are talking about whether a typical knowledge worker would be able to use it. And remember, the people who use ACM are knowledge workers, that is: doctors, lawyers, judges, detectives, etc.
Don’t tell me that we SHOULD be talking about. Your examples are BPM examples, and for that BPMN is fine. You are an expert in BPMN and I don’t think we disagree on what BPMN is useful for. But why is it that you have to redefine ACM to be a kind of BPM? ACM is NOT used by system designers, it is used by knowledge workers. You know: doctors, lawyers, etc.
“ACM should really be about the repeatable (and yes, extensible) logic, not just the ad hoc.” The whole point is that it is ADAPTIVE. Adaptive means that the knowledge worker themselves change and modify the sequence of goals to meet the need of the case. This is not just Ad-Hoc, but it is not predefined either. It is lists of goals that can be reused, but that are also completely malleable by the users. If the user can’t edit BPMN, then they can not adapt the plans for their case. And, don’t forget, the users are knowledge workers and knowledge workers are doctors, lawyers, managers, directors, case workers, etc.
How many times do we have to say: ACM is NOT about a programmer designing a perfect process and everyone using it. That is BPM. If you want to talk about BPM, please do so, but don’t pretend that is it ACM.
Many people talking about ACM, particularly those claiming that it is the same as BPM, simply don’t understand that ACM is about an environment where the knowledge worker is in complete control. Some claim that ACM is just a made up term that means BPM, but we want to be cool and call it something different than BPM.
ACM is not BPM. It is an approach where the lists of goals, the steps of the process, the things that are done in the case, and DESIGNED and MODIFIED by knowledge workers. And knowledge workers are doctors, lawyers, judges, etc.
“a case in ACM is likely to contain structured processes” Look, a case will contain MS Word documents, and for that the case manager will use MS Word. A case might contain excel spreadsheets, and for that the case manager will use Excel. A case may need to make use of a BPM process, and for that the case manager WILL USE BPM. Yes, case managers are people too, and they will use BPM. They will probably use a smart phone as well. Because case managers use these things, does not mean that ACM is about implementing BPM processes.
Many pundits believe we just made up the term ACM and another name for BPM so that we can sound cool. PLEASE people, I don’t have so much time that I can waste it making up a new name for an old topic. Give us the benefit of the doubt: it is something new and different.
“If it’s just Dr House winging it, that’s not really ACM.” Actually, this is EXACTLY what ACM is about. Read the book! Why do learned people keep saying that it is really about BPM? ACM is about a way that knowledge workers construct plans, lists of goals, that they can reuse, and track, and share status. They do this directly because they know their own field better than anyone else. Their knowledge is changing on a daily basis, and there is no time to explain it all to a programmer. The knowledge worker must be in DIRECT control of the list of goals at all times. And knowledge workers are doctors, lawyers, policemen, rescue workers, legislators, etc.
Quite REDEFINING ACM as BPM, and then making statements about what is good for it!
You are an expert at BPMN, and I am sure we agree, then, that doctors will not use BPMN to create a treatment plan. And doctors are knowledge workers, the archetype user for ACM.
I don’t know how to say it more clearly: ACM is an approach that allows knowledge workers to create lists of goals, and track them to completion. And knowledge workers are doctors, lawyers, politicians, rescue workers, detectives, board members, executives, managers, judges, nurses, social workers, etc.
Ouch. OK, I get what you are saying. It still isn’t clear, though, whether the knowledge worker is ever creating a repeatable definition of the case logic or is defining each case independently. And if repeatable, repeatable by someone else or just by the original definer. I guess my only point is that the adaptive part requires some kind of logic provided somehow, and that end users are rarely logic designers, no matter how simple you make it.
The facts are most work is a mix of structured and unstructured work.
In respect of structured processes being orchestrated within a BPMS, reaching the end of a process fragment does not necessarily correlate to meeting defined objectives or interim goals.
As for BPMN, it makes sense to me to call it a “definition language”.
The question is who is the intended audience? Is it IT, is it facilitators, is it the end user or is it perhaps a software compiler? I don’t see that latter as needing much more then pure logic (circles and arrows) with a few extra constructs.
For sure, a compiler does not care about “swimlines”.
The only reason medical end users do not take charge defining processes is they are too busy or they have been given tools that were not meant to be used by end users. Aside from putting in place rule sets, given appropriate tools, it’s easier for them to just draw their own maps as opposed to having to work through intermediaries.
I don’t think it’s a deficiency of BPMN to say its not ad-hoc friendly. Being ad hoc friendly is a run time issue, not a process mapping issue.
I would say using BPMN would be a plus for someone who wants to be able to move to different process mapping environments. If they are fearful that their current vendor might go out of business then an insurance policy makes sense.
Otherwise, why not just let people draw circles and link them with arrows, then have a few more constructs such as branching decision points and loopbacks and you can with little else automate complex processes and possibly have a smaller learning curve.
I would be interested in finding out what the learning curve is for BPMN.
I can assure you, Bruce, that in medicine, knowledge workers create repeatable processes for use in cases but they most always end up skipping over steps, performing steps out of sequence and adding steps not in the original process. So what they do is best done in an ACM/BPM environment (my view).
In drug trials (call it experimental medicine if you like), on the other hand, it’s essential not to deviate from the protocol, otherwise the entire study becomes invalid.
I agree with Bruce, BPMN notation is compatible with the ACM method — BUT it is not yet enough to support ACM:
There are quite general definitions of BPM, e.g. (sorry for using Wikipedia): “BPM is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to improve processes continuously. …”
So BPM methodologies includes ACM, as ACM has more specialized objectives. But it also has most objectives of BPM in general.
Concerning NOTATIONS, one could therefore expect that THE BPM notation (BPMN) could cover some ACM aspects. ACM may need special additions, e.g. for logic and goals, but one cannot exclude BPMN from being used somewhere inside of some ACM tools.
– ACM is adaptive – and there are BPMN engines (like Roubroo and Aristaflow) that support the adaption of running process instances. It is possible to hide technical aspects by a domain-specific graphical interface, usable by knowledge workers. We have done that in the SPOT project (www.spot.fraunhofer.de) some years ago, where we developed a Care Plan Modeler, which provided modifiable reusable care plans in a doctor’s view, internally represented by a BPMN-like notation. These Care Plans could be adapted at design time and even at runtime, since the BPM engine had this feature.
– ACM is for knowledge workers – the point here is only to have a domain-specific graphical notation and graphical user interface which allows the knowledge worker to easily define and adapt his definitions, e.g. on top of BPMN and an adaptive BPM engine, as in SPOT.
– ACM goals should be reusable and trackable, so they have to be materialized, and one cannot exclude BPMN notation here, but it may need additions.
Keith, what’s an example of a true ACM software tool? ie, something that both claims to be ACM on its own, and actually is ACM in your opinion (because, as you say, there are all these BPM folks running around claiming ACM is just BPM… and then there are tools like my Reminders app on my iPhone that would never claim to be ACM, but might fit the definition). It would be great to have a reference implementation to refer to that is well-understood.
Regarding your comment: “Many pundits believe we just made up the term ACM and another name for BPM so that we can sound cool. PLEASE people, I don’t have so much time that I can waste it making up a new name for an old topic. Give us the benefit of the doubt: it is something new and different.” Given that you’ve written a book or two, and have time to write really long blog comments, who am I supposed to believe, you or my lying eyes? ; )
I don’t think it is about being cool. I think it is about carving out a market or an angle to sell software (or books, or whatever). I can’t speak to what other pundits think.
okay, finally: “ACM is not BPM. It is an approach where the lists of goals, the steps of the process, the things that are done in the case, and DESIGNED and MODIFIED by knowledge workers. And knowledge workers are doctors, lawyers, judges, etc.” Well, that’s the thing. I can define a process in BPMN that lets end users do this – define goals, steps, checklists, and design and modify them. So while the thrust of ACM may be different than BPM, technologically they still don’t feel like separate markets to me.
(I once posited that perhaps ACM was more about refining the execution of individual “cases” by attempting to put more control in the hands of the knowledge worker, and BPM more about the aggregate improvement of the overall process – think “doctor evaluating patient” vs. “patient evaluation in our entire hospital system”… but there was strong disagreement from the ACM camp : )
Bruce,
You said “end users are rarely logic designers, no matter how simple you make it.” — I agree completely, this is my point.
You asked “is the knowledge worker ever creating a repeatable definition?”
The model I am seeing is a “reuse” model. When a person makes a powerpoint presentation, they usually start with an old presentation, and modify it to bring it up to date, or to change the focus. If you look over time, you will see that a lot of the presentations reuse a lot of parts of earlier presentations.
It seems reasonable that knowledge workers will want to re-use plans they created in the past as a starting point. While cases are not exactly the same, there are usually a lot of similarities. Even a knowledge worker who makes a small change from a previous case, will still need the ability to potentially change ANY aspect of the process. The process has to be in a form that the knowledge worker can modify directly, or even create from scratch.
In Mastering the Unpredictable, we talk about “templates” which are copies of plans saved off to the side for reuse later. People can share templates with each other.
Because the process is unpredictable, we don’t talk about “repeatability” of process. Two cases might start out with the same plan (process), but later some information is discovered that requires one or both of the plans to be changed in different ways. The process is COMPLETELY under control of the knowledge worker, which means that we can not use a technology which the knowledge worker will not use.
Norbert,
I am quite familiar with BPM systems that allow a process model to be changed at any time. I have been promoting several going all the way back to 1993!
Having the ability to change the process is a very different thing that actually getting knowledge workers to use this for their unpredictable processes. ACM is bounded not by what is theoretically logically consistent, but instead what knowledge workers really will use.
I have seen lots of experiments where they train people to use such tools. Doctors are smart, they can and do learn such things if motivated. A test or a trial is not a substitute for real life use. Lost of people will try something for a test, but carrying on and actually using it after the test is a different thing.
Do you have documented studies of where this is being used in real life by knowledge workers for their own unpredictable plans? (Deutsch Sprache möglich) I am very interested in real use by real people.
Scott: there may not be any existing ACM tool. There are lots of people claiming they have it, but many of those vendors are misguided by others who claim it is just a new kind of BPM 🙂 The criteria should not be whether a vendor claims that something supports ACM.
The criteria is in this blog post:
http://social-biz.org/2012/05/29/acm-awards-finalists/
From this, you should really look at the Norwegian Food Safety Authority solution. It really is a stellar example allowing people to grab process templates, but then complete them in any order, and allowing skipping or adding new steps in. It is a real, working example.
Another one is the MeDO case: Mobile Task Management for Medical Ward Rounds. See: http://acm2012.blogs.dsv.su.se/
Both of these are less general than we believe that an ACM system could be, but they meet a lot of the criteria in their specific domain.
The point is to remember: the processes are not repeatable (the is the definition of the kind of work we are trying to support) and the knowledge worker must directly create or modify the plans (processes). Start with that requirement, and then given the inherent limitations and tradeoffs, what kind of system do you end up with?
One thing that might help: ACM is not defined as a set of products that claim to be ACM. IT is not a marketing move by a bunch of vendors (although it might seem like that at times). Instead it is “whatever is needed” to address a class of people (knowledge workers) performing unpredictable work which has not been supported by any approach that requires a process to be designed in advance. The entire movement is motivated through the realization that not only is BPM not addressing these needs, but that BPM can’t address their needs because their needs violate a fundamental assumption that BPM makes.
We can argue about the definiton of BPM, but *usually* people define BPM to be an approach where a business process is defined in advance. Generally BPM advocates talk about a cycle of deploying a process definition, running it for a while, and measuring the results, and then improving the process. When you then elaborate this into a full design, you find that there is a need for an elaborate and detailed process model which can be tuned to a high degree to a process which is assumed to be repeatable.
Because BPM as a term is widely abused, you can use BPM to mean something other than this, but I think anyone that does it just confusing the argument. It seems that some people define BPM to be “any product that calls itself BPM”. This is haphazard at best. The description I give above is widely accepted, and anyone offering a different meaning should justify their reason for doing so.
What case management has shown is that there are people who are doing work that is so unpredictable that this approach can not work for them. Without a predictable process, there is no way to refine and make the model better, and there is no way to recover the up front development expense.
A different approach is needed, and to that approach we give the name ACM. Does it exist as a product? Partially. We can talk about the features that such support would need. Some existing product have some of these features, but I don’t think any existing product has all the required capabilities.
Bruce & Keith,
I have decided to shadow an actual MD for a day to see how knowledge workers do their knowledge job. And I will report my findings. Few Qs and precincts, if you will:
1. Are these cases repeatable or not? I am getting conflicting answers – unless there was a typo in your blog post.
2. If these are not each one-off- how do we know that “knowledge worker” is using “knowledge” correctly & accurately? e.g. When a patient dies, how do we know it was because of the fact that knowledge worker missed something or it was just the will of God (s).
3. I will stay away from any Artificial Intelligence i.e. we are not trying to get into the “knowledge” part of the worker, only the work part of the knowledge worker.
4. I will look for repeatable patterns, templates.
5. I will stay away from “HOW” the user controls the progress, only whether he or she can control the progress, the “WHAT” of progress. Because “HOW” is a measure of how slick the UIs.
If we all agree with these basic premises, I am willing to invest 2 man days personally to explore what the “knowledge worker” does not as a consultant but as a fly on the wall with occasional questions.
Q for Karl:
My apologies, I got a little confused “So what they do is best done in an ACM/BPM environment (my view).” – Are you suggesting they need ACM or BPM or a tool that does both?
Bruce can answer the Q on BPMN learning curve much better but in my opinion, initial learning of BPMN is really about what you said, circle, rectangle and diamonds for decisions. I remember there was a post “How much BPMN” which got controversial but you already have a head-start on BPMN if you have drawn flow charts. With all the fantastic resources available like the training, tutorials, posters etc, you can learn more as you start loving it.
I am bowing out of this discussion. BPMN is totally irrelevant to it, since no one has EVER claimed it is for end users of ACM, or BPM either. So it is just a convenient stand-in for BPM itself. I think Scott hit it with his “show me an ACM tool” comment. Once you start with the fact that what OpenText, IBM, Pega, Kofax, et al are calling ACM is not what Keith says is ACM, it’s hard to have a meaningful discussion. Just shouting matches.
I agree that the interesting problem is actually the grey zone between obvious BPM and the ‘one of a kind, expert knows best’ problems mentioned often as a case for ACM.
The interesting area might be where a mixed caseload contains both ‘easy’ by the book cases and complex ones for which
it maybe wasn’t feasible (or economically viable?) to capture how to deal with them up front. The ad hoc process modeling
approach advocated for the 20% expert cases doesn’t provide the support needed to efficiently deal with 80% easy cases.
And the conventional BPM processes leads to flow that do not allow experts do deal with the complex cases effectively.
The ‘Adaptive’ in ACM should maybe not be about users adapting flows, but about constraints sets that cover a broad range of
cases, and inherently ‘Adapt’ by contextually inferring individual processes for each case. These processes support a wide range of overrides by experts, such as for instance ‘manually’ providing data, artifacts and expert judgments, that might have been automatically created or inferred in ‘easy’ cases.