In the past year on of the hottest topics is ACM: the possibility of dynamically define a process, implement and execute it. The dynamic feature applies in every phase, instance, whatever.
This something that knowledge workers where wishing vis-à-vis with the structured process world, tied to it’s imagination to execute.
It’s also true that defenders of ACM say that ACM is not BPM, it’s other thing, it’s a spin off, because BPM philosophy is only prepared to by the book process execution. As told before, I totally disagree this approach in this post: ACM under BPM umbrella .
Sandy Kemsley posted <this> awesome post that combines the possibility of structured and unstructured execution. This post points clearly that it’s impossible to separate ACM from BPM, because they blend together and most important if this kind of blended processes are the core of an enterprise it’s translates the way business occurs , it’s key of differentiation against competition, meaning they need to be managed, data must be collected in order to improvement takes place. Thus, without any kind of doubt ACM is a process type (unstructured) that belongs to the enterprise process environment, controlled, managed like any old school structured process. It’s BPM.
The aim of this post it’s however to unleash the foundation of structured and unstructured processes blending (like wine varieties).
For that I’m going to lend the good services of the Decorator!
The Decorator is a object oriented structural pattern, invented by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.
I’m not going to explain the Decorator in terms of the object world, but to translate it to the business world.
One note: A pattern it’s not a template. It’s a way to implement a solution in a abstract way. For more references on this, please read this <book>.
The Decorator is a pattern that can add additional responsibilities to a process in a dynamic way. Decorators provide an agile way for extending functionality.
In order to understand how Decorator works I’m going to introduce a very insightful real world example from an architecture engineering lecture: Coffee shop transaction.
Imagine you are in a Coffee shop and you have zillions of possibilities to drink a coffee drink.
- Double espresso;
- Espresso with milk;
- Espresso with milk and cream;
- Espresso with milk and cream and chocolate;
- Milk with cream and chocolate;
- Lo fat milk.
- Lo fat milk with espresso, and cream!
How to assemble this?
It’s impossible to build all the combinations, to create a bill of materials, a tree, because the outcome (what customers want) is dynamically build.
How a Decorator enables this complexity?
Copyright: Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
In Coffee shop environment we have:
Translated to the process world:
Crazy isn’t it? No. It’s the new process reality. It translates the agility companies need to embrace.
Companies cannot rely anymore in process frameworks like TOGAF, UBPF, e-TOM, because mangers need to understand that the need to adapt on real time to the outcomes customers are expecting. A process framework does not translate the unique business processes a company needs to execute to differentiate from competition.
Looking form the above example companies need to design, implement, execute and control on real time.
Imagine this example:
An Airline company detects a customer complaining about a damaged luggage on twitter and it’s words are spreading killing the airline reputation.
The contact center detects the negative feedback automatically starts a complain handling request: seeks in their system if there is a already a record of the complain and if not, opens a new one (note: the customer can complain to the luggage handler, that it’s ultimately responsible for it, but it’s the Airline image that it’s being damaged, and somewhere the handler complain must be integrated in the Airline’s complains process).
The Contact Center speaks with the customer, collect the data and locate a luggage shop at customer’s location.
At the city where the customer is (temporally or not) the shop can or cannot belong to the Airline partner’s network. If it is, authorize the customer to drop by and collect a new suitcase. If it isn’t it need to get approval to provide a once in a lifetime bank transfer to the shop, explain it and get engagement with the shop that never had any kind of transaction with the Airline and send the customer to collect the new case.
In the meantime it should attach the information from the handler to separable process but in a integrated manner to this process instance.
In the end the contact center confirms if everything is ok and it tries to sell a luggage insurance in a smart way. Maybe the customer buys it.
As we can understand on this small example there are structured, unstructured, process composition, starting from complains and ending is cross sell. This is true BPM, this is agility, the decorator is just a front end possibility, a solution, not a template to execute some many different but integrated processes.
This is what companies need to understand. Now.