За составление ТЗ, за поддержку "модных" форматов, за кроссбраузерность и мультиплатформенность будущей программы. За все новые "фичи", не предусмотренные ТЗ первоначальным.
Если заказчик сам не знает, чего хочет, я подскажу ему, что он должен захотеть. Можно ругаться на таких клиентов, можно с ними спорить. А я буду на них зарабатывать деньги. Если уж вы не смогли это сделать.
Если клиент хочет сайт на флеше, я могу упомянуть, что в некоторых случаях такие сайты плохо индексируются поисковиками. Но сайт заказчику сделаю. Так как мне платит не Яндекс и не Гугл, а клиент. Если он позднее захочет индексации поисковиками, ему снова придется заплатить. Может быть, даже не мне. Но придется.
Если будет заказ на "крутые" JS-скрипты, от которых тошнит всех посетителей, я не буду спорить. Просто поставлю их на сайт. Если за это заплатит заказчик. Если он попросит снова повысить посещаемость, ему придется раскошелиться. Чтобы убрать эти скрипты.
Если будет макет, от одного вида которого всех альтернативщиков от искусства потянет к классике, я не буду доказывать, что дизайн -- дерьмо. Я лишь уточню, что если клиент несет полную ответственность за внешний вид сайта и готов заплатить, то сайт будет сверстан по этому макету.
Если клиент лезет в производственный процесс и указывает, как надо делать работу, я просто попрошу внести указанные пункты в ТЗ и изменить смету. И сроки сдачи.
Попытка "задним числом" впихнуть все изменения в ТЗ при сохранении прежней суммы оплаты вызовет у меня лишь снисходительную улыбку. Да никаких проблем! Заказчик же не упомянет про совместимость новых требований со старыми. А оплачивать поддержку полученной "каши" всё-равно придется клиенту. Пусть даже и не мне пойдут эти деньги, а знакомому "программисту".
Поймите, "быстро-дешево-хорошо не бывает".
Я не возмущаюсь, когда клиент просит что-то переделать, по-другому оформить, добавить лишнюю функциональность. Лишь вежливо замечаю, что это увеличит стоимость конечную программы и удлинит сроки ее разработки.
Скандалить со мной бессмысленно. Если заказчик откажется платить, я просто продам готовую программу его "нишевым" конкурентам. Или выставлю код в open source. И буду продавать техподдержку.
Стоимость ПО ровно столько, сколько за нее готовы заплатить. Если у вас таких денег нет, ищите бесплатные аналоги. Хотите "эксклюзивности" - платите, сколько просят. Ссылаетесь на "Васю, у которого это дешевле" ? Вы все еще здесь? Значит, услуги "Васи" вам не понравились.
В общем, не усложняйте себе жизнь. Да и мне тоже. Мое время и так стоит достаточно дорого.