Posted by: Adam Deane | 14/03/2011

BPM: The Exception Path

BPM MatrixMorpheus: I imagine that right now you’re feeling a bit like Alice. Tumbling down the rabbit hole?
Neo: You could say that.
Morpheus: I can see it in your eyes. You have the look of a man who accepts what he sees because he’s expecting to wake up. Ironically, this is not far from the truth. It is this feeling that has brought you to me. Do you know what I’m talking about?
Neo: The Matrix?
Morpheus: The Matrix is everywhere, it is all around us. Even now, in this very room. You can see it when you look out your window, or when you turn on your television. You can feel it when you go to work, or when go to church or when you pay your taxes. It is the world that has been pulled over your eyes to blind you from the truth.
Neo: What truth?
Morpheus: Unfortunately, no one can be told what the Matrix is. You have to see it for yourself. This is your last chance. After this, there is no turning back.

(In his left hand, Morpheus shows a blue pill. In his right hand a red pill)

Morpheus: You take the blue pill and the story ends. You wake in your bed and believe whatever you want to believe.
You take the red pill and you stay in Wonderland and I show you how deep the rabbit-hole goes. (Long pause) Remember — all I am offering is the truth, nothing more.

(Neo reaches out to the red pill, changes his mind and takes the blue pill)

Neo: Nothing happened
Morpheus: I was expecting you to take red pill.
Neo: I was thinking of taking the red pill, but changed my mind.
Morpheus: Hmmmm.
Neo: What now?
Morpheus: I don’t know. We didn’t check that scenario when we built the workflow.
Neo: What do you mean you didn’t check it. In every workflow there are decision junctions. Didn’t you check them all?
Morpheus: We only checked the happy path. We were not excepting anyone to really take the blue pill.
Neo: So why did you offer it?
Morpheus: The decision point is meant to be there. All I’m saying is that we didn’t check the blue pill path in the testing phase.
Neo: Can you rollback to the previous step?
Morpheus: I don’t have permissions for rollback.
Neo: Can I re-choose a different decision and resubmit?
Morpheus: No. We’re stuck.
Neo: Damn, surely there must be way to get back to the workflow path.
Morpheus: Neo, sooner or later you’re going to realize just as I did that there’s a difference between knowing the path and walking the path.
Neo: What do we do now?
Morpheus: We wait for the exception handler.

————————————————————-

Agent Smith: So Morpheus, we meet at last. I see that you didn’t run proper tests on the workflow. You didn’t check exceptions. Vanity is so human.
Neo: Can you release us!
Agent Smith: Ah, Mr. Anderson… you disappoint me. You don’t understand. There is only one action we can do in a déjà vu situation.
Neo: What is a a déjà vu?
Agent Smith: A déjà vu is usually a glitch in the Matrix. It happens when a workflow process is designed or implemented without thinking of all the exceptions it might meet on its way. The only way to solve this problem is to delete the workflow instance and start again. Annoying, but it will teach you a valuable lesson.
Neo: What lesson is that?
Agent Smith: Never send a human to do a machine’s job.


Responses

  1. Adam, I just love Matrix as a movie. Great comparison to BPM.

    In any case, as no one has made any changes to the ‘Blue Pill – Red Pill’ decision point yet, the next instance of the process will be as wrong as all the previous ones. An execption handler can in most cases not do much either if you haven’t thought of how to deal with that decision. You run into a transactional problem if you have an exception. Which parts of the process are valid and which aren’t? You describe a core problem of typical BPM modeling. Adaptive Processes can handle any exception by allowing humans to create new goals and activities to deal with them.

    Ergo: ‘Never send a machine to do a human’s job!’

  2. Adam,
    Great post. I think the fallacy is that some designers actually think they can cover all the possible exception paths – even for human centric processes. What they end up finding is that there is ALWAYS some path they didn’t expect – and then they dutifully add that path. And then another. And then another.

    In the meantime people revert back to POED (Plain Old Email and Documents) to get the job done.

    Sort of reminds me of when I used to design GUIs – I always thought it would be soooo much easier if I could just get the people out of the equation. Sometimes I think BPM designers actually work that way….

    Jacob Ukelson – CTO ActionBase

    • Hi Jacob,

      Glad you liked it.

      It’s all about using the right tool for the right job. ACM is a great solution for adaptive processes, BPM for strict processes.

      Legal processes, government legislation, expense approval, financial credit checks.. All need strict procedures.

      And yes, sometimes a BPM tool is used in a place where an ACM tool needs to be, and sometimes ECM tools try to be workflow tools… wrong solution, but what can I do

      My post today was about BPM tools trying to be BRM tools. It may work, but it’s the wrong tool for the job…

      Cheers,
      Adam

  3. It is crazy to think that some companies (with 1000s of process participants) are reliant on a single process designer (or a team of a few process designers) to ensure the developed processes cover the company’s process needs.

    Why would anyone subject themselves to this risk?

    Having open, adaptive processes which can be matured and evolved by a larger set of process “experts” ensures the effectiveness of the process on a continual basis. No one…..NO ONE…..can ever have enough time to consider all possible exception paths in a process. And if a process designer takes months and months building in the exception paths that he/she does envision, then the process participants are essentially “standing around” waiting for their process to come to life.

    An ideal process delivery model, in my eyes, is one where the “first version” of the process is automated in a short development cycle. From there, as exceptions are incurred, the process logic can be added to without taking the process offline. Such an example might be:

    process v1 – taken live
    process v1.1 – process v1 with one added exception rule
    process v1.2 – process v1.1 with an additional exception rule
    …..

    process v2 – culmination of process v1.x changes + new process enhancements and extensions

    etc

    • Hi Chris,

      Although I agree with you about the value of adaptive processes, some processes cannot be adaptive.

      Some processes are created on purpose to provide a strict approval procedure. The end-user should not, and must not be allowed to change this flow.

      Expense approvals, legal procedures, government legislation for example have a strict procedure they must follow. Implementing an adaptive approach here would be wrong.

      My post touched the business rule side of BPM implementations.
      Sometimes a BPM functionality is used instead of using a specialised BRM tool.

      I’m a big believer in the right tool for the right job, but I haven’t seen much of BRM activity in the last couple of years.

      Cheers,
      Adam

  4. Nice post!

    There are two aspects of the exception path – (a) process design, and (b) technical design.

    Does the business know what to do if Neo decides to take the blue pill instead of the red? It’s more to do with process discovery and the way processes are modeled. It’s obvious that if certain process paths are not captured, they are not implemented and hence not tested. I think that’s what you highlighted in the post.

    The second aspect deals with the cases where Neo does not stay in wonderland although he takes the red pill. Here comes the challenge in implementing processes with BPMS platforms. Though the feature set varies by the choice of BPMS tools, most of them do not offer much control on rolling back the activities. What they offer is a placeholder – compensatory activity.

    — Neo [ not the one who led to exception path! 😉 ]

    • Loved that Neo commented on Neo 🙂

      I agree that if certain paths are not captured, they are not implemented – but I’ll leave this to a later post…

      Decision management in BPMS are ok, but not perfect. I believe that even if we had proper rollback and exception handling – we would still be missing the expertise of BRM tools (see today’s post).

      Cheers,
      Adam


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: