I've noticed an interesting motif among overseas programmers to whom I have outsourced. This is just my own personal observation to humor my need to free-form once in a while. There is a moral, actually, which I think would be "bid out every project".
Start with a RFP on one of the freelance outsourcing boards...Elance, Scriptlance, and so on. Get some really solid bids from some companies with excellent feed back (sure, there's that one solitary 1.5 score that talks about how poorly the provider communicated, but in general you tend to gravitate toward the 5s and the "Rupak was awesome!" responses). You select your provider, and your project is off and running.
Your provider takes on your project and wows you. You get their undivided attention, and they seem to magically read your mind and finish the project almost before you specify the details (not every time, mind you, but often). Whatever widget you needed, zip-code search function, Joomla extension modification, or other application tweak, it gets done, quickly, efficiently, and you make payment to the provider, give your great feedback, and your project is complete. You think to yourself, "I have just found my all-time programmer!"
Here's where things start to get sticky. Approximately 98% of the way through the first project, you get an IM from your provider saying "Do you have more work for me?" usually accompanied by a smiley face icon. :)
Impressed by the first project, and being just behind enough in miscellaneous tweaks here and there, you look around for some additional work for your new friend. And here is where the worm begins to turn. Now, you're no longer in a competitive bidding process, but rather, so enamored by the initial impression that your new provider made that you just hand him the next project. And the conversation usually goes something like this:
You: "How long will it take you to convert 3 pages to PHP from HTML and modify the CSS to include blah blah blah"?
Them: "What is your budget?"
You: "How many hours do you estimate?"
Them: "What is your budget?"
Them: Frowny face icon. :( "*sigh*" can you pay $100?"
You go along with these short-term projects, paying probably more that you would if you were bidding these projects out on Elance, (because really, how do you know? Competition is no longer a factor) and about the 3rd or 4th project, the "marital trouble" begins.
Suddenly, you get an email from your client asking how things are coming on the website. You IM your programmer and suddenly, nothing. No response. His IM handle is grayed out. Since you're working without the net of Elance, there's really no recourse. After a few days of "hey Rupak..are you there?" texts, you finally hear back and get the sob-story. Either he or a family member was sick, his computer crashed. His internet connection was out, they were moving their offices,or something. This is all to mask the reality that he dropped the ball on your project and was hiding from you.
Confidence shaken, you have to nudge this once-shining programming duke, constantly in order to get things done. Assuming you do, you go and change the FTP password to make sure nothing untoward happens. Alas, it seems that your relationship is over. It's back to the Elance drawing board for your next project.
The Trophy Wife
Your new provider takes on your project and wows you. You get their undivided attention, and they seem to magically read your mind and finish the project almost before you specify the details. voila! The cycle begins again!