Gestione della Qualità del Software PDF

Summary

Questo documento fornisce una panoramica sulla gestione della qualità del software, coprendo argomenti come l'evoluzione storica del concetto di qualità, i fattori che influenzano la qualità del software e i concetti di gestione della qualità. Il documento presenta anche gli strumenti per il controllo della qualità.

Full Transcript

Gestione della Qualità del Software Approfondimenti: Project Management: A Systems Approach to Planning, Scheduling, and Controlling, 10th Edition, Harold Kerzner Capitolo 20 – Quality Management A Guide to the Project Management Body of Knowledge: (Pmbok Guide)...

Gestione della Qualità del Software Approfondimenti: Project Management: A Systems Approach to Planning, Scheduling, and Controlling, 10th Edition, Harold Kerzner Capitolo 20 – Quality Management A Guide to the Project Management Body of Knowledge: (Pmbok Guide), 4° ed, by Project Management Institute, Capitolo 8: Project Quality Management Concetti Generali Sommario ðEvoluzione storica del concetto di qualità. ðCaratteristiche del software e la relazione con la qualità. ðFattori che influenzano la qualità del software. ðConcetti di Gestione della Qualità ðStrumenti per il controllo della qualità. Concetti Generali Qualità dei Progetti ð Secondo lo standard ISO 9000, la qualità è definita come: l’insieme delle caratteristiche di un prodotto/servizio necessarie per soddisfare i requisiti prefissati. ð Negli ultimi vent’anni il concetto di qualità si è sempre più focalizzato intorno alla soddisfazione dei clienti che richiedono: q Alte prestazioni dei requisiti q Sviluppo rapido dei prodotti q Livelli di tecnologia più alti q Materiali e processi spinti al limite q Meno difetti 3 Concetti Generali Qualità dal passato al presente 4 Concetti Generali Processo di Miglioramento Continuo ð La qualità è intesa sia come qualità di processo che di prodotto. ð Sono strettamente legate l’uno all’altra. ð Attraverso il miglioramento continuo dei processi si applicano lezioni apprese per ottenere prodotti e servizi migliori. 5 Concetti Generali Evoluzione Storica Miglioramento della qualità Controllo Individuare difetti – Qualità Principalmente Controllo di Prodotto; ispezione Tempo 6 Concetti Generali Evoluzione Storica Miglioramento della qualità Prevenire difetti; si applica il controllo statistico; grafici di Assicurazione controllo, istogrammi; Qualità PlanDoCheckAct (PDCA) Controllo dei processi Controllo Individuare difetti – Qualità Principalmente Controllo di Prodotto; ispezione Tempo 7 Concetti Generali Evoluzione Storica Miglioramento della qualità Miglioramento continuo; Qualità Gestione totale della Totale qualità con metodi di qualità totale. ISO 9000 (dal 1987) Assicurazione Prevenire difetti; si applica il Qualità controllo statistico; grafici di controllo, istogrammi; PlanDoCheckAct (PDCA) Controllo dei processi Individuare difetti – Controllo Principalmente Controllo Qualità di Prodotto; ispezione Tempo 8 Concetti Generali Concetto di Qualità negli Anni ð Prima della prima guerra mondiale la qualità era intesa fondamentalmente come ispezione q selezione di elementi buoni dai cattivi. ð Dopo la guerra, sino agli anni ’50 iniziarono ad emergere concetti di controllo di qualità q Tecniche matematiche e statistiche q Tabelle di campionamento q Carte di controllo ð Dagli anni ’50-’60 il controllo di qualità è diventato anche assicurazione di qualità (quality assurance) con maggiore enfasi sulla prevenzione piuttosto che sulla identificazione dei problemi ð Oggi attenzione è posta sulla gestione della qualità quale fattore strategico includendo aspetti quale: q La qualità è definita dai clienti q La qualità è legata alla redditività del mercato q La qualità è parte integrante dei processi strategici di pianificazione q La qualità richiede impegno da parte dell’intera organizzazione 9 Concetti Generali Caratteristiche del software e la loro relazione con la qualità … ð E 'astratta. ð Non è come il resto dei prodotti di ingegneria in termini di tangibilità. ð I costi incidono principalmente sulle fasi di design/progettazione, e non di produzione. ð La manutenzione è complessa. ð Popolarmente, si suppone che sia facile fare modifiche. ð Popolarmente, software con errori non viene rigettato. 10 Concetti Generali … Caratteristiche del software e la loro relazione con la qualità ð due prospettive della qualità Fornitore Cliente Il software sviluppato fa riceviamo il prodotto quello che deve fare. adeguato agli scopi e alle necessità che deve I prodotti sviluppati ricoprire svolgono adeguatamente le loro funzioni. Siamo soddisfatti. Sviluppiamo software che I prodotti soddisfano le funziona correttamente aspettative. dalla prima esecuzione. Siamo trattati bene Costruiamo software in (integrità, cortesia e tempo e costi previsti. rispetto). 11 Concetti Generali Fattori che influenzano la qualità del software Persone Processo Progetto Qualità del software 12 Concetti Generali Concetti di Gestione della Qualità ð Il project manager ha la maggiore responsabilità della gestione di qualità del progetto. ð 20-30% del lavoro del project office è attribuibile alla gestione della qualità ð Ci sono sei concetti che supportano la esecuzione di ogni progetto q Politica di qualità q Obiettivi di qualità q Assicurazione della qualità q Controllo della qualità q Verifica della qualità (Audit) q Piano di qualità 13 Concetti Generali Concetti di Gestione della Qualità: Politica di Qualità ðLa politica di qualità è generalmente un documento elaborato da esperti di qualità e supportato dal top management. Stabilisce: q Gli obiettivi di qualità q I livelli di qualità accettabili per l’organizzazione q Le responsabilità di ciascun membro nell’applicare la politica di qualità 14 Concetti Generali Concetti di Gestione della Qualità: Obiettivi di Qualità ð Gli obiettivi di qualità consistono di obiettivi specifici, insieme all’intervallo di tempo entro cui soddisfarli. ð Gli obiettivi devono essere perseguibili e fattibili con quelle che sono le capacità dell’organizzazione stessa. ð Un buon obiettivo di qualità deve: q Essere perseguibile q Definire obiettivi specifici q Essere comprensibile q Stabilire scadenze 15 Concetti Generali Concetti di Gestione della Qualità: Assicurazione della Qualità ð Quality Assurance si riferisce alle attività formali e ai processi manageriali che assicurano che i prodotti e servizi raggiungano/abbiano i livelli di qualità prefissati. ð La Quality Assurance assicura che lo scopo del progetto, i costi e i tempi siano integrati tra loro ð Un buon sistema di assicurazione della qualità deve: q Identificare obiettivi e standard q Essere orientato alla prevenzione q Pianificare per collezionare e usare dati per il miglioramento continuo q Includere verifiche (audits) di qualità 16 Concetti Generali Concetti di Gestione della Qualità: Controllo della Qualità … ð Controllo della qualità indica l’insieme di attività e tecniche che mirano a creare specifiche caratteristiche di qualità. ð Include: monitoraggio continuo dei processi, identificazione ed eliminazione delle cause di problemi, uso di SPC per ridurre la variabilità dei processi ed incrementarne l’efficacia. ð Il controllo di qualità certifica che gli obiettivi di qualità dell’organizzazione si stanno raggiungendo. ð Un sistema di controllo della qualità deve: q Selezionare cosa controllare q Stabilire gli standard su cui basarsi per individuare eventuali azioni di miglioramento q Stabilire le tecniche di misurazione adottate q Confrontare i risultati osservati con lo standard di qualità q Monitorare e calibrare i dispositivi di misurazione q Includere documentazione dettagliata per tutti i processi 17 Concetti Generali … Concetti di Gestione della Qualità: Controllo della Qualità ð Le attività di controllo della qualità mirano a migliorare la qualità dal punto di vista della correzione di difetti dei prodotti (e non solo). ð In seguito al controllo qualità, è possibile prendere alcune decisioni: q Accettare o meno di un prodotto o servizio. q Fare rielaborazioni, che permettono ad un prodotto /servizio scartato di essere considerato nuovamente valido. Comporta costi. q Modificare il processo che si sta eseguendo. ð Queste attività (di controllo qualità) sono svolte utilizzando una serie di strumenti 18 Concetti Generali Assicurazione e Controllo Qualità Prevenzione Correzione Quality Assurance: Set di azioni Controllo di qualità: insieme di programmate e sistematiche, tecniche e di attività di carattere necessarie per fornire con operativo, utilizzati per verificare adeguata fiducia che un i requisiti di qualità del prodotto o prodotto o un servizio sia in del servizio grado di soddisfare i requisiti di qualità. 19 Concetti Generali Assicurazione e Controllo Qualità Controllo qualità (QC) Assicurazione qualità (QA) QC è legato a un determinato QA aiuta a stabilire i processi prodotto o servizio. QA definisce un programma di QC identifica difetti al fine di misura attraverso cui correggerli. raccogliere i valori. QC è responsabilità di ciascun QA identifica i punti di membro del team. debolezza nei processi e miglioramenti nel progetto. QA è una responsabilità del management. QA valuta se il controllo di qualità consente di identificare debolezze nel processo (al fine di non avere difetti nel prodotto). QA è legato a tutti i prodotti sviluppati. 20 Concetti Generali Concetti di Gestione della Qualità: Verifica della Qualità ð La verifica della qualità è una valutazione indipendente, fatta da parte di personale qualificato il quale verifica che il progetto è conforme ai requisiti di qualità e che sta procedendo secondo le procedure e le politiche stabilite. ð Una verifica della qualità assicura che: q La qualità pianificata per il progetto sia raggiunta q I prodotti sono adeguati all’uso q Le leggi e le normative sono seguite q I sistemi di raccolta e distribuzione dei dati sono accurati e adeguati q Si identificano opportune iniziative di miglioramento 21 Concetti Generali Concetti di Gestione della Qualità: Piano di Qualità ð Il piano di qualità dettaglia come il team di management intende svolgere la politica di qualità dell’organizzazione. E’ parte del piano di project management. ð Il piano di qualità include dettagli sugli aspetti di controllo qualità, assicurazione della qualità, approcci per il miglioramento continuo da mettere in atto durante il progetto. ð Può essere formale o informale, molto dettagliato o lascamente pianificato, dipendentemente dalle esigenze di progetto. ð Il piano dovrebbe essere revisionato all’inizio del progetto per assicurare che le decisioni siano basate su informazioni accurate. ð Benefici: ridurre costi e project overrun in seguito a rilavorazioni 22 Concetti Generali Costo della Qualità 23 Concetti Generali Strumenti per il controllo della qualità ð Metodi statistici hanno acquisito sempre più importanza quale strumento di supporto alle decisioni sulla base di dati quantificabili. ð Si distinguono strumenti per identificare ed analizzare opportunità di miglioramento. Consentono di: § Organizzare i dati numerici. § Facilitare la pianificazione. § Migliorare il processo decisionale. ð Sono: 1. Data Tables 2. Diagramma causa-effetto / lisca di pesce diagramma / Ishikawa diagram. 3. Diagramma di dispersione (Scatter plot) 4. Istogramma 5. Diagrammi di Pareto (Pareto Chart) 6. Diagramma di flusso. 7. Trend Analysis: Run chart 8. Control chart (per lo Statistical Process Control) 24 Concetti Generali 1. Data Tables ð Le data tables forniscono una maniera sistematica per raccogliere e mostrare dati. ð Sono progettate principalmente per “collezionare” dati, soprattutto provenienti da strumenti automatici. ð Forniscono una modalità consistente, efficace ed economica per raccogliere dati, organizzarli e mostrarli per successive analisi. Esempio: tabella riassuntiva dei difetti riscontrati rispetto ai vari fornitori. 34 difetti totali Fornitore A ha maggiori difetti Documentazione di test è il difetto più frequente 25 Concetti Generali 2. Cause and Effect Analysis - Diagramma Causa- Effetto ð Identifica le relazioni tra un effetto e le sue potenziali cause. Noti anche come Fishbone Diagrams, o Ishikawa Diagrams. Consiste di 6 passi q Step 1: identificare il problema usando vari tool di controllo statistico (es. istogrammi, carte di controllo, brainstorming) q Step 2: selezionare il team di brainstorming, con competenze nell’area del problema in modo da contribuire ad individuare le cause q Step 3: specificare i Problem Box e la freccia principale q Step 4: specificare le categorie che contribuiscono al problema. Le cause saranno determinate relativamente alle varie categorie. q Step 5: identificare le cause legate a ciascuna categoria q Step 6: identificare le azioni correttive 26 Concetti Generali 27 Concetti Generali ð esempio. Supponiamo che stiamo ricevendo lamentele circa il funzionamento di un Help Desk. Gli utenti si lamentano perché l'Help Desk non è aggiornato con le nuove versioni o prodotti. L'organizzazione si pone se sviluppare un nuovo software per la gestione del servizio. Per scoprire se questa è una buona soluzione, questo tipo di diagrammi viene utilizzato: ð Il risultato del primo passo di questo schema potrebbe essere: 28 Concetti Generali ð Per il secondo livello, si potrebbe tenere una riunione e anche pubblicare il diagramma e chiedere a tutti gli interessati di esprimere le proprie idee. ð Il risultato finale del diagramma sarebbe: 29 Concetti Generali ð Una volta capito il problema e le sue cause, è possibile utilizzare la stessa tecnica per analizzare l'adeguatezza della soluzione. ð Per fare questo, un nuovo schema in senso inverso in cui la soluzione è l’effetto e le spine del pesce servono a valutare se la soluzione esaminata è appropriata o meno secondo le principali spine. ð Realizzando questo nuovo schema: 30 Concetti Generali ð In considerazione dell’analisi della soluzione di questo diagramma: q Un nuovo software per l'help desk non risolverà i problemi all'interno di bilancio o comunque entro un tempo ragionevole. q E 'necessario prendere in considerazione un'altra soluzione, ad esempio, migliorare la formazione del personale, o aggiungere una FAQ per la rete Intranet durante l’anno in corso. q Prendere in considerazione gli altri aspetti evidenziati quando il software di help desk entro tre anni sarà aggiornato. 31 Concetti Generali 3. Scatter Plot ð Organizza i dati usando due variabili: indipendente e dipendente. ð Le coppie di osservazioni (xi, yi) sono plottate in due dimensioni. ð È una buona modalità per individuare eventuali dipendenze tra variabili. Dall’analisi di questo grafico emerge quanto i dati sono sparsi o concentrati e se esiste una tendenza lineare nei valori. In genere, se le variabili sono fortemente relazionate, i data point hanno una forma sistematica (una linea, una curva) 32 Concetti Generali ð aiuta a mostrare la relazione tra due variabili. ð Più i punti di dati seguono una linea diagonale, maggiore è correlazione tra le due variabili rappresentate. 33 Concetti Generali ð Questo diagramma illustra la relazione tra la complessità McCabe e il livello di difetti. ð Ogni punto rappresenta un modulo software la cui complessità è rappresentato sull'asse X e un numero di difetti rappresentato sull'asse Y ð Poiché la complessità di un modulo può essere misurata una volta completato, serve a prevedere il livello dei difetti. ð Inoltre, ridurre la complessità durante lo sviluppo, consentirà anche di ridurre il livello di difetti essendo fattori correlati l’uno all’altro come si evince dal grafico. 34 Concetti Generali 4. Istogrammi ð Rappresentazione grafica dei dati in termini di frequenza della distribuzione. Fornisce un quadro dei dati rispetto ad un prefissato data point nel tempo. Non mostra trend o distribuzioni nel tempo. ð Ogni barra è un attributo/caratteristica di una situazione/problema. L’altezza è la frequenza di quella caratteristica 35 Concetti Generali ð Questo diagramma mostra la% di difetti prodotti presenti. I difetti sono classificati secondo 4 livelli di criticità (SEV). Il livello di criticità determina l'impatto che il difetto avrà sull'utente. Se un difetto è alta gravità influenzerà il business del cliente. Se la gravità è basso, sarà percepito dal cliente solo come un inconveniente. 36 Concetti Generali ð Questo istogramma mostra la frequenza di difetti riscontrati nella fase di test in funzione del numero di giorni che ciascun difetto è stato aperto. ð Consente osservare il tempo di risposta viene raggiunto nell'organizzazione in relazione alla correzione degli errori. 37 Concetti Generali 5. Pareto Chart ð Particolare tipo di istogramma le variabili sono ordinate per frequenza di occorrenza per aiutare a identificare quelli che contribuiscono maggiormente a problemi di qualità ð L’Analisi di Pareto è anche conosciuta come la regola 80-20: 20% delle cause provocano 80% dei problemi. 38 Concetti Generali ð Nel diagramma seguente, i problemi di login all'account di sistema rappresenta il 55% dei reclami degli utenti. Questo problema, insieme al sistema di blocco account rappresentano il 80% di tutti i reclami ricevuti. ð Pertanto, il diagramma aiuta decidere che: q Ridurre questi due problemi implica la necessità di cercare di ridurre notevolmente il volume dei reclami ricevuti. 39 Concetti Generali 6. Diagramma di Flusso ð Rappresenta graficamente la logica e il flusso dei processi, consentendo di analizzare i problemi e decidere come possono migliorare. ð Contiene attività, punti di decisione e l'ordine in cui vengono eseguite le diverse attività. 40 Concetti Generali 7. Trend Analysis: Run chart ð L’analisi del trend è il metodo statistico usato per determinare la migliore equazione che interpola i punti di uno scatter plot. ð Nota anche come q Regressione q Minimi quadrati ð L’equazione individuata descrive la relazione tra la variabile dipendente (output) e quella indipendente (input) ð È usato per prevedere gli effetti dei cambiamenti durante il processo 41 Concetti Generali ð Il run chart è un diagramma che mostra il trend storico e il modello di variazione dell’andamento di un processo nel tempo ð Il diagramma è costituito da linee che collegano i punti di osservazione (dati) tracciandoli in relazione ad una scala temporale ð I run chart sono utilizzati per eseguire analisi delle tendenze (trend analysis) per prevedere i risultati futuri sulla base di modelli storici. 42 Concetti Generali 8. Control Charts (Carte di Controllo) ð è una rappresentazione grafica di dati che mostra i risultati di un processo nel tempo. ð Principalmente sono utilizzati per prevenire i difetti. ð Si differenziano dai Run Chart in quanto incorporano controllo statistico. ð Questi diagrammi possono determinare se un processo è sotto controllo o fuori controllo (statisticamente parlando). q Quando un processo è sotto controllo, le variazioni nei risultati sono dovuti ad eventi casuali in natura. I processi sotto controllo non necessitano modifiche. q Quando un processo è fuori controllo, le variazioni nei risultati non sono dovuti a eventi casuali, ma a problemi nel processo. In tal caso è necessario identificare la causa e regolare il processo per correggere o eliminarli. 43 Concetti Generali ð Il grafico di controllo è costituito dai seguenti elementi di base: q Punti valore statistico che rappresenta una misura di una caratteristica in campioni prelevati nel corso del tempo. q la media di tutti i valori calcolati sono rappresentati q una linea al valore della media è disegnato. q deviazione standard viene calcolato. q sono calcolati e tracciati i limiti superiore e inferiore di controllo di processo. Normalmente in un valore pari al valore medio +/- 3 volte la deviazione standard. Questi titoli sono generalmente noti come 3 sigma. 44 Concetti Generali … Control charts ð Se il processo è controllato, il 99.73% dei punti tracciati sono tracciati tra i limiti di controllo. Qualsiasi punto di fuori dei limiti, o qualsiasi osservazione di un percorso sistematico (un pattern di osservazioni), anche se entro certi limiti, deve essere esaminato perché è una situazione che potrebbe comportare un aumento del costo della qualità. ð In pratica, può succedere che in media le prestazioni del processo non coincidano con l’obiettivo prefissato. Ciò significa che il processo, in quanto tale, non riesce a raggiungere il livello di qualità desiderato. 45 Concetti Generali Control Charts e Monitoraggio ð Monitoraggio: L’attività di misurazione nel tempo delle prestazioni di un Line Plot (Spreadsheet1.sta 10v*50c) processo, espresse 120 attraverso opportune 100 metriche operative (tempi 80 di esecuzione, produttività, Disk Used 60 …), volta all’individuazione 40 e segnalazione attraverso sistemi di allarme di 20 anomalie e disservizi. 0 Case 1 Case 9 Case 17 Case 25 Case 33 Case 41 Case 49 Case 5 Case 13 Case 21 Case 29 Case 37 Case 45 46 Concetti Generali Monitoraggio: Problemi ð Il monitoraggio implica la necessità di definire opportune soglie utili a valutare le prestazioni osservate rispetto a quelle attese. q PROBLEMA 1: Non ci sono ne possono esserci soglie universalmente valide a causa: § della eterogeneità degli ambienti operativi, § del ragguardevole numero di processi Line Plot (Spreadsheet1.sta 10v*50c) monitorabili, 100 ð Sottende la necessità di individuare 90 comportamenti anomali e reagire 80 prontamente q PROBLEMA 2: occorre capire cos’è un 70 comportamento anomalo e come esso può 60 essere identificato Disk Used ð Deve avere una sensibilità variabile in 50 funzione del fenomeno osservato 40 q Problema 3: Come adeguare la sensibilità del monitoraggio alla luce dei cambiamenti 30 continui nelle performance di un processo 20 10 0 Case 1 Case 9 Case 17 Case 25 Case 33 Case 41 Case 49 Case 5 Case 13 Case 21 Case 29 Case 37 Case 45 47 Concetti Generali Monitoraggio: Problemi ð Il monitoraggio implica la necessità di definire opportune soglie utili a valutare le prestazioni osservate rispetto a quelle attese. q PROBLEMA 1: Non ci sono ne possono esserci soglie universalmente valide a causa: § della eterogeneità degli ambienti operativi, § del ragguardevole numero di processi monitorabili, ð Sottende la necessità di individuare 100 Line Plot (Spreadsheet1.sta 10v*50c) comportamenti anomali e reagire prontamente 90 q PROBLEMA 2: occorre capire cos’è un 80 comportamento anomalo e come esso può essere identificato 70 ð Deve avere una sensibilità variabile in 60 funzione del fenomeno osservato Disk Used 50 q Problema 3: Come adeguare la sensibilità del monitoraggio alla luce dei cambiamenti continui 40 nelle performance di un processo 30 20 SOLUZIONE PROPOSTA: 10 0 STATISTICAL PROCESS Case 1 Case 9 Case 17 Case 25 Case 33 Case 41 Case 49 Case 5 Case 13 Case 21 Case 29 Case 37 Case 45 CONTROL (SPC) 48