Percorso 04Lezione 2 / 10

Mantieni tracciabili i requisiti mentre il software cambia

Collega un risultato per l'utente a decisioni, criteri di accettazione, implementazione e prove. Aggiorna i collegamenti quando cambiano le ipotesi.

Pratico10 minRevisionato

Pubblicato da Come scriviamo

Verifica cosa hai capitoLa specifica cambia dopo la preparazione dell'architettura e dei test. Cosa deve accadere?Svolgi l'esercizio
La specifica cambia dopo la preparazione dell'architettura e dei test. Cosa deve accadere?

Cosa imparerai

  • Scrivere un requisito osservabile con confini espliciti.
  • Seguire un requisito attraverso una modifica e le sue verifiche.
  • Individuare i documenti successivi interessati da un'ipotesi modificata.

Descrivi un comportamento verificabile

«Crea un’esportazione moderna dei clienti» lascia aperte decisioni importanti. Non definisce utenti, record, campi o comportamento in caso di errore. Un agente deve chiedere oppure fare ipotesi. Le ipotesi non registrate sono difficili da esaminare in seguito.

Usa un requisito fittizio con un confine chiaro: un manager autenticato può esportare i clienti attivi della propria organizzazione. L’esportazione contiene ID cliente e nome visualizzato. Esclude recapiti e record archiviati. Un utente senza ruolo di manager non riceve alcuna esportazione.

Servono ancora decisioni su formato, volume, tempo di risposta e gestione degli errori. Segnala esplicitamente ciò che non è noto. Una specifica utile espone l’incertezza invece di nasconderla con un tono sicuro.

Separa i requisiti dalle scelte di implementazione

L’utente ha bisogno di un insieme autorizzato di record in un formato utilizzabile. Query del database, libreria e struttura dell’endpoint sono scelte di implementazione. Collegale al requisito senza trattare ogni scelta attuale come un’esigenza aziendale permanente.

Registra una decisione rilevante con contesto, alternative e motivazione. Per esempio, un’esportazione sincrona può essere adatta a piccoli volumi. Un volume maggiore può richiedere un job in background e una verifica separata dell’autorizzazione al download.

Mantieni stabile il requisito dove possibile, versionando la decisione modificata. Aiuta i revisori a distinguere un’implementazione diversa da una promessa diversa agli utenti.

Crea una breve catena di prove

Usa identificatori comprensibili durante le revisioni. In questo esempio, EXPORT-01 può identificare il confine dell’organizzazione. Il nome è illustrativo, non un sistema di numerazione obbligatorio.

CollegamentoEsempio
RequisitoEXPORT-01: solo record dell’organizzazione del manager
Decisione progettualeVerificare l’appartenenza sul server, non nel browser
ImplementazioneLa PR modifica la query e il percorso di autorizzazione
VerificaUna richiesta di record di un’altra organizzazione viene negata
Prove di rilascioIl risultato della verifica identifica commit e artefatto accettati

La catena deve rimandare a prove reali. Un nome di test che contiene l’ID del requisito non dimostra che l’asserzione lo verifichi. Esamina il test e il percorso di produzione che esercita.

L’SSDF del NIST offre un contesto per requisiti e verifiche nello sviluppo sicuro. Usa la tracciabilità per rendere queste attività esaminabili, non per produrre documentazione fine a sé stessa. Leggi il framework.

Esamina l’impatto di un’ipotesi modificata

Supponi che l’azienda abbia ora bisogno dei clienti archiviati. La modifica riguarda più di un flag nella query. Controlla regole di conservazione, autorizzazione, volume atteso, spiegazioni agli utenti e significato dei report esistenti.

Segnala i documenti e le verifiche interessati per la revisione. Conserva la decisione precedente, così chi gestisce il servizio può spiegare un vecchio rilascio. Non riscrivere tacitamente la storia per far sembrare inevitabile il progetto più recente.

Un agente può aiutare a trovare riferimenti e proporre aggiornamenti. I responsabili devono risolvere i requisiti in conflitto e accettare il comportamento modificato. Un elenco di file corrispondenti è un punto di partenza, non una valutazione completa dell’impatto.

Mantieni la documentazione abbastanza piccola da usarla

Registra le decisioni che influiscono su implementazione, verifica e gestione operativa. Evita di ripetere lo stesso requisito in molti documenti scollegati. Preferisci collegamenti a una sola fonte mantenuta.

Prima di accettare una modifica, chiedi se un revisore possa seguirne lo scopo fino alle prove effettive. Prima di gestirla operativamente, chiedi se il responsabile del servizio possa trovare il confine pertinente e la decisione sul recupero. Sono verifiche pratiche di una tracciabilità utile.

Svolgi l'esercizio

Scrivi un requisito che consenta a un manager di esportare i clienti attivi. Includi utenti autorizzati, confine dell'organizzazione, campi, comportamento in caso di errore e condizione misurabile di completamento. Collegalo a un test e a un rilascio fittizi. Poi modifica il requisito per includere i clienti archiviati ed elenca le decisioni interessate.

Scarica la scheda di lavoro (Markdown)
Verifica cosa hai capito ↑

Continua a imparare

Fonti e approfondimenti

Letture correlate di Taiga

← Lezione precedente: Collega l'intero ciclo di vita del software