Работаю по договору на разработку программы по заказу. Пакет документов: договор, техническое задание приложением, приёмочные испытания, акт.
Техническое задание пишется до начала работ и содержит проверяемые требования и испытания, по которым работа принимается. Это защищает обе стороны: заказчик знает, что получит, я знаю, где заканчивается объём.
До договора идёт разбор задачи и смета: оценка в часах с раскладкой по компонентам и список того, что не входит в работу.
Приёмка идёт по испытаниям из технического задания, а не по общему впечатлению. Гарантия 30 дней на несоответствия приёмке.