Requirements Management in PM²: trasformare bisogni in criteri verificabili

Sedicesimo articolo della serie “Imparare PM² attraverso un progetto”

La frase “ci serve una funzione per le prenotazioni” non è un requisito gestibile. Esprime un bisogno, ma non definisce chi usa la funzione, in quale situazione, con quale regola, quale risultato deve produrre e come si verificherà che sia corretta.

In PM², il Requirements Management serve a far sì che il progetto consegni ciò che è stato realmente concordato, non soltanto ciò che il team ha interpretato.

Che cosa è un requisito

Un requisito descrive una necessità, una capacità, una condizione o un vincolo che una soluzione deve soddisfare.

Può riguardare:

TipoEsempio
Business requirementRidurre i no-show nelle lezioni di gruppo.
User requirementUn iscritto deve poter annullare una prenotazione entro un limite configurabile.
Functional requirementIl sistema deve liberare automaticamente il posto e promuovere il primo utente in lista d’attesa.
Non-functional requirementLa disponibilità dei posti deve aggiornarsi entro cinque secondi in condizioni normali di utilizzo.
ConstraintL’accesso deve usare l’autenticazione già presente in Annotatio.

Distinguere questi livelli evita un errore comune: discutere subito la soluzione tecnica prima di avere chiarito il problema e il risultato atteso.

Il ciclo di vita di un requisito

flowchart LR
  A[Raccogliere] --> B[Analizzare e chiarire]
  B --> C[Documentare e validare]
  C --> D[Approvare e baselinare]
  D --> E[Realizzare e verificare]
  E --> F[Accettare o gestire la modifica]

Un requisito non è “finito” quando è scritto. È gestito quando resta collegato alla sua origine, alla decisione che lo ha approvato, al deliverable che lo implementa e alla verifica che dimostra il soddisfacimento.

Le caratteristiche di un buon requisito

CaratteristicaDomanda di controllo
ChiaroDue persone lo interpretano nello stesso modo?
NecessarioContribuisce a un bisogno, un beneficio o un vincolo reale?
CompletoIndica contesto, regole, eccezioni e risultato atteso?
VerificabileEsiste un test, un criterio di accettazione o un’evidenza oggettiva?
FattibilePuò essere realizzato con vincoli, capacità e tecnologie disponibili?
TracciabilePossiamo risalire a origine, decisione, implementazione e test?

Parole come “intuitivo”, “veloce”, “moderno” o “facile” non sono vietate, ma da sole sono ambigue. Vanno trasformate in condizioni osservabili: per esempio, “un nuovo iscritto completa una prenotazione in massimo tre passaggi, senza assistenza”.

Baseline dei requisiti: il punto da cui si misura il cambiamento

Quando un insieme di requisiti è analizzato, concordato e approvato, diventa una baseline. Da quel momento non deve essere modificato informalmente.

Questo non rende il progetto rigido. Rende visibile la differenza fra:

  • chiarire meglio un requisito già approvato;
  • correggere un difetto di implementazione;
  • proporre una modifica del requisito o dello scope.

L’ultimo caso richiede Change Management: registrazione, valutazione di impatto e decisione da parte dell’autorità competente.

Tracciabilità: perché serve davvero

La tracciabilità collega almeno quattro elementi:

CollegamentoDomanda a cui risponde
Bisogno / beneficio → requisitoPerché stiamo realizzando questa cosa?
Requisito → deliverable o attivitàDove viene realizzata?
Requisito → test o criterio di accettazioneCome dimostriamo che è soddisfatto?
Requisito → change / decisionePerché è cambiato, chi l’ha deciso e con quale impatto?

Non occorre sempre uno strumento complesso. Per un progetto piccolo può bastare una tabella disciplinata; per uno grande può servire un backlog o un repository dedicato. Conta la catena di evidenze, non il software usato.

Il caso Annotatio: da richiesta vaga a requisito verificabile

Richiesta iniziale: “Vorremmo gestire meglio la lista d’attesa”.

Una possibile evoluzione è:

LivelloFormulazione
Bisogno businessRidurre posti vuoti causati da cancellazioni tardive.
User requirementIl gestore deve poter definire se la promozione dalla lista d’attesa è automatica o manuale.
Functional requirementQuando un posto si libera, il sistema deve notificare il primo iscritto in lista; se non conferma entro 30 minuti, deve passare al successivo.
Criterio di accettazioneIn una prova con tre utenti in lista, il primo riceve la notifica; allo scadere dei 30 minuti senza risposta, il secondo è promosso e l’evento è registrato.

Questa formulazione rende possibile stimare, sviluppare, testare e accettare. Inoltre fa emergere domande che la richiesta vaga nascondeva: il tempo è configurabile? cosa avviene se non ci sono notifiche push? il gestore può intervenire? esistono limiti per le cancellazioni?

Validazione e verifica: due azioni diverse

AzioneDomandaChi contribuisce tipicamente
ValidazioneStiamo specificando la cosa giusta per il bisogno?PO, BM, utenti e stakeholder di business.
VerificaLa soluzione realizza correttamente ciò che è stato specificato?Team di soluzione, QA, PM e soggetti coinvolti nell’accettazione.

Una funzione può superare tutti i test e non creare valore: in quel caso è verificata, ma il requisito potrebbe non essere stato validato bene.

Da non confondere

AffermazioneCorrezione
“Un requisito è una schermata o una soluzione tecnica.”Può esserlo a un livello dettagliato, ma prima deve esprimere bisogno, capacità o vincolo.
“Se il cliente lo dice a voce, è già nello scope.”Deve essere chiarito, documentato e approvato secondo la governance.
“Un test che passa dimostra che abbiamo costruito la cosa giusta.”Dimostra soprattutto che è stata implementata secondo una specifica; la validazione riguarda il bisogno.
“La baseline blocca ogni cambiamento.”Permette di gestire i cambiamenti in modo consapevole e tracciabile.

Tre domande per fissarlo

  1. Quale beneficio o bisogno giustifica questo requisito?
  2. Come dimostrerai oggettivamente che è soddisfatto?
  3. Se cambia dopo l’approvazione, quale impatto avrà su tempi, costi, qualità e altri requisiti?

Flashcard

D: Che cos’è una baseline dei requisiti?
R: L’insieme di requisiti analizzati e approvati che diventa riferimento controllato per realizzazione, verifica e cambiamenti.

D: Qual è la differenza tra validazione e verifica?
R: La validazione controlla che si stia definendo la cosa giusta; la verifica controlla che la soluzione realizzi correttamente quanto specificato.

D: A cosa serve la tracciabilità?
R: A collegare bisogno, requisito, implementazione, test e decisioni di cambiamento.

Domanda in stile esame

Durante il test, gli utenti chiedono che il tempo di conferma dalla lista d’attesa passi da 30 a 10 minuti. Il PM dice al team di cambiare subito il parametro, perché è una richiesta piccola.

Qual è l’approccio corretto?

Risposta: prima va chiarito se la modifica altera un requisito o una configurazione già approvata e va valutato l’impatto. Anche una modifica piccola può incidere su esperienza utente, regole operative, test e comunicazione. Se cambia la baseline, si applica il processo di Change Management proporzionato al progetto.

Fonte

Requirements Management, Requirements Management Plan e i relativi log sono trattati nella PM² Methodology Guide 3.1 della Commissione europea.

Nel prossimo articolo: Scope e Change Management, per mantenere il perimetro sotto controllo senza impedire modifiche utili.

© Nc6 by Giuseppe Fanuzzi - IT08952900721 - PIQA6QP