Oggi abbiamo cercato di introdurre BDD nel nostro processo di sviluppo software organizzando un seminario sulle specifiche.
Per questo workshop abbiamo avuto 2 sviluppatori, 1 tester e 1 analista aziendale. Il seminario è durato 1h30 e alla fine siamo riusciti a capire alcuni scenari BDD per la nostra nuova funzionalità. Abbiamo cercato di concentrarci sulla ricerca degli scenari che potevamo perdere e di quelli difficili.
Alla fine del seminario alcune persone erano effettivamente insoddisfatte del seminario.
Uno sviluppatore ha ritenuto di aver sprecato il suo tempo in quanto era abituato a distribuire gli scenari direttamente dall'analista aziendale e a rivederli con lei. L'analista di business non si sentiva sicuro della copertura dei nostri scenari (aveva la sensazione che avremmo potuto perdere altre cose importanti), ma soprattutto sentiva che questo workshop era anche una perdita di tempo in quanto avrebbe potuto capire da sola tutti questi scenari e in un periodo di tempo più breve .
Questo seminario sperimentale è durato 1h30 e alla fine non ci siamo sentiti abbastanza sicuri di ciò che abbiamo fatto ... sicuramente avremmo potuto dedicare più tempo a farlo, ma onestamente la maggior parte delle persone si esaurisce dopo 1h30 di brainstorming per recuperare gli affari regole dal cervello BA.
Quindi la mia domanda è come questo tipo di laboratorio può effettivamente funzionare. Nella teoria, dato che hai una nuova funzionalità da sviluppare, metti l'albero "amigos" (dev / tester / ba) nella stessa stanza in modo che possano collaborare insieme per scrivere i diversi requisiti per la nuova funzionalità usando esempi. Ne posso vedere tutti i benefici. Specialmente in termini di condivisione delle conoscenze e visione comune del prodotto / obiettivo finale / fatto.
La nostra conclusione da questo esperimento è stata che in realtà è più conveniente avere prima un BA a lavorare da solo sugli esempi e solo allora avere gli scenari da rivedere / rielaborare dai 3 "amigos". Avendo il BA a lavorare da solo, ci sentiamo davvero più sicuri di perdere meno cose + possiamo ancora rivedere gli scenari in seguito per ricontrollare. Non pensiamo che una semplice sessione di brainstorming / scoperta deliberata sia effettivamente sufficiente per coprire seriamente tutti i requisiti per una nuova funzionalità. L'analista aziendale è in realtà la persona migliore per quel tipo di cose. La cosa migliore che possiamo fare è rivedere ciò che ha scritto e vedere se poi abbiamo una comprensione comune (che potrebbe quindi portare a riscrivere alcuni dei suoi scenari o aggiungerne di nuovi che avrebbe potuto perdere).
Quindi, come puoi farlo funzionare efficacemente nella pratica ?