The typical CRM development process, even within a single phase of an overall CRM implementation program for your business, is broken down into a number of major areas—such as enhancements to be made to the accounts model, to contacts, to projects, and so on, as well as the custom reports and charts you may need.
While some of these alterations may interact with each other, many of them will not, and clusters of functionality can typically be identified that are fairly independent of each other.
Usually the best practice is to have the partner develop these off site, and then introduce each new function-cluster to you for evaluation one at a time (typically through a development website that is exposed just to you). Unless you have spent the time and money to develop a remarkably detailed specification, there will always be issues such as “I thought that control would be a dropdown, not a radio button”, or “ I wanted the tab order to go like this …”, or “When you select...