Очень частая ситуация (думаю, со мной согласятся многие ИТ-компании) заказчик приходит с одной идеей, а на выходе оказывается совершенно другая. В результате мы тратим время на многократные обсуждения, уточнения и правки. В крупных и высоко нагруженных системах вопросы стабильности и безопасности — это отдельная история. Архитектура, интеграции, тесты — все это стоит денег, и не потому, что разработчики хотят больше заработать, а потому что каждая ошибка здесь — это катастрофа. Лучше вложить деньги в качественную архитектуру на старте, чем потом спасать постоянно ломающийся проект.