For outsourced companies it's imperative that you have extremely clear requirements and milestones. While the hourly rate is generally lower I've seen many, many outsourced projects go off the rails, and in fact I get called in a lot of the time to clean them up.
In terms of structuring the project:
1) You need someone who understands technology and someone who understands how to manage development projects. That can be the same individual or two, but if it's two they need to get along and work well together.
2) You should have the product as well defined as possible in terms of processes and visuals. Ideally you even have a database schema designed as well as wireframes if not complete designs. If you don't have a tech lead or CTO, I'd recommend working with someone local to produce these vs. trying to offshore them.
3) You should have a weekly call to go over deliverables and show progress. Breaking everything into weekly increments is a great way to make sure you all understand what's being done as well.
As far as the business side of things, there are the three approaches I've tried personally and I've had the most luck with the third, the worst luck with the second.
1) Deposit up front, balance on milestone delivery - This can work, but it can create the dynamic someone mentioned above as the developers will start cutting corners once it delays the check.
2) Retainer - set amount each week or month - DO NOT DO THIS. It makes the incentive to draw out the project as long as possible. Some indian companies I've seen even pay per line of code which is just awful.
3) No deposit, set a weekly payout amount with "balance" on the milestone. This keeps the client engaged but keeps them from cutting corners still provides incentive at the delivery point. Additionally, weeks where they don't deliver anything or miss your scheduled call means no retainer.
The other thing you can do with Item 3 is have any timeline slip start to come out of the "final" payment. The advantage here is that if things aren't going well at a certain, you can cut your losses.
Hope this helps!