Sto entrando nella mischia e nel TDD e penso di avere un po 'di confusione su cui mi piacerebbe avere il tuo feedback. Supponiamo di avere una user story nel mio backlog, in modo che io possa iniziare a svilupparlo come parte di TDD ho bisogno di avere dei requisiti, giusto finora?
È corretto affermare che il product manager e il controllo qualità dovrebbero essere responsabili di prendere la storia dell'utente e scomporla nei test di accettazione?
Penso che quanto sopra sia vero poiché i test di accettazione devono essere formali, quindi possono essere usati come test, ma anche leggibili dall'uomo in modo che il prodotto possa approvare che sono i requisiti, giusto?
È anche vero che in seguito prendo questi test di accettazione e li uso come miei requisiti, cioè sono un insieme di casi d'uso che implego (tramite TDD)? Spero di non fare troppo casino, ma questo è il flusso attuale che ho in mente in questo momento.
Aggiorna
Penso che le mie intenzioni iniziali non fossero chiare, quindi proverò a riformulare. Voglio sapere più dettagli sul flusso di scrupoli di trasformare una storia di un utente in codice mentre usi TDD.
Il punto di partenza è ovvio, un utente soddisfa una necessità (o il rappresentante dell'utente come prodotto) che è una breve descrizione di 1-2 righe nel formato noto e che viene aggiunta al backlog del prodotto.
Quando c'è una riunione di pianificazione di primavera, le storie degli utenti vengono prese dal backlog e assegnate agli sviluppatori.
Affinché uno sviluppatore possa scrivere codice hanno bisogno di requisiti (specialmente in TDD poiché i requisiti sono quelli da cui derivano i test).
Quando, da chi e in che formato sono compilati i requisiti?
Quello che avevo in mente era che il prodotto e il controllo qualità definiscono i requisiti tramite test di accettazione (sto pensando all'utilizzo automatico di FitNesse o del tipo ma non è il nucleo che penso) che aiutano a servire 2 scopi allo stesso tempo:
- Definiscono correttamente "Fatto".
- Danno a uno sviluppatore qualcosa da cui estrarre i test.
Non ero sicuro di quando sono stati scritti (prima che lo sprint venga scelto potrebbe essere uno spreco poiché arriveranno ulteriori informazioni o la storia non verrà scelta, durante l'iterazione lo sviluppatore potrebbe rimanere bloccato in attesa per loro ...)