Hi all,
I don�t know much about being a contractual programmer but I certainly know about project work because that�s what I make my living with. One of the first thing you'll have to do is create a PDS (project data sheet) there are plenty out there, just make sure the version you are going to use has a risk matrix on it. In this document you are going to define the scope, associated risk, key assumption and external (customer) dependencies of the project. I personally don�t start working on any project or detailed planning as long as this document isn�t signed by all stakeholders.
The defined scope within this document is what the customer gets, if he wants more then he is going to pay, this would then usually be on an hourly bases. Make sure the customer understands that everything he puts onto the table straight away can be implemented with not to much additional cost but everything that comes in late during the project will cost him a little fortune.
Don�t know who said it before but yes I would draw up a contract or a detailed project description before even firing up any development tool because that�s your money as well.
Mike
[edit]
one word on rent-a-coder, i won one bid there and that healed me straight away, you can't get hold of these people and most of them don't know what they want, that applies to IT pro's just as well as to college students
[/edit]