Business Process Outsourcing enables organizations and Shared Service Centers that have several core processes to have many views of the same process typically for different products and customers.
When processes have the same structure but different rules on resourcing, SLAs and others, then skins allows you to create different variants of the process without having to manage and maintain separate copies of the process. This greatly reduces the maintenance overhead and allows changes to the template to be immediately reflected across all skins.
For example, if for a gold customer, the process needs to be completed in one day and for the silver customer it needs to be completed in two days, OR if the process is critical, it must be routed to a specialized group, otherwise to a general group, then you can create two variants of the same process.
A process can be marked as a template. Once set as a template, you can create skins on it. Any changes to the template are automatically applied to each skin.
Within a skin you can override the properties of process, variables and activities.
Skin are invoked based on the defined skin rules. For example, for a gold customer gold skin is used, and for a silver customer silver skin is used.
When a job is created on a template, the rules are evaluated. In case of multiple versions of skin, the job must be created on the latest active version of skin. The first rule that evaluates to true uses this skin, and any overrides set for the skin are used. If the rule does not evaluate to true on this skin, it moves to the next skin and so on until the rule is passed. If no rule evaluates to true the process continues without any overrides.
During the lifetime of a job, the skin can be reevaluated. For example, when the data changes, this could potentially invoke a different skin or no skin.