Иногда лучше mock (мок)

Иногда перед началом разработки или в процессе добавления новых модулей хочется сразу проектировать базу данных: продумать схемы и таблицы, связи между ними, ограничения, индексы и так далее. Наполнить базу тестовыми данными и проверять интерфейс.

Но в последнее время, чаще предпочитаю начинать с mock-данных.

Сначала создаю интерфейс, наполняю его реалистичными тестовыми данными и пробую пройти основные пользовательские сценарии. Смотрю, какие данные действительно нужны, какие действия доступны пользователю, чего не хватает и какие связи между сущностями возникают на практике.   И только после этого перехожу к проектированию базы данных и переносу моделей на уровень БД.   Такой подход помогает избежать ситуации, когда приходится подстраивать уже готовую структуру БД под интерфейс и бизнес-логику, которые ещё толком не сформированы.   Конечно, это не универсальное правило. В иных случаях, где модель данных уже сформирована и хорошо известна, начать с базы вполне логично.   Но когда разрабатываешь новый продукт или отдельный модуль, mock-данные могут оказаться хорошей отправной точкой.   В итоге получается, что сначала происходит проверка идеи и пользовательских сценариев, а затем проектирование БД под эту бизнес-логику.