By Ghulam Nabi Shah | Published on December 20th, 2017 | Last updated on January 24th, 2024 |
Macrosoft has many years of experience in Visual FoxPro conversion projects and we deliberately emphasize on the fact that “Best Practices” outline the path for any VFP-to-.NET conversion. When considering some of our recent VFP conversion projects, it is seen that our customers are faced with the situation where there are multiple versions of the same basic application running for different clients. This is mainly because a lot of custom functionality have been built over time around the same core functionality. At times, there have been as many as 10-40 versions of the same basic system running for different clients, which makes it more difficult and expensive when moving to the cloud.
What we recommend is to take some time up front before beginning the conversion process, to design one basic system with as much generality as possible to accommodate as much of the client differences as we can. We recommend our clients to design their core application using only ‘best practices’ from the industry in which they operate. While rebuilding a new application clients should design a system that best meets their business needs. Client should be able to incorporate as much generality as possible in order to accommodate their preferences and provision for any future changes to the business.
We also 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 required 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.
When rebuilding a new application, we strongly advice to design this core application using only ‘best practices’ for the industry that our client currently operates. In this regard, we feel it is our responsibility to take some time before conversion to work with our client in helping them define the ‘best practice’ for their business, and then design only that into the core system. Alongside, we will also provide the Residual Custom features which will contain the functionalities that cannot be accommodated directly into the core application.
So the final solution that we deliver to the client would consist of a core system that adheres strictly to the client’s view of best practices, and a much smaller residual functionality API/service that contains all the extra functionality some of our clients insist on. There will be a clear demarcation between the core system and the residual functionality allowing only for the interchange of data between the two. We believe this approach is worthy for our clients facing a similar situation and with a small upfront project we can quickly find out if the approach is likely to be a success.