The offshore model may be less expensive on a monthly basis but, at the end of the day, when project total costs are measured, one should multiply the monthly cost by the number of months the project lasts.
There are a few roles and tasks that cannot be accomplished effectively without face-to-face communications, such as requirement definition, interface definition, graphic interface design, etc. Actually, every assignment or job that require customer feedback, should be done face-to-face in the customer's environment and in its language.
For this reason we build distributed teams with clearly defined roles. The onsite teams reside on the customer site and are responsible for gathering all customer info and fixing the requirements and architecture design deliverables based on customer feedback. The offsite teams, on the other hand, for the most part, do all the development and tests based on guidelines provided by the onsite team, with minimal customer contact.
This delivery model, called the Onsite-Offshore delivery model , is more expensive than a pure offshore delivery model because it relies on local personnel that are notably costlier than offshore personnel (After all, cost is the reason we looked into offshore to begin with, no?). However, the offshore model may be less expensive on a monthly basis but, at the end of the day, when project total costs are measured, one should multiply the monthly cost by the number of months the project lasts. This multiple, ends up being less expensive in the Onsite-Offshore model than in the pure offshore model.
The reason is simple - in the Onsite-Offshore model the number of miscommunications with the customer is significantly lower than the pure offshore model. In fact, with the right management, the Onsite-Offshore will perform just as well (as far as time and product quality) as the classic onsite model but at significantly lower costs.