Имхо, очень правильно вопрос сформулировали.
Именно "ожиданий".
Моя практика, показала, что нет "хороших" или "плохих" решений.
Есть решения, которые соответствуют "ожиданиям", а есть, которые нет

Вопрос лишь в том, как до этих "ожиданий" достучаться?
Дело в том, что когда Заказчик пытается сформулировать (сказать или написать на бумаге) свои пожелания (требования), то уже здесь, зачастую, происходит искажение информации. Если между Вами и Заказчиком появляются дополнительные звенья в виде ген. подрядчиков, представителей Заказчика и т. п., то ситуация ещё более осложняется и достигнуть положительного результата ещё труднее.
Отсюда, "золотое" правило: исключайте "прокладки" между Вами и Заказчиком.
Это ключевой момент, от которого зависит успех совместного мероприятия.
Кроме того, считаю, что не нужно заставлять Заказчика писать ТЗ.
Лучше просто попросить изложить мысли в свободной форме.
Причём в этих мыслях, в первую очередь, отразить то, что не нужно делать ни при каких обстоятельствах.
Может что-то не нравится, есть какие-то фобии и т. п.
На эти моменты обратить особое внимание.
ТЗ должен составлять специалист, причем в случае с частными Заказчиками, лучше сразу перейти к "концепции", такой упрощённый вариант стадии "П", где Заказчик сможет согласовать не требования к системе, а у же конкретные технические решения.
У меня был замечательный сюжет в практике, когда в ТЗ было написано, что нужно в рамках KNX "предусмотреть возможность дистанционного управления по IP".
Я, добросовестно, заложил KNX IP-роутер. А Заказчик ожидал, что я ему поставлю коммутатор, маршрутизатор, выберу провайдера, оплачу месяц интернета и сделаю визуализацию