Есть два взгляда на разработку программного обеспечения — взгляд заказчика, который хочет, чтобы разработка была в пределах ожидаемого бюджета и сроков, и взгляд программиста-профессионала, который хочет всё проектировать заранее, чтобы облегчить в дальнейшем свою же работу.
Ну вот опять мыслим в категориях продуктовой разработки, когда "заказчику надо проверить гипотезу". Далеко не весь софт разрабатывается в контексте какой-то "гипотезы".
Если у вас именно такой стартаперский (экспериментальный) проект, то и обсуждать нечего. В идеале обойтись no code, коробочным решением слегка допиленным, на худой конец готовыми библиотеками и UI, либо вообще fake it till you make it. И не надо никому продавать свои тесты и чистую архитектуру. Пожалейте своё время и ресурс.
Другое дело, когда ваши задачи как раз долгосрочные. Переписать корпоративный софт, сделать информационную систему для госзаказчика и т.д. К сожалению, в такие проекты эффективные менеджеры (и программисты) также пытаются пихать аджайл, MVP иже с ним, превращая разработку в предприятие по производству говнокода.
В таких проектах, заказчику необходимо тщательно донести концепцию технического долга и масштабируемой архитектуры.
"Переписать корпоративный софт" — значит изначально говнокодили?)