Before contracting a developer, what should be considered? Legally what documents are standard and recommended, and why?
There are the standard legal documents
Scope of work
How do both sides know what "done" means? This is a very tricky one when it comes to software. Unless you have clear documents saying "the screens should look like X and it should do Y when you press the button" then both sides are in trouble and can end you up in court.
From your side you will think "but wasn't that included or implied by what I said" and from their side they will be saying "but all you asked for was this bit, the rest I didn't know about".
It sounds silly but I have seen a lot of projects where either the client keeps paying forever for changes OR the developer keeps changing it until the clients happy and will pay. Either way is not a great long term strategy if you want ongoing consistancy.
What are you paying for at the end of the day? You want at least the source code (with copywright) and the finished product. Should it be live and operational or "just on a CD" for you to do with what you want?
Ongoing support agreeement.
Most people starting out getting a developer think "I will just get them to build this" and then I will sell it millons of times and be rich ... well not quite that bad but close, they think that once they hit the "go live" point that that will be the end of it and they won't need the developer anymore because they have the product.
This in 99% of cases is completely wrong, that is the point when the actual work starts ... see it as more of a journey the two of you will be taking together.
Once you get it you will show it to the first few clients and start selling it, they will have ideas and changes and things you handn't thought of. You will then want to extend the original concept "just a bit" (so you get them to). You will sell it to more people and get more needs and changes, there will be bugs and browsers, windows and the world will change around the applicaiton so you need to update it.
You will then realise there is a whole untapped market sitting in your client base if you just had a product to solve X.
and so it goes on ... 10 years ago we started with 1 product to do 1 little function and today we have 12 products that do a whole lot and have 90% of the Australian market for our space.
So at the outset
You want to know upfront how far you can take it with your developer. Both of you need to know what the ground rules are and who owns what and ideally you need to know if both of you are in it for the long term or just a once off gig.
The three standard documents that I always bump into are...
Weather or not your outsourcing partner will sign them is another story (especially the NDA)
This post does not constitute legal advice.