особенно кстати это важно понимать когда работаешь )
чем раньше бизнесу как заказчику начнешь показывать визуализированный результат - пусть кривой косой и на шарнирах, но видимый - тем лучше
улучшать архитектуру и писать идеальный внутри код можно потом
тут ситуация обрисована не очень конкретно, многое зависит от специфики проекта, но в общем случае, лучше заморочиться с тем, как хранятся данные, это сложно менять потом (и иногда кривые архитектурные решения, связанные со структурами хранимых данных, будут жить вечно, до окончания жизненного цикла проекта), а вот переписать один кривой код на другой менее кривой код - это можно сделать и позднее)