For me it depends on the type of work both teams are going to do. If, for instance, almost all work is about customization then I would suggest to set up a common environment. Maybe two different organizations to avoid problems, but using the same environment
could be fine.
If, on the other hand, plugin development is required, any of the teams will need to make frequent 'iisreset's which could drastically affect each other. In this case, I would suggest to have 3 environments (maybe VMs against same domain and same SQL, but
3 CRM environments), distributed this way:
1 for onsite team, 1 for offshore and the other one to consolidate work, as a 'staging server'.
I also suggest you take a look at
this post which describes the behavior under MSCRM when 2 or more customizers work on same objects.
Hope it helps,
PP
Microsoft MVP Dynamics CRM | My Twitter: http://twitter.com/pabloperalta | My blog: http://weblogs.asp.net/pabloperalta