Não sei se existe a 'forma correta', mas acredito que exista algumas melhores que outras. A melhor forma de desenvolver um sistema pra mim é:
1 - Validar a ideia, verificar se vai agregar valor para o seu cliente e isso vai se transformar em lucro.
2 - Pensar nas funcionalidades do sistema e separá-las em módulos para construir o banco de dados. Aqui você já terá um esboço de como as coisas vão funcionar, quantas páginas, relacionamento entre informações, tudo o que precisa para passar pro designer.
3 - Desenvolver o design do sistema pensando na fácil utilização por parte do cliente, pois isso pode te fazer ganhar mais clientes ou perdê-los. O usuário comum não pode sentir dificuldade de utilizar o seu sistema.
4 - Com o design em mãos, é hora de desenvolver o frontend. Aqui você vai deixar tudo preparado para o backend dar vida ao sistema.
5 - Desenvolver a regra de negócio, o backend em si e fazer a coisa funcionar.
Dessa maneira o meu backend se adapta ao meu frontend. Lembra da usabilidade? Então! Se eu crio primeiro o backend o meu frontend vai precisar se adaptar ao que já está pronto, e me deixa engessado na questão de usabilidade.