-
Talking to previous customers. Ask about their deadline and hidden costs.
-
Research the company on the web; see if negative feed back exists on forums.
-
Keep in mind they are going to promise you everything just to get you to sign. Remember that their words are meaningless; their actions are what interest you.
-
Make sure they have dealt with similar projects and technologies before.
-
Have direct access to the developers instead of only a project manager. Talk to them, if he cannot see what you see, then you will have many problems.
-
Make sure the developer has a minimum of 2 years commercial experience. University projects do not count.
-
Get a timeline for development and check in at no more than 25% intervals. At 50% you should definitely have something to see and play with.
Try not to pay for anything until you can see something. Definitely, do not pay more than 25% deposit.
-
Build in a clause in your agreement that for every 5% project delay, then a percentage is deducted from final cost.
-
If the project is more than 50% late then you have the option of walking away with the source code free of charge unless exceptional circumstances exist. Any good developer should not go over 50% of project time. Alien abduction and extended power cuts are about the only concrete reasons for being exceptionally late. Anything else, then you should be informed straight away.
-
Do not be fobbed off. If you do not like the answer then query it repeatedly.
-
If they do not answer your calls or emails then go direct, unannounced and annoyed.
-
If you have paid money then ensure you receive source code created to date. If the relationship deteriorates then they are not going to help you so at least you have something that another developer can take over.
-
If the developer can not use plain English or provide an analogy then you might be being fobbed off.
-
Ensure you own the domain name.
-
If any software or components need purchasing, then do it through your own credit or debit card and put it in your own name.
-
Have as much detail in the agreement as possible regarding the project functionality. You then use it against them when they do not complete it.
-
Build in a clause for bug fixing after project completion. New builds usually always have errors in them after being allegedly “thoroughly tested”. You should not have to pay for bug fixing. I have NEVER received a bug free application in the years I have been doing this.
-
If the project is unique and of general interest to others then write in that they cannot use the source code elsewhere. Conversely if it can be resold then you could ask to pay considerably less.
-
Once you have the source code, make a copy of it and store in a separate physical location. To be safe, give a sealed copy to your solicitor.
-
Ask that you own all copyright of code. Not difficult, a signed agreement should suffice. If in doubt, see a solicitor.
-
Ensure the application works in Internet Explorer and other popular browsers such as Mozilla and Firefox.
-
Test on a live server before payment and preferably on the host you are going to use and not a test server.
-
Above all, remember that money is the only part of the project they are interested in and you control that.