So here's the deal:
I'm a consultant. One of my large customers is having a problem with X. So I wrote out the database specs and a few screens around how to fix X. The customer is interested in trying out my program on a few users.
Now I don't have bandwidth to both finish the program and hand-hold the users AND continue consulting with this customer. Needless to say, in the customer's eyes the consulting part is what they want. In my eyes I'd rather be working on this small start-up opportunity. If I leave the consulting part, I'll lose my first customer as my start-up.
It just occurred to me that since my data model, my DAL, and my screen framework is complete, I could hire out the rest of the coding. After all, I could pay somebody to work full-time on the project. Even if they weren't as effective a coder as I was, there would always be sombody on the other end of the phone for the customers (in addition to having me personally on-site from time to time)
Anybody else do something like this? I know as hackers it's best to be close to the solution, but isn't there a point where you can hand off things like bug fixes and trivial data entry screens to somebody with more bandwidth?
Interested in your opinion.
And BTW -- anybody with C#, ASP.NET, SQL Server, and Telerik experience who wants in on the action is welcome to respond.
The key is finding someone who's good. I have some tricks for that on Rent a Coder:
1 - Spend some time building a private invite list of coders who have something similar in their work history. Pick only people with a 9-10 rating, and 10+ projects. Make sure at least couple of those projects are decent-size. Give preference to similar time zones unless you work either early morning or night hours (like I do).
2 - Invite your coder-list to a private auction, and don't worry about the price of the bids much. Instead give it to the guy who asks the most questions.
3 - Have well defined specs (as you have), and create unit tests or test stub names that are required to pass for the project to be considered "complete" and put this in the requirements.
4 - Outsource discrete chunks.
If you've got a great coder, #3 is less important, but some people have low attention to detail and try to turn the project over ASAP. So they'll lob something over the wall that doesn't work fully, and you lose time investigating and complaining about each item--they make you drag it out of them. I make automating the required tests part of the project, and then I spend less time verifying their work. Call it test-driven outsourcing.
I've found that outsourcing a project takes anywhere from 10-30% of the time doing it myself would have, but it's still a win.