Storia della questione:
Le fasi iniziali dei progetti sono spesso accompagnate da una scarsa definizione degli obiettivi aziendali e delle soluzioni architettoniche, quindi l'analista di sistema si confronta con il problema di determinare il livello ottimale di dettaglio dei requisiti. Una scelta errata porta o a un'eccessiva lavorazione (overengineering) o a compiti vaghi e incomprensione nel team.
Problema:
Alcuni stakeholder richiedono di vedere i dettagli "a monte", altri temono che un'eccessiva dettagliatura porti a una perdita di flessibilità. Il passaggio tra le fasi (dalla concezione alla progettazione, poi all'implementazione) richiede un aggiornamento tempestivo dei requisiti e il coinvolgimento di tutti i partecipanti.
Soluzione:
L'analista di sistema applica un approccio iterativo. Nelle fasi iniziali vengono fissate solo le principali esigenze aziendali e i blocchi principali (epic), poi i livelli di dettaglio aumentano man mano che si passa allo sviluppo:
Caratteristiche chiave:
Chi dovrebbe determinare il livello di dettaglio necessario — analista, architetto o cliente?
In genere si pensa erroneamente che ciò sia compito solo dell'analista o solo dell'architetto, ma la risposta corretta è: il livello di dettaglio è una responsabilità dell'intero gruppo di coordinamento (analista, architetto, product owner, capi tecnici e cliente), concordata nell'ambito della metodologia del progetto.
Sono sufficienti i requisiti di alto livello per iniziare il lavoro del team?
No, i requisiti di alto livello sono necessari per formare una visione generale. Per passare allo sviluppo sono obbligatori scenari dettagliati (user stories, criteri di accettazione), altrimenti il rischio di fraintendimenti e errori nell'implementazione è elevato.
Tutti i requisiti devono essere egualmente dettagliati al momento del rilascio?
No, spesso i requisiti per l’MVP vengono elaborati in modo approfondito, mentre i compiti meno prioritari rimangono a livello di bozze, per non sprecare risorse prematuramente.
Caso negativo: Progetto CRM in una startup. Il business insisteva su una completa dettagliazione di tutti i moduli in anticipo. L'analista ha creato centinaia di pagine di requisiti per tutte le future funzioni, anche se le priorità erano solo le vendite.
Vantaggi:
Svantaggi:
Caso positivo: In un progetto analogo, l'analista ha formato il nucleo dei requisiti per l'MVP (gestione dei lead e delle trattative), mentre gli altri di sono stati formati come epic con una breve descrizione. La dettagliazione avveniva durante l'avvicinamento agli sprint di implementazione.
Vantaggi:
Svantaggi: