Whither CMMN?

Scott Francis
Next Post
Previous Post

With the announcement of Camunda’s support for CMMN, and this past summer, IBM quietly introducing CMMN features into IBM BPM 8.5.5, is CMMN ready for the spotlight?

When I wrote this:

Interestingly, none of the bigger BPM vendors are really focused on improving BPM functionality.  This means lots of opportunity for new vendors and upstarts to make some noise, because the depth of BPM functionality hasn’t been fully plumbed, but the move to cloud, mobile, and HTML5 for the bigger vendors has been a distraction from their focus on core tech of BPM. Even the smaller vendors that focused on cloud and mobile successfully, have just failed to innovate in BPM for years.

CMMN was one of the things on my mind for just raw BPM innovation.  Incorporating CMMN into your BPM engine is A Big Deal.  Only one major vendor and one smaller vendor have added CMMN concepts so far (that I’m aware of – please, if I’m overlooking someone let me know in the comment stream so that I can amend this).

IBM hinted at their release at bpmNEXT 2014 when they showed a preview of what was released in June.  Sandy feels that there will be a pile on of vendors supporting CMMN over the next year – but I’m not so sure.  Who are the likely candidates?

  • Will Pega support CMMN?  Already one of the knocks against them is how they support BPMN…
  • Will Appian?
  • Will Tibco?
  • Will IBM continue to invest in CMMN?

Or will CMMN be the opportunity for Camunda, Trisotech, and other smaller vendors to differentiate?  I don’t see the momentum behind the notation, despite its usefulness, amongst vendors – but Sandy may have a better view of what hasn’t been released yet thanks to her consulting and analyst work with vendors.

To clarify – I’m not critical of CMMN itself.  I think it very usefully makes the notational representation for the problems it describes much simpler than BPMN.  And the notation sits alongside BPMN quite well – and as others have previously noted BPMN engines are well suited to implement this kind of asynchronous event-based logic.  The question is whether vendors see it as differentiating or necessary to compete. I’m not convinced that the vendors are focused on CMMN (or BPM in general), rather than on mobile/social/local/cloud.

Sets up for an interesting 2015.

 

 

 

 

