Gestione della Qualità del Software PDF
Document Details

Uploaded by RightCoralReef4447
Tags
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