La gestione dei requisiti a breve termine per i progetti Agile mi sembra un problema risolto.
Dal punto di vista Scrum, i nuovi requisiti o le modifiche ai requisiti esistenti vengono forniti tramite User Story. E le User Story raggruppate in Epic o Feature facilitano la consegna di requisiti più grandi e complessi.
Naturalmente, una User Story non è tecnicamente un documento di requisiti. È un raggruppamento gestibile di lavoro che si associa a quella che viene spesso definita una fetta verticale di funzionalità. E la portata di queste storie può essere definita in modo inequivocabile attraverso l'uso di Acceptance Criteria (AC).
Quindi, sebbene le User Story non siano requisiti formali, la navigazione attraverso di esse può darti un'idea abbastanza chiara dei requisiti sottostanti. A breve termine.
Dico a breve termine perché, man mano che il progetto avanza, aumenta il numero di User Story. Pertanto, sfogliare un elenco sempre crescente di storie per trovare un requisito diventa sempre meno efficiente nel tempo.
Questo problema si aggrava quando si considerano le storie utente che si espandono, si sostituiscono o addirittura si annullano le storie precedenti.
Ora, immagina un divario di 2 anni tra iterazioni di sviluppo su un progetto (stabile nella produzione). La squadra originale è sparita e così è tutta la loro conoscenza.
Se il team originale sapeva che sarebbe successo (ad esempio, è la natura del business), quali misure potrebbero adottare per aiutare i team successivi?
Certo, il backlog fornirà alcune informazioni, ma difficilmente è in una forma facilmente navigabile.
Quindi, cosa si può fare per aiutare i team successivi a capire lo stato del progetto, incluso perché e come è arrivato?
Nella mia esperienza, le seguenti cose non funzionano:
- Pulizia del backlog per eliminare o aggiornare le User Story precedenti in modo che il Backlog possa essere letto come un documento di requisiti.
- Documentazione Sprint in cui i membri del team hanno il compito di documentare lo stato corrente del sistema.
- Documentazione tramite test comportamentali . Questo approccio è l'unico che ho visto avvicinarsi al lavoro. Sfortunatamente, i test di comportamento in codice sono vittime del problema dei nomi. Sebbene i test possano documentare correttamente il sistema, è quasi impossibile convincere un team fluttuante di sviluppatori a scrivere i loro test seguendo la stessa terminologia, formulazione e stile del dominio.
Quindi, per ribadire:
Come si gestiscono i requisiti del progetto Agile a lungo termine?