Tags:

  • MarkF

    It’s an interesting question and one I’ve been asking myself over the past year or so.
    Yes, vendors have been sidetracked from CMMN by the rush to cloud but I don’t think it’s off the radar altogether.
    I’ve never been wholly convinced by the modelling notation to be honest. I think it does cover the use cases well, but it does not help to visualize the lifetime and interactions within a case at a level that business users could easily understand. I think any implementation of it would need a further abstraction layer to make it business-user-friendly.
    Has CMMN has been driven by too many techies and not enough business oriented guys ?

    • If the goal is for the business user to model it – it probably fails the test. Not because it is hard, but because it is a model. It isn’t that they aren’t able to, but it isn’t their job to model, and they’re unlikely to see it as their job.

      However, it does allow developers to define rich interactions that are less structured. Nothing you couldn’t do previously in a good BPMN-driven engine, but now the level of creativity in modeling required is less, and the complexity is less for case-style solutions.

      So, if you’re alternative is “BPMN” – CMMN is good at describing its use cases. If you’re alternative is a “case management software” with death-by-property sheets and configuration files and whatnot, you’re probably better off with CMMN. If you’re alternative is something the business users are already comfortable using – and something that is effective for your organization’s goals – then keep using it.

      Finally.. has it been driven by techies? yes. Is there any standard that is driven by business users? (ISO9000 comes to mind… Capability Maturity Model comes to mind… not sure those are examples of “getting it right”).

  • I see a lot of opportunities in the market for cases and unstructured processes but I don’t know if CMMN is the right answer for it. Adaptive software and process engines are.

    My biggest concern about CMMN is that, although there are a rather small number of symbols in the notation, I don’t think it is a very business friendly and easy to read notation.

    Comparing with BPMN, we can see it is a very extensive notation with a lot of symbols but it is very useful from a business side and doesn’t take that long to have a user reading a basic BPMN model (I’ve been in workshops where, in 6 to 8 hours, people were even reading and understanding collaboration and choreography diagrams). And this happens because from a readability point of view, it still uses the visual logic of any type of flowchart. It takes time to get people to get acquainted with the symbols, and some semantics of BPMN, but it doesn’t take a lot to start.

    I think the visual logic of a CMMN model is not that obvious for a lot of people. And you can actually incorporate some case and ad-hoc concepts using BPMN. So what do we get, from a business point of view, with another notation?

    Maybe CMMN is a good way to model how a process engine will behave on adaptive scenarios but this makes CMMN a notation for developers, which is great if that’s the point. I just don’t believe yet on a great adoption by business users.

    • I think that CMMN is useful to largely the same audience as BPMN. If those are business users they’ll still be comfortable. If they’re developers they’ll still be comfortable. It definitely isn’t targeted at the occasional modeler who has never heard of CMMN. I think the end-state is that a single model will leverage BPMN and CMMN in the same diagrams. For the use cases that are best-fit for CMMN they’re going to be more efficiently drawn/represented, or more obviously represented, than they will in BPMN (and vice versa).

      • After going a bit more through the specification (speed reading) I still don’t agree that CMMN is useful to the same audience as BPMN, if that audience is business users :)

        I’m just not convinced that the visual representation of CMMN is a notation that brings added value to BPMN. Business users don’t care about execution semantics. They care about readability. And, although having different operational semantics, you can model a BPMN diagram that communicates the pretty much the same thing of a CMMN diagram. So why have the trouble of learning and understanding a total new notation?

        On the other hand, I definitely think it is a good move for a BPM engine to include CMMN as it is great way to create software to handle specific cases. I see Camunda doing that very well with its latest release.

        Summing up, for now (and my mind might change as I dig deeper in he notation) I would show CMMN to the developers I work with, but I wouldn’t show it to the customers I work with.

  • Pingback: CMMN – The BPMN for Case Management? | BPM-Guide.de()

  • And Jakob of Camunda weighs in on this from his perspective:

    http://www.bpm-guide.de/2014/12/20/cmmn/

  • Maybe I miss something but the whole idea of depicting a case with some notation looks absurd. Case work doesn’t assume development time and/or analyst’s involvement.

    • That was my going-in feeling about CMMN as well – and so I didn’t participate in the process and just kept tabs on it. Having said that, after seeing how it looks in implementation – the notation has value for “modeling” things, if i can say this, more efficiently, than they might be modeled in BPMN generically. Efficiency often (but not always) means more understandable as well.

      Also: not all case management is immune to being modeled. In Sandy’s representation of “process work” from “structured and designed in advance” to completely ad-hoc with no up front design whatsoever, CMMN is somewhere in the middle – activities are known in advance, but the order of operation and order of conditions evaluating isn’t known in advance. This isn’t, in my view, for the “unpredictable” work, but for the work that has less-well-defined flow, but exists in context with other work that has quite well-defined flow (in other processes or the same process context).

      • So CMMN is not for the case management at large but rather to better support case-like activities/flows within a process context? It makes sense, thank you.

        Sure the case for CMMN can be found but it’d be razor-narrow I’m afraid. As an illustration, “activities are known in advance but the order of operations/conditions are not” looks pretty like the ad-hoc subprocess in BPMN.

      • well, given that the notation for “case management at large” would be no notation at all… ? :)

        Also, note that a “defined activity” could be implemented to be incredibly generic – thus allowing you to create a very simple CMMN model of a completely ad-hoc process. Not saying you should do that – not recommending yes/no – just point out that it is possible should you desire to do that and should you have a CMMN capable engine.

        Of course, that same functionality is also possible in BPMN with a sufficiently generic definition of an activity…

  • Joachim Vd Brande

    Hi Scott, noticed this post, just to inform you : we are a belgian case mgmt solution, are using CMMN to model cases, execution is based on a CEP engine that we configure based on the CMMN model. http://www.groundlion.be also mentioned in the Gartner Cool vendor report for BPM 2015. Br Joachim (joachim.vandenbrande@groundlino.be)

    • would be interesting to see how you answer critiques like the one Anatoly made below- is CMMN notation for cases absurd? or is it a great tool? Interested in your take, though I suspect I know the conclusion ,your thought process would be interesting to understand.

  • Joachim Vd Brande

    First of all my experience is that you can use CMMN to communicate about case models with ‘business oriented, not technical people’ : for instance talking about stages and nesting stages seems very close to the way those people see their cases evolve, if you don’t use CMMN, other – not standard notations or models or techniques are used, thus at least CMMN is a good way of trying to standardize case modelling; that’s one of the reasons we use it. Another example : Another thing I like is the fact that CMMN talks about ‘plan items’ this definition alone already inspires (non technical) people to think about processes in another way, to start detecting behaviour that typically BPM oriented people fail to see …

    Imo it does make sense to model cases, because if you wan’t to automate, analyse, improve something modelling is a mean of bringing structure and making sure that your thoughts can be transferred to others ? (I’m a model driven guy :) And if you model cases, it’s a good idea to use a standard. It won’t work for all kinds of cases, for very unstructured patterns where you can’t even detect activities (however your solution to define generic activities is a solution for that) but for other patterns it makes a lot of sense.

    Anyway, CMMN works for us and allowed us to build a tool that can steer an event based engine. The fact that there is a standard also convinces ‘ACM sceptical people ‘, that also works for me