There are two options available for closing gaps once the solution has been chosen; process change or customisation; obviously, the preferred option is for process changes but there will occasions when customisation cannot be avoided.
There are techniques can be used to reduce the negative impacts of customising:
- Inability to remain on the upgrade path or incurring huge costs each time a new version is
- Vendors refusing to support a customised product
- Incorporating error-prone components into the standard product due to limited understanding
Here are a few techniques that can be used to mitigate the negative aspects of customisation:
| Technique | Description | Benefit |
| Shadow tables | Additional data that is identified during customisation is stored in separate database tables instead of adding columns to existing tables. These additional tables are known as ‘shadow tables’ and use identical index keys to those used in the tables that they supplement. | Standard data structures are not damaged, the benefits of this include:
|
| Popup forms | Instead of modifying standard forms, any additional data required by a customisation is accessed through an additional form. | Standard forms are not damaged, benefits include:
|
| Scripts | All changes, data and forms, are incorporated using automated scripts. Six types of script must be available; Those that make functional changes to the standard product
|
Use of scripts can bring huge benefits:
|
| Loose-coupling | Integration points between the product and other systems are not hard-wired and use messaging techniques for communications. | The main and ancillary systems can often continue to operate independently of each other meaning that:
|
| Good development techniques | There are many techniques that should be used during customisations, these include:
|
There are many techniques that should be used during customisations, these include:
|