The vast experience we have had in VFP-to-.NET conversion projects definitely emphasizes on the best practices followed so far. One of the main issues confronted by our customers is having multiple versions of the same basic application running for different clients. While rebuilding the new application we recommend our clients to design their core application using only ‘best practices’ from the industry in which they operate. We work with our clients to specify elements of customization that can be accommodated in the core application, thus helping them define the ‘best practice’ for their business.
For residual custom functionalities we combine all of them as API/Services that can provide the needed pieces of functionality that are not accommodated in the core ‘best practice’ application. All the while we should ensure not to contort the core functionality (based on best practices) to take on things that are clearly outside of best practice.