Cos’è il contenimento dei difetti nell’ingegneria del software?

Il contenimento dei difetti riguarda la minimizzazione dei difetti che sfuggono alle attività di sviluppo del software a valle e la misurazione dei difetti che vengono rilevati e sfuggono. Le metriche correlate includono l'efficacia del contenimento di fase e l'efficacia del contenimento totale.

A prescindere dalla metodologia di sviluppo, c'è una sequenza di passi per andare da un'idea alla consegna. Hai un'idea e poi eliciti e gestisci i requisiti. Si progetta e si costruisce una soluzione. Ci sono dei passi per rivedere e testare la soluzione per la sua correttezza. Si integra la soluzione nel sistema. Si distribuisce il sistema. A seconda della tua metodologia e del tuo modo di lavorare, puoi definire diversi passi o avere un diverso ordine di questi passi.

Le metriche di contenimento dei difetti misurano quanto sia efficace il modo di lavorare scelto per prevenire la fuga dei difetti. L'efficacia del contenimento delle fasi guarda quanto è efficace ogni attività nel trovare potenziali difetti e nel rimuoverli. Per esempio, durante la codifica e il test delle unità, quanti difetti si trovano rispetto a quelli che sfuggono in qualcosa più tardi come i test di integrazione o anche visti dagli utenti dopo il deployment. L'efficacia di contenimento totale guarda a tutte le attività sotto il controllo dell'organizzazione di sviluppo per capire il numero di difetti catturati durante le attività di progettazione e sviluppo rispetto a quelli trovati dagli utenti finali dopo il deployment.