Для того, чтобы не возникало очень много хотелок, для начала нужно обсудить с заказчиком все нюансы. Если вы работает в web сфере уже давно, то вы должны уже знать все о том, какие придирчивые бывают заказчики...
Перед тем как приступить к работы, нужно обсудить каждый элемент работы, возможно и такие варианты, что не понятно словами, клиент набрасывал рисунками ( пусть кривыми) на paint`e. Так как ,не каждый заказчик может выразить свое хотение словами ( такое бывает в 50% случаях ). Это убережет вас от того, как все должно правильно работать.
Работу выполнять по пунктам. К примеру начинать с шапки сайта и поехали по каждому блоку (это касаемо по верстке или по дизайну). Это убережет от того, что потом нужно будет править по мелочам пробегаясь по всему сайту. А выполняя по элементам, вы можете обсуждать не понятные вопросы каждого элемента уже с заказчиком и уже далее к этому не возвращаться.
В моем случае, после выполнения проекта, я консультирую своих заказчиков, оказываю так же тех. поддержу в пределах разумного. Если уже заказчик хочет дополнить более серьезной доп.задачей, соответственно все это делается за оплату.
p.s. При обсуждении, нужно предупредить клиента, то, что все последующие изменения, которые возникнут в ходе работы будут делаться только после завершения уже оговоренных задач и за дополнительную плату.