Sembra una situazione molto familiare.
All'inizio della mia carriera ho lavorato per una piccola startup. Era una squadra di tre persone. Uno sviluppatore back-end (uno sviluppatore PHP esperto), uno sviluppatore front-end (io, appena uscito dal college) e un designer grafico.
Ero lo sviluppatore front-end lento.
Non stavamo praticando agile, ma abbiamo trovato il modo di utilizzare al meglio le nostre risorse, che è la vera radice della tua domanda. Lo sviluppatore di back-end si sarebbe inevitabilmente impennato davanti a me. Doveva conoscere abbastanza "cose da front-end" per ottenere le informazioni direttamente sullo schermo. Sapeva HTML di base, e questo era sufficiente per verificare l'output. Più tardi entrerò e riscriverò completamente il livello dell'interfaccia utente. Se avessimo bisogno di materiale AJAX-y, l'abbiamo progettato e concordato in anticipo. Abbiamo trattato le chiamate AJAX come qualsiasi altra chiamata API tra server e client: è necessario pensarci prima del tempo.
Quindi lascia che ognuno lavori al proprio ritmo. Progettare in anticipo, in modo che gli sviluppatori back end e front end conoscano le strutture dati prima dell'avvio del lavoro, quindi disattivano ciascuna di esse. Sembra che la tua sfida sia tenere il passo con lo sviluppatore back-end, non accelerando lo sviluppatore front-end. La velocità arriva con la pratica.
Quindi le storie vengono completate in periodi di tempo più lunghi. Dividi le storie in quelle più piccole (waaaaaaaay più piccole) per limitare i lavori in corso, allungare i tuoi sprint o semplicemente conviverci. Quello che scegliete è irrilevante, a condizione che le persone lavorino costantemente e che venga consegnato un software funzionante. Questo è il vero spirito di Agile Development.