didn't want you to think that effort went to waste.
A geek is a bum who bites the heads off of chickens for drinks.
I never liked the fact that that term was applied to "anyone who knows more about something than I do" (especially computers.)
...Evolution works if you leave it the fuck alone....
So, do you wear glasses?
I outsourced several small custom add-on components for our core application. These components were not going to be used by any other customers and were not going to be included in the main product. I don’t know why you would outsource your core development – also already covered here. But if you are set on outsourcing, here is my advice:
1. Develop a specification with all features and functions clearly defined.
2. Design the database schema (or whatever data storage design you need).
3. Prototype every screen. Create full up screens (even if they are just images) with the same controls on them that you want to see in the product.
4. Spell out every user input and result for every screen.
5. Establish the platforms – all development tools, OS’s and languages should be spelled out up front.
6. Review often – catch problems as soon as possible.
7. Document every variance. If they can’t do something the way you wanted it, document it and the agreement you came to.
8. Pay for feature completion, not hours.
9. Protect your Intellectual Property.
"...whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government, laying its foundation on such principles and organizing its powers in such form, as to them shall seem most likely to effect their Safety and Happiness"