Pra mim, o desenvolvimento do sistema sempre começa na análise de requisitos, dai crio o escopo da aplicação, o que ela deve fazer e, eventualmente, o que não precisa ou não deve e então crio um esboço da regra de negócio para atender aqueles requisitos.

Daí, com esboço no "papel", estruturado e revisado, penso na melhor tecnologias ou linguagem pra atender os requisitos e regras de negócio.

Só depois disso tudo é que começo modelando DB > back > front (aqui vai de projeto pra projeto. As vezes faço wireframes, as vezes vou direto pro código).

Mas também já tive projetos em que fui back > front > db. E também já tive situações em que foi melhor ir front > db > back.

Acho que existem formas mais e menos eficientes, mas também dependendo do seu background e habilidades que tem mais familiaridade. Não adianta seguir uma forma que em teoria seja mais eficiente no geral, mas que no seu caso te trave. Melhor começar do que não fazer.