Gestione della qualità
La pratica di Verifica e gestione della qualità in tutto il ciclo di vita del progetto è fondamentale per raggiungere gli obiettivi giusti al momento giusto. Dopo la distribuzione, i problemi software sono da 100 a 1000 volte più dispendiosi da trovare e correggere.
Relazioni
Elementi correlati
Descrizione principale

immagine di Verifica continua della qualità

Dopo la distribuzione, i problemi software sono da 100 a 1000 volte più dispendiosi da trovare e correggere. La verifica e la gestione della qualità in tutto il ciclo di vita del progetto sono fondamentali per raggiungere gli obiettivi giusti al momento giusto.

Cosa si intende per verifica della qualità in tutto il ciclo di vita?

È importante che la qualità di tutti gli artefatti sia valutata in vari punti del ciclo di vita del progetto. gli artefatti devono essere valutati al completamento delle attività che li producono e alla conclusione di ciascuna iterazione. In particolare, quando il software eseguibile viene prodotto deve essere sottoposto a dimostrazione e test di scenari importanti di ciascuna iterazione, il che fornisce una comprensione più tangibile dei compromessi di progettazione e l'eliminazione anticipata di difetti strutturali. Ciò è in contrasto con un approccio più tradizionale che esegue il test del software integrato solo molto tardi nel ciclo di vita del progetto.

Cosa è la qualità?

Introduzione

La qualità è qualcosa che tutti cerchiamo nei prodotti, nei processi e nei servizi. Quando si chiede "Cos'è la qualità?", ognuno ha un'opinione diversa. Le risposte più comuni sono le seguenti:

  • "Qualità ... Non so come descriverla, ma se la vedo la riconosco."
  • "... soddisfare i requisiti."

Forse il riferimento più frequente alla qualità, specificamente relativo al software, è la seguente battuta sulla sua assenza:

"Come hanno potuto rilasciare un prodotto di qualità così scadente!?"

Queste risposte con luoghi comuni sono forti, ma offrono lo spunto per esaminare rigorosamente la qualità e per migliorarla. Tali commenti dimostrano l'esigenza di definire la qualità in modo che essa possa essere misurata e raggiunta.

La qualità, tuttavia, non è una caratteristica o un attributo singolare. Essa è multidimensionale e può essere posseduta da un prodotto o da un processo. La qualità di un prodotto è concentrata sulla creazione del prodotto corretto, mentre la qualità di un processo si concentra sulla creazione corretta del prodotto. Per ulteriori informazioni, consultare le sezioni Concetto: Qualità del prodotto e Concetto: Qualità del processo.

Definizione di qualità

La definizione di qualità riportata nel dizionario The American Heritage Dictionary of the English Language, 3rd Edition, Houghton Mifflin Co.,© 1992, 1996, è:

