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