Cal Evans has posted point number five of his six ways that a client can do their best to work with the developer(s) on their project (and get the most out of the relationship). This next point deals a subject considered by some to be a bit uncomfortable - money.
Let your developer know up front how much you have to spend, don't make them guess. They know what they can build projects for and letting them know up front helps them decide what tools to use and even whether they can afford to take the project or not.
He recommends the client ask for references and check them before committing to the developer and how close they came in the past to the goal budget. They should understand that, once the initial price and design is agreed upon, changes should be handled separately - no one-off requests squeezed in at the last minute. Hitting a moving target is asking for trouble.