Исполнителю и заказчику необходимо проводить итерации по каждому из этапов работ и подробно описывать действия и их конечный результат. Чаще всего двойные трактования присутствуют в контрактах, когда ТЗ составляет исполнитель. Например, в ТЗ предусмотрен пункт по интеграции разрабатываемой системы со сторонними сервисами, но каким образом и на каком основании должен происходить обмен данными, не сказано. Может, эти сервисы вообще не хранят или не имеют возможности передавать нужные заказчику данные. Исполнитель выберет для себя менее затратный по времени и ресурсам вариант реализации, а заказчик снова не получит ожидаемый результат. По нашему опыту при проведении судебных, досудебных и внесудебных экспертиз цифровых разработок на соответствие утвержденному ТЗ, очень часто именно исполнитель оказывается прав, так как он выполнил все прописанные (им же) пункты в ТЗ. А заказчик, в виду недостаточной в этом вопросе компетенции, не предусмотрел детали.
Ещё из практики...
ТЗ должно быть согласовано не только формальным заказчиком, даже если он обладает нужной компетенций, но и конечными пользователями. Например, если заказчиком выступает Центр цифровой блаблабла, а на самом деле пользователи будут региональные больницы, то и ТЗ должно быть согласовано ими, хотя бы на уровне карт бизнес процессов, датасета и мокапов (как это по-русски называется? :D)
Со стороны заказчика должен быть product owner с которым можно будет согласовывать изменения. Он должен быть доступен и компетентен, хотя бы на уровне бизнес процессов. На этапе ТЗ очень сложно всё предусмотреть, особенно в сложных системах. Должен быть путь формальный путь согласования изменений по типу одного окна. Если по разным фичам нужно получать согласование разных людей, то это ответственность заказчика, а не исполнителя.