.
In the course of engagements, a customer often brings up the "need" to be able to make an already-in-process item switch maps and run against a new map that was published after the item in question already started. I place quotes around "need" because this isn't really a need. It's more of an ill-conceived want based on fear and mis-understanding.
What needs to be understood is why the customer feels they “need” this capability. In general, 99% of customer concerns that could lead to them feeling they have this “need” can be wrapped up into the items below:
· Some data element may change in such a way that it affects processing within a process.
o For example, an approval process involving a system-made decision around some dollar value such that if that value is greater (>) than $5 then the process follows one branch but if it’s less than or equal (<=) to $5, then the process goes another way.
§ What if the business wants to make the decision based on $10 as opposed to the original $5?
o In this scenario, a properly designed process where the decision points are configurable on-the-fly satisfies the need without having to modify the process and push out a new version.
§ Configurable data elements are out-of-the-box functionality of K2 blackpearl, called StringTable entries.
· The process changes in a dramatic way.
o Generally speaking this just doesn’t happen. A properly designed process designed and developed through proper Software Development Lifecycle phases with rounds of detailed user acceptance testing will result in a valid and acceptable process by the business. In the extremely rare off-hand chance that a business’s process changes in such a dramatic way as to be incompatible with the previous process, then the validity of the original process as approved by the business should still be considered valid and applicable for items currently in the system and running against that process. If this isn’t the case, then one would have to seriously reconsider the validity of the completed items that had already finished the previous process…If a process changes so much that items currently running against the previous process are invalid, then the items already completed have to also be considered suspect.
o However, if it is absolutely imperative that currently running process instances against the previous process must go against the new process, then there are two ways to facilitate this:
§ Design the process in such a way that there is a step in the process that would route asynchronously into a new process instance of the same process type (the newly started process as a result will run against the most recently-published process map).
ØThere is out-of-the-box functionality in blackpearl to allow an admin to select currently running instances and direct them to this special ‘re-start’ step in the process.
ØUsing the blackpearl API, a simple web page could also be developed to allow selected business users to also perform this action.
§ Delete the process instance and the associated collateral, and re-start a new process instance.