Sono in una squadra abbastanza nuova che è anche nuova per TDD e Agile / Scrum. Attualmente stiamo sviluppando un progetto che consiste di API Web e un'applicazione iOS e Android nativa, con un piccolo team di sviluppatori che lavorano su ciascuno di essi. Stavamo discutendo su come risolvere problemi in via di sviluppo contemporaneamente e tutti avevamo opinioni divergenti e stavamo cercando informazioni.
In questo momento, quando iniziamo una storia, tutti i nostri rispettivi progetti si suddividono in Git per la storia in cui il lavoro si svolge attraverso il processo di approvazione. Spesso gli sviluppatori di applicazioni mobili nativi sono bloccati in attesa del codice sull'API web per spostarsi ulteriormente nel processo in modo che possano consumarlo e iniziare il lavoro.
Alcuni sostengono che è compito dello sviluppatore dell'API Web prendere in giro i dati e l'endpoint dell'API dall'inizio in base a un contratto definito, quindi scambiare il codice per il codice che sarà effettivamente presente in quell'endpoint mentre gli sviluppatori mobili lavoreranno. I problemi con questo sono che gli sviluppatori mobili avranno ancora un periodo di attesa (più breve) mentre i dati vengono derisi e richiederà più lavoro sulla fine del web dev.
Altri sostengono che gli sviluppatori di dispositivi mobili dovrebbero prendere in giro i dati nei loro test e svilupparsi usando i dati derisi sulla loro estremità per i loro test unitari, lasciando che i loro test di integrazione falliscano mentre gli sviluppatori delle API web lavorano sul loro codice dall'approvazione del la storia dipende dal codice della due parti all'unisono in entrambi i casi. Lo svantaggio di questo è che consente agli sviluppatori mobili di superare gli sviluppatori Web e rende molto più difficile la verifica e l'implementazione della loro interfaccia utente.
Quali sono alcune best practice in merito? I due gruppi hanno ragione, un gruppo di due gruppi è giusto, o nessuno dei due gruppi ha ragione e c'è un altro modo per evitare questo problema tutti insieme?