Ecco alcuni spunti sul valore della ricerca difetti dei requisiti  prima della progettazione o della codifica.

Per un team di sviluppo software è molto utile individuare tempestivamente i difetti. Ancora meglio è prevenire del tutto i difetti. Requisiti eccellenti sono una forma efficace di prevenzione dei difetti e prevenzione delle rilavorazioni. Un requisito ambiguo può comportare un notevole spreco di sforzi.

I difetti si presentano prima dell'inizio della codifica

Perfezionamento dei requisiti software: individuazione tempestiva dei difetti dei requisitiI difetti sorgono nei requisiti e nell'architettura prima ancora che la codifica abbia inizio. Immaginiamo di lavorare nel settore assicurativo e che gli imprenditori abbiano deciso che è necessario un sistema nuovo (o modificato). Hanno deciso di descrivere ciò che desiderano e di trasmetterlo all'IT per la stima. Tali requisiti sono spesso scritti come storie degli utenti, in genere ciò viene fatto in un formato coerente: “Come “…” ho bisogno di “…. "affinché" …

Non appena si mette nero su bianco compaiono ambiguità e omissioni, è inevitabile. Questi errori nei requisiti scritti (se non scoperti) possono portare a costose rielaborazioni nelle fasi successive del progetto. Il costo di tali difetti non è banale: il Regno Unito è destinato a perdere 37 miliardi di sterline a causa di progetti IT (Agili) falliti (riferimento). Per evitare questi costi evitabili, dobbiamo garantire che i requisiti siano quanto più inequivocabili e completi possibile. Anche gli autori di requisiti più esperti commetteranno errori involontari, farli bene non è così facile. È qui che ora l’automazione può aiutare.

Il costo dei requisiti software di scarsa qualità nella generazione di rilavorazioni

Vantaggi di individuare tempestivamente i difetti dei requisiti

Valutare la scoperta anticipata di difetti nei requisiti non è né semplice né definitivo. Il motivo principale è che dipende da quanto tardi (nel processo di sviluppo) tali difetti avrebbero potuto essere altrimenti rilevati. Se un difetto non viene rilevato fino a una fase molto successiva, sarà necessario uno sforzo notevolmente maggiore per ripararlo, con un costo di migliaia di euro, se viene rilevato prima solo una fase dell'SDLC, forse si potranno risparmiare alcune ore di sforzo. In media stimiamo un modesto risparmio di 4 ore di personale per ogni difetto dei requisiti scoperto in anticipo – circa $200.

Sforzo tipico di ricerca, correzione e verifica della correzione di:

UN difetto dei requisiti trovato durante il requisiti fase: 20 minuti – 4 ore

UN difetto dei requisiti trovato durante il progetto fase: 1-10 ore

UN difetto dei requisiti trovato durante il sviluppo fase: 2 – 15 ore

UN difetto dei requisiti trovato durante il prova del sistema tappa: 4 ore in su

UN difetto dei requisiti trovato durante il produzione fase: 8 ore in su

Tieni presente che questo rappresenta solo il lavoro aggiuntivo per risolvere il problema, non affronta le conseguenze del difetto.

Costo dei requisiti Difetti riscontrati nella produzione

Quando viene riscontrato un difetto nei requisiti in produzione, solitamente viene segnalato da un utente e dobbiamo considerare:

  • Quanti utenti sono stati colpiti prima che ci venisse segnalato.
  • Quanti altri utenti saranno interessati fino a quando il problema non potrà essere risolto.
  • Quali sono i costi per fornire una soluzione alternativa a coloro che sono stati colpiti?
  • Qual è la conseguente perdita di questo difetto sui clienti e sulla nostra organizzazione.
  • L'effetto a catena (costo opportunità) di dirottare l'attenzione su questo problema rispetto ad altre opportunità.

La somma di questi costi di solito supera il costo per riparare la riparazione, con un margine significativo. In alcuni casi estremi, la sopravvivenza delle aziende può essere minacciata da un singolo difetto in una delle principali applicazioni rivolte al cliente. ad esempio un sistema bancario che ha perso traccia dei saldi dei conti

Difetti di sicurezza: un caso speciale

I difetti di sicurezza non rilevati fino alla produzione saranno sempre costosi da correggere, spesso possono comportare azioni legali contro l'organizzazione e vengono generalmente misurati milioni di dollari. Individuare tempestivamente i difetti di sicurezza (soprattutto nella fase dei requisiti) può quindi potenzialmente evitare incidenti che potrebbero costare milioni di dollari.

