So you agree on a fixed fee project, only to see your budget chewed up by an endless stream of revisions and requests. Before you know it you’re paying the client to work for them.

Clients can be a little undecisive. After all, they've got money vested in your project and they are anxious about the outcome. And feedback is crucial to getting it right. But where do you draw the line?

Again - know your worth. When you agree on a budget, you should know how many hours of work you can afford on the project (a buffer for revisions included). Track your time against the estimate to stay profitable.

When it starts going into red, let your client know. More often than not they're be making revisions for the sake of it and will stop once you remind them that it can't go on forever.

On the other side of the spectrum is the client who says little during development, approves every element but once you're ready to deliver the project, BOOM - they've had a revelation, and everything needs to be rebuilt!

It's the ultimate dick move. To put a rotten cherry on that turd of a cake, the client probably thinks that since they paid you, you owe them work until he signs off on it. You have to know better - as an agency you sell time, not products. When the client restarts the development process with no warning, they must either increase the budget, or switch to an hourly fee.

And boy, nothing gets the ball rolling like billing by the hour.