Ожидания заказчика - решение его бизнес задачь с помощью вашего софта. Понимание того , что ему нужно в качестве софта, формулирует ваш аналитик и укладывает это в ТЗ. Заказчику не нужен софт ради софта. Вы пишите софт- продукт, который является решением для задач заказчика. И вы должны написать софт, который будет отвечать его ожиданиям. Сам заказчик не может вам написать ТЗ на софт, потому, что это ваша задача - разработать решение