Dovresti fare entrambe le cose contemporaneamente, con la collaborazione. Questo può dipendere in gran parte dalla tecnologia in gioco. Suppongo che per sviluppatore front-end intendi Xaml o Html / Css a seconda dell'applicazione, e backend, servizi Web, logica aziendale e logica di accesso ai dati.
Dovresti aver già collaborato abbastanza che entrambi sanno qual è l'obiettivo. Lo sviluppatore front-end può costruire l'intera interfaccia utente lavorando con oggetti DTO JSON codificati, mentre lo sviluppatore back-end può appianare tutti gli accessi ai dati, la business logic e i servizi web. Il DTO ei servizi web possono essere ottimizzati, poiché questi sono la colla in mezzo. Devi essere "vicino" a come potrebbe apparire il DTO, ma non deve essere esatto, ma dovresti aver collaborato prima di fare una "fine" del progetto, quindi non c'è questo grande aggiustamento quando necessità di integrare gli strati insieme. Questo include decidere in anticipo quali potenziali chiamate di servizio e oggetti di trasferimento dati potrebbero essere in gioco, e poiché ogni sviluppatore si imbatte in potenziali problemi o problemi di progettazione, dovrebbero collaborare l'un l'altro per alterare il progetto in quel punto e non alla fine .
Sembra che tu abbia un problema di processo / comunicazione.
Di solito è necessario prima completare il back-end in modo che lo sviluppatore front-end possa sostituire gli oggetti DTO codificati con chiamate di servizio effettive, e qui deve esserci qualche collaborazione, in particolare test di integrazione prima che questi bit vengano inviati ad un tester.
Abbiamo sviluppato diversi progetti con successo in questo modo e, se fatto bene, è possibile ottenere uno sviluppo simultaneo più veloce, piuttosto che uno sviluppo lineare. La nostra ragione per passare a questo approccio è che siamo un team di scrum, ma abbiamo lacune nelle competenze e diversi punti di forza, quindi stiamo utilizzando l'architettura stratificata in modo appropriato per consentire alle persone di lavorare nelle loro aree di forza e sviluppare le funzionalità contemporaneamente.
Avvertenza: non tutte le funzionalità o i progetti si prestano a questa metodologia, ma se puoi farlo, lo consiglio vivamente.