Valore di ScopeMaster che rileva i difetti dei requisiti

Passiamo al valore fornito da ScopeMaster nell'esporre tempestivamente i difetti dei requisiti. Ci sono infatti molteplici vantaggi nell'utilizzare ScopeMaster in base alle tue esigenze:

  1. Modo molto veloce per la qualità assicura requisiti
  2. Trova (alcuni) potenziali requisiti mancanti – automaticamente. (Ricorda: un requisito mancante è un difetto).
  3. Migliorando i requisiti, ci saranno meno difetti altrove, programmi, sviluppo e test i costi si ridurranno.
  4. Migliorare la chiarezza dei requisiti, riduce la potenziale discordia tra i membri del team causati da requisiti ambigui.
  5. Genera una metrica di dimensione funzionale automatizzata senza sforzo manuale, che può essere utilizzata per fornire maggiore controllo del progetto.
  6. Migliora il velocità di misurazione della dimensione funzionale entro 200-400% (per quei progetti che misurano le dimensioni funzionali)
  7. Cambia il linguaggio utilizzato dagli autori dei requisiti in modo tale che nel tempo lo farà prevenire difetti nei requisiti dall'essere introdotto.

Questi non hanno tutti lo stesso valore e la loro importanza relativa varierà da progetto a progetto. In molti casi, forse l’ultimo punto è il più importante. Se è possibile prevenire i difetti specificando i requisiti in modo più preciso e completo, ci saranno meno difetti da ricercare in seguito.

Anche se i potenziali benefici derivanti dall'utilizzo di ScopeMaster su un progetto potrebbero essere milioni, un modesto $200/difetto è una stima molto prudente il valore di esporre precocemente il difetto.

Consigli recentemente condivisi con un cliente:
“Durante la fase dei requisiti, trovare i difetti richiedono più tempo di fissaggio combinandoli, di solito concediamo 1 ora per trovarli e correggerli (o 4-10 minuti con ScopeMaster).
Se durante il test del sistema vengono rilevati difetti nei requisiti, trovare, fissare e verificare sono TUTTI molto dispendiosi in termini di tempo. (4-8 ore in totale sarebbero un intervallo ragionevole). Quindi aspettati che ogni difetto costi almeno 4 volte di più per essere risolto in seguito. Questo progetto non è come creare un'app in cui gli sviluppatori possono sostenere una conversazione di alto livello sulle esigenze degli utenti e quindi indovinare i dettagli; questi requisiti che descrivono chi viene pagato cosa e quando devono essere specifici e corretti.
Sforzo per trovare e risolvere in anticipo
  • Trovare difetti nei requisiti nella fase dei requisiti viene normalmente fatto con i 3-4 amigos che ne discutono; successivamente ci vogliono alcuni minuti per sistemare. 15 minuti di discussione tra amigos equivalgono a 1 ora di tempo dedicato allo staff. (Molti di questi problemi potrebbero essere trovati e risolti in 4-10 minuti dallo staff con ScopeMaster.)

Individuazione e correzione dei difetti dei requisiti nei test del sistema

  • L'individuazione dei difetti dei requisiti nella fase di test del sistema potrebbe richiedere solo 1 ora, ma la correzione richiederà molto più tempo perché:
  • Quando viene rilevato un (difetto dei requisiti) nel test del sistema, deve essere abbondantemente documentato, quindi richiede un coordinamento straordinario dei tester e degli sviluppatori della PMI per effettuare il triage e verificare come un effettivo difetto dei requisiti, quindi infine il requisito corretto.
  • L'implementazione della correzione potrebbe richiedere un lavoro di configurazione modesto, ma i nuovi livelli di test attorno a questo difetto e tutte le funzionalità correlate che devono essere nuovamente testate con la regressione non sono banali.
  • La scoperta tardiva di un difetto nei requisiti significa che c'è una maggiore probabilità di correzioni errate. cioè. un difetto ne provoca uno o due in più (ciascuno con la propria documentazione, valutazione e ciclo di correzione-verifica).
  • Esiste una tendenza umana a non mettere in discussione i requisiti nelle fasi successive. I tester tendono ad accettare i requisiti come corretti ed è più probabile che mettano in discussione la conformità della codifica/configurazione ai requisiti, non ai requisiti stessi. La conseguenza è che i difetti (causati da requisiti scadenti) hanno maggiori probabilità di finire nella produzione, con conseguenze molto negative”.