Quality (kwol'i-te) n., pl. -ties. 1.a. An inherent or distinguishing characteristic; a property. b. A personal trait, especially a character trait. 2. Essential character; nature. 3.a. Superiority of kind. b. Degree or grade of excellence.

Come indicato da tale definizione, la qualità non è una dimensione singola. Per utilizzare la definizione ed applicarla allo sviluppo del software, è necessario perfezionarla. Per questo motivo, nel RUP (Rational Unified Process), la qualità è definita nel modo seguente:

"...la caratteristica di dimostrare il raggiungimento della creazione di un prodotto che soddisfa o supera dei requisiti stabiliti in base a criteri e misurazioni convenuti, e che viene creato da un processo concordato."

Il raggiungimento della qualità non è semplicemente la "soddisfazione dei requisiti" o la creazione di un prodotto che rispetta le esigenze e le aspettative dell'utente. La qualità include anche l'identificazione dei criteri e delle misure per dimostrare il raggiungimento della qualità e l'implementazione di un processo che assicuri che il prodotto creato dal processo raggiunga il grado di qualità desiderato e che possa essere ripetuto e gestito.

Per ulteriori informazioni relative al modo in cui il RUP definisce l'idea di qualità, consultare anche le pagine riportate di seguito:

Chi possiede la qualità?

Un equivoco comune è che la qualità è responsabilità di un gruppo. Spesso, questo mito è alimentato dalla creazione di un gruppo, in alcuni casi chiamato Assicurazione qualità - altri nomi sono Verifica, Controllo qualità e Quality Engineering - a cui viene assegnata la responsabilità della qualità.

La qualità è e deve essere responsabilità di ognuno. Il raggiungimento della qualità deve essere integrale per quasi tutte le attività del processo e non una disciplina separata, rendendo ciascuno responsabile della qualità dei prodotti creati e dell'implementazione del processo in cui ognuno è coinvolto.

Ciascun ruolo contribuisce al raggiungimento della qualità nei seguenti modi:

  • Qualità del prodotto - il contributo al raggiungimento generale della qualità in ogni artefatto prodotto.
  • Qualità del processo - il raggiungimento della qualità nelle attività del processo in cui si è coinvolti.

Ciascuno condivide la responsabilità e gli onori per il raggiungimento di un prodotto di alta qualità o la vergogna di un prodotto di bassa qualità. Ma solo coloro direttamente coinvolti in un componente specifico del processo sono responsabili in bene o in male della qualità di tali componenti del processo (e degli artefatti). Alcuni, tuttavia, devono essere responsabili della gestione della qualità; devono eseguire attività di supervisione per assicurare che la qualità venga gestita, misurata e raggiunta. Il ruolo responsabile della gestione della qualità è il Responsabile progetto.

Equivoci comuni relativi alla qualità

Esistono molti equivoci relativi alla qualità; di seguito sono riportati alcuni tra i più comuni:

La qualità può essere aggiunta o "verificata" in un prodotto

Un prodotto non può essere creato se non ne esiste una descrizione e se non ne sono indicati l'utilizzo, chi deve utilizzarlo ed in che modo, e così via; allo stesso modo, la qualità non può essere raggiunta se non è descritta e misurata e se non è parte del processo di creazione del prodotto.

Consultare Concetto: Misurazione della qualità e la sezione del presente documento La qualità viene da sola.

La qualità è una caratteristica, un attributo o una dimensione singola ed è uguale per tutti

La qualità non è una caratteristica, un attributo o una dimensione singola. La qualità viene misurata in diversi modi - vengono stabiliti i criteri e le misure della qualità per soddisfare le esigenze del progetto, dell'organizzazione e del cliente.

La qualità può essere misurata in base a diversi parametri - alcuni vengono applicati alla qualità del processo, altri alla qualità del prodotto, altri ancora ad entrambi. La qualità può essere misurata per:

  • Avanzamento - ad esempio, casi di utilizzo dimostrati o punti cardine completati
  • Variazione - differenze tra tempi, costi, requisiti di personale pianificati e reali, e così via
  • Affidabilità - resistenza agli errori (malfunzionamenti, blocchi, perdite di memoria e così via) durante l'esecuzione
  • Funzione - l'artefatto implementa ed esegue i casi di utilizzo richiesti nel modo previsto
  • Prestazioni - l'artefatto viene eseguito e risponde in modo accettabile e continua l'esecuzione se sottoposto a carichi di lavoro eccessivi e lunghi periodi di funzionamento

Consultare Concetto: Dimensioni qualità, Concetto: Qualità del prodotto e Concetto: Qualità del processo per ulteriori informazioni.

La qualità viene da sola

La qualità non viene da sola. Per raggiungere la qualità, un processo deve essere implementato, sostenuto e misurato. Lo scopo del RUP è quello di fornire un approccio disciplinato all'assegnazione di attività e responsabilità all'interno di un'organizzazione di sviluppo. Il nostro obiettivo è assicurare la produzione di software di alta qualità che soddisfi le esigenze dei nostri utenti, con una pianificazione ed un budget prevedibili. Il RUP utilizza la maggior parte delle migliori procedure di sviluppo del software in un formato che può essere personalizzato per una vasta gamma di progetti ed organizzazioni. La disciplina Ambiente fornisce informazioni relative alla configurazione del processo per le proprie necessità.

I processi possono essere configurati e la qualità - i criteri di accettabilità - possono essere discussi in base a diversi fattori. I fattori più comuni sono:

  • Rischio (inclusa la responsabilità)
  • Opportunità commerciali
  • Requisiti di ricavo
  • Questioni relative a personale o pianificazione
  • Budget

Le modifiche al processo ed i criteri di accettabilità devono essere identificati e concordati all'inizio del progetto.

Gestione della qualità nel RUP

La gestione della qualità viene eseguita per i seguenti scopi:

  • Identificare gli indicatori appropriati per la qualità accettabile
  • Identificare le misure appropriate da utilizzare nella valutazione della qualità
  • Identificare ed indirizzare le problematiche che influiscono sulla qualità nel modo più rapido ed efficace possibile

La gestione della qualità viene implementata per tutte le discipline, i flussi di lavoro, le fasi e le iterazioni nel RUP. In generale, la gestione della qualità attraverso il ciclo di vita implica l'implementazione, la misurazione e la valutazione della qualità del processo e della qualità del prodotto. Nell'elenco riportato di seguito sono evidenziate alcune delle operazioni necessarie per la gestione della qualità in ciascuna disciplina:

  • La gestione della qualità nella disciplina Requisiti include l'analisi degli artefatti dei requisiti impostati per la coerenza (tra artefatti standard ed altri artefatti), la chiarezza (comunicazione delle informazioni a tutti gli azionisti, i portatori di interesse ed altri ruoli) e la precisione (il livello appropriato di dettaglio ed accuratezza).
  • Nella disciplina Analisi e progettazione, la gestione della qualità include la valutazione dell'insieme degli artefatti di progettazione, inclusa la coerenza del modello di progettazione, la conversione dagli artefatti di requisiti e la conversione negli artefatti di implementazione.
  • Nella disciplina Implementazione, la gestione della qualità include la stima degli artefatti di implementazione e la valutazione del codice sorgente o degli artefatti eseguibili rispetto agli artefatti di test, di progettazione e di requisiti appropriati.
  • La disciplina Test è concentrata sulla gestione della qualità, in quanto la maggior parte delle operazioni eseguite in questa disciplina indirizza i tre scopi della gestione della qualità, precedentemente identificati.
  • La disciplina Ambiente, come la disciplina Test, include molte operazioni che indirizzano gli scopi della gestione della qualità. Sono disponibili informazioni relative alla configurazione ottimale del processo per soddisfare le proprie esigenze.
  • La gestione della qualità nella  Disciplina di distribuzione dei componenti distribuibili del prodotto include la valutazione dell'implementazione e della distribuzione degli artefatti e la valutazione degli artefatti eseguibili e di distribuzione rispetto agli artefatti di test, di progettazione e di requisiti appropriati necessari per consegnare il prodotto al cliente.
  • La disciplina Gestione del progetto include una panoramica della maggior parte delle operazioni per la gestione della qualità, incluse le revisioni ed i controlli necessari per valutare l'implementazione, la conformità e l'avanzamento del processo di sviluppo.