Whenever possible, I try to strike Agile Contracts where the client is given control ONE of three levers: The Scope lever (how much will be done). The Time lever (how much time will be spent). The Money lever (how much will the client spend). If you try to give your client more than one of these levers, you're fooling yourselves, because it isn't really possible. Some aspect of the project will suffer in a way that violates the basis of a good business relationship and / or a good outcome.
More information on Agile Contracts:
http://www.agilecontracts.org/