Un requisito per amico

“Requisito: Cosa ricercata, richiesta; Qualità o dote necessaria per ottenere un fine”.

Durante la realizzazione di un progetto software viene prodotto un quantitativo di carta incredibilmente variabile. Si passa dal paio di chili agevolmente prodotti dall’analista di professione ai pochi grammi della solitaria fattura finale dello sviluppatore freelance.

Indipendentemente dalla metodologia utilizzata, quello che si deve sempre fare è redigere il documento che illustra, in un paio di pagine al massimo, gli obiettivi che il cliente vuole raggiungere e le funzionalità da realizzare.

Punto di vista del cliente
Gli obiettivi devono essere definiti ad alto livello e l’identificazione delle funzionalità deve coinvolgere gli utenti finali.

Linguaggio naturale
La terminologia tecnica utilizzata può essere solo quella dal punto di vista del cliente, a condizione di prevedere un glossario.

Completezza
Devono essere indicati tutti gli obiettivi e le funzionalità principali.

Priorità
Tranne che in casi molto semplici, assegnare priorità agli obiettivi da raggiungere aiuta a limitare i danni nel caso in cui debba interrompere il progetto prima del completamento, tipicamente per sforamento dei tempi o del budget.

Condivisione
Gli obiettivi devono essere condivisi e compresi da tutti i soggetti coinvolti.

Questo documento è previsto, in diverse forme e sotto vari nomi, in quasi tutti i modelli utilizzati per la definizione dei requisiti.

Il motivo è semplice: durante lo sviluppo e l’evoluzione del progetto può capitare che si perda di vista l’obiettivo finale; in pratica il viaggio diventa più importante della meta. In questi casi, poche righe che ricordano i requisiti fondamentali sono un prezioso aiuto per (re)indirizzare il progetto nella giusta direzione.

Naturalmente se siete “harleysti” il viaggio è più importante della meta… ma questa è tutta un’altra storia.