Processo strutturato per assicurare la qualità

processo per assicurare qualitàIl compito di chi si occupa di assicurare la qualità dei prodotti di un progetto si sta evolvendo rapidamente.

Un tempo ci si concentrava essenzialmente nell’individuare i difetti e nel cercare di correggerli.

Secondo questa logica, ad esempio, chi si occupa di sviluppo software fornisce ogni giorno al gruppo di lavoro che si occupa dei test la lista delle applicazioni da sottoporre a verifica.

A sua volta il gruppo di test si impegna nel trovare più difetti possibile. Senza una riflessione, una strategia evolutiva, una motivazione a definire i criteri per introdurre miglioramenti sistematici e sostenibili.

Più bug venivano trovati e più intelligenti ci si sentiva.

Oggi il ruolo del tester si è evoluto: il suo obiettivo è dare indicazioni e contributi che possano migliorare il processo di sviluppo individuando le cause dei problemi e le possibili vie d’uscita.

Inoltre non ci si accontenta più di agire solo in termini di controllo della qualità dei prodotti sviluppati ma si ricerca sempre più la possibilità di intervenire in chiave preventiva agendo in termini di miglioramento dei processi produttivi.

Ciò significa definire un processo strutturato per assicurare la qualità in base a standard predefiniti.

Tale processo è così articolato:

  • Rivedere la documentazione di progetto. In particolare è importante comprendere l’architettura di ciascun prodotto e come le diversi componenti interagiscono tra loro e le varie interfacce. Queste informazioni possono essere reperite dai report di Gestione della Configurazione.
  • Esaminare i problemi incontrati in passato. Il passato influisce sul presente. È importante conoscere le aree a rischio e le funzionalità più sensibili che potrebbero determinare problemi ad ogni cambiamento. Analizzare i difetti passati segnalati può far emergere uno schema prevedibile e ad aiuta a definire una strategia di test per varie versioni del prodotto.
  • Andare oltre il problema segnalato. Non ci si deve concentrare solo sulla funzionalità di test. Occorre interrogarsi sulle possibili eccezioni. Sulle casistiche che non sono state segnalate ma che potrebbero presentarsi in certe condizioni. Ciò incoraggia anche le discussioni con il product owner e gli sviluppatori, che potrebbero non aver pensato ad alcuni di questi scenari. La logica cui puntare è quella del miglioramento continuo cui ogni prodotto o processo produttivo deve essere sottoposto.