Goals for Prototyping
When you use Visual FoxPro to build a prototype of your application, you're leveraging the power of visual forms, wizards, builders, designers, and the Project Manager to quickly develop a working application. While your ultimate goal is to implement your application across client/server platforms, you gain a great deal by choosing to build a solid prototype.
Reducing Development Time
By building a quick prototype, you can refine your application's design and local architecture quickly and easily, without having to access the remote server to rebuild server tables and databases. You can also test and debug your application's forms against smaller data stores, allowing you to more quickly correct and enhance your application's user interface. Because you're keeping architectural overhead low, you prevent wasting development time in rebuilding, reindexing, and reconnecting remote data just to test your prototype.
Decreasing Development Costs While Increasing Customer Satisfaction
Because the local prototype is self-contained on your computer, you can easily demonstrate a working model of your application to the end user early in the development cycle. Being able to see your application as it progresses gives clients confidence in your ability to deliver a solution that meets their needs. It also provides you with the opportunity to get customer feedback about the user interface and reports before you've invested resources in implementing it against a remote server.
As users see and interact with your prototype, they can begin to identify areas they'd like to change, as well as see the potential for adding additional functionality into their application. You can implement changes and redemonstrate the application in an iterative process until both you and the customer are satisfied with the design and function of the prototyped application. Your prototype then serves as a working specification for the final, implemented client/server application.
Contributing to Successful Implementation
You can also potentially provide the prototyped application as a demonstration for your users, allowing them to experiment with the working model as you move forward in the implementation process of the actual application. As they gain experience with the prototype, their learning curve decreases and they become better partners with you in refining and fine-tuning the application. They're also positioned to be more productive and satisfied in the final implementation stage because they already understand the basic framework of the application.
Having a working model increases the lead-time the end user has to become familiar and comfortable with the application. It also provides a framework to allow staff at your company or the customer site to design and develop a training plan for the application. The prototype can even be used to train end users before the final application is delivered, thus contributing to a successful implementation of the final, implemented client/server application.
See Also
Upsizing Visual FoxPro Databases | Building a Local Prototype of an Application | Database Creation with Upsizing Wizards | SQL Server Upsizing Wizard Preparation