I'm in the happy situation to run a boutique like software development setting:
The client describes the problem. I code a solution, test it, write some documentation and an invoice and usually everybody is happy. Works nice but results in very little upfront documentation, requirements and the like.
To get more work done I tried to outsource coding tasks e.g. via rent-a-coder and Elance. So far I have been generally satisfied by the quality of the code I got there. I have the feeling that the other side also is quite happy working for somebody who is a coder himself (me) and thus can describe things in terms a coder understands, set objective requirements ("follow PEP8 use pylint and get a score of at least 8" etc.) and has realistic exceptions of the deliverables.
Unfortunately so far I have the feeling that describing what I want coded, answering questions during the bidding phase, answering questions during the coding phase and checking de delivered code before payment is more work than actually coding it myself.
How are your experiences with subcontractors/outsourcing? Can you suggests techniques to effectively handle this?