I'm always hesitant to engage in a project with people I haven't met face to face. Especially when out of the country. But I did it. It took me a couple of months but I realized that the software crew I had were programmers, not software architects, software managers or systems analysts. I had the marketing requirements nailed and had discussions about product requirements hoping to work them out as a team.
So last week I had a couple hour meeting with a local shop. By the end they had a complete understanding of what was needed and the most efficient way to get there. And a very fast delivery date (e.g. had I gone this route originally, we would be done).
What did I learn? First off, you have to meet the team. By doing so you will get an understanding of just what kind of talent you have to work with. Secondly, you need to be crystal clear about expectations and written deliverables. And always have a plan B.