Qual è la filosofia Agile attorno ai criteri per una storia preparata e la responsabilità del team tecnico?
(ho deliberatamente definito la spiegazione come antagonistica per il bene che chiarisce i punti di vista opposti).
Il progettista dell'esperienza utente (UXD) sviluppa wireframe per un'epica (ad esempio, compilando un modulo). UXD considera tutti gli aspetti che andranno nell'epica, per assicurarsi che tutte le caratteristiche combacino (ad esempio: visualizza campi, convalida, salva, modifica, cancella - tutto avviene su una pagina). UXD allega i wireframe a tutte le storie che dipendono da esso (ciascuna di queste funzionalità potrebbe essere una storia).
Poi arriva il Dev Lead e guarda una singola storia e dice "il wire frame deve essere modificato". La preoccupazione di Dev è che (e non so da dove viene questa citazione) "ogni sviluppatore dovrebbe essere in grado di raccogliere qualsiasi storia e lavorarci immediatamente" . Potresti UXD rimuovere gli elementi che non sono rilevanti per la storia in questione. (ad esempio: la storia X copre solo la visualizzazione dei campi, non la modifica o la cancellazione, quindi ha bisogno di una cornice metallica che abbia solo visualizzazione e non modifica / cancella.)
Questo è un problema, secondo me. C'è ancora molto lavoro da fare dopo che i Requisiti Aziendali e i wire frame sono stati completati. Il team di sviluppo deve ancora determinare quali sono quelle che significano per loro. È sulle loro spalle tirare dalla cornice del filo l'implementazione specifica per questa storia. I wire frame non sono documenti di progettazione software, e questa non è una metodologia a cascata, in cui tutto è descritto dettagliatamente.
Mettere troppo molto in è un problema per Devs, ma non mettere abbastanza in sembra essere un problema. Gli sviluppatori non svilupperanno qualcosa che non è esplicitamente enunciato. E.g. Se lasciare una pagina non viene esplicitamente richiamato per salvare i dati, gli sviluppatori scriveranno le funzionalità per portare l'utente alla schermata successiva e tutti i dati andranno persi.
In altre parole, Tech Lead non ritiene che si tratti di un requisito tecnico per prevenire la perdita di dati. Tutti i requisiti sono requisiti aziendali. Se gli affari non lo chiedono, non lo costruiranno. (E quindi, l'onere cade su Biz e UX per specificare "PER FAVORE NON PERDERE I DATI").
È mia opinione che il Dev stia sottraggando la sua responsabilità primaria, ovvero fornire soluzioni tecnicamente corrette per le storie. Da dove vengo, ogni ruolo possiede il loro aspetto del prodotto. La Tech è responsabile di dire "Non perderemo dati sul mio orologio - e non abbiamo bisogno che qualcun altro ci dica questo".
È mia opinione che Dev Lead sia bloccato in una mentalità a cascata - dove si aspettano che ogni dettaglio sia documentato e il loro ruolo è quello di costruire solo ciò che è documentato. ma la metodologia Agile richiede esplicitamente una collaborazione faccia a faccia e il codice di lavoro è preferibile rispetto alla documentazione.
Ma il Dev Lead ha detto esplicitamente che - se non è nella trama del filo, non lo costruiremo. Da dove vengo, chiamiamo queste persone "code code".
La mia domanda è: dove viene disegnata questa linea? e cosa succede se il team di sviluppo non è aperto a negoziare dove si trova questa linea (perché sono troppo occupati nella codifica)?