Customer always enhance standard systems with own home grown code. This coding will always be penetrated by change requests, improvements and bug fixes. A common problem of central enhanced code positions will be localizations or local implementations of business processes.
Huge IF or Case statements to complete different behaviors of a process or in worst case additional customer specific customizing tables.
All these requirements leads to additional efforts in development, testing and also transport of code. The time to realize a feature and the time until it will be available for testing or productive use. What happens if the business departments are not able to define the final specifications?
In this case I recommend to make a disruptive switch from implementing hard coded, semi flexible features to a very flexible rule based approach.
Just focus on the interface parameters and move eberything to the business side. Away from complex ABAp statements into a direction of configure and release with high speed.
Please have a look at SAPs Decision Service Management and the Business Rule Framework
DSM SCN Seite: http://scn.sap.com/docs/DOC-29158
And visit the blog from Carsten explaining how to get rid of unflexible customizing tables.