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.
È 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.
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.
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:
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.
Esistono molti equivoci relativi alla qualità; di seguito sono riportati alcuni tra i più comuni:
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à 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à 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.
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.
|