Повременная оплата.
Я не говорю заказчику "проект будет стоить столько-то". Я говорю: цена моего рабочего часа - такая-то, сильно примерно я оцениваю стоимость разработки в такую-то цифру (+/- 50%). Естественным образом в счет включаются всё моё рабочее время, потраченное на проект.
Вообще проблем с доработками/консультациями/обучением не возникает!
Как показывает опыт, практически любой сделанный проект в дальнейшем требует внесения изменений, расширения функциональности - всего того, что называется поддержкой. И это нормально. Естественно, что вся эта дополнительная работа также должна оплачиваться. Заказчики к такой схеме относятся хорошо.
* Единственное только, такая схема не подходит для людей, которые впаривают заказчику копеечную работу за большие (и как правило фиксированные) деньги.