La Gestione della Qualità del Software PDF

Summary

Questo documento esplora la gestione della qualità del software, descrivendo l'evoluzione del concetto, le caratteristiche del software e i fattori che influenzano la qualità. Vengono presentati concetti chiave come l'assicurazione della qualità e il controllo qualità, fornendo una panoramica completa degli strumenti e delle tecniche utilizzate in questo campo.

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 MIGLIORAMENTO CONTINUO DEI PROCESSI Parte I Continuous Process Improvement ….using assessment models for process capability & organizational maturity Concetti Generali MOTIVAZIONE ð Per costruire software di qualità è necessario superare tutti i problemi dei processi di produzione ð Poiché il processo software è uomo-centrico ed il comportamento di questo non è né simmetrico né conforme, la qualità dei processi deve essere continuamente monitorata ð La diversità dei processi e quella dell’apprendimento delle tecnologie che ogni processo contiene rende il processo software sperimentale; pertanto, il suo miglioramento deve essere graduale Concetti Generali Widely accepted principles by Shewhart, Juran, Deming and Humphrey. ð Business is influenced by the quality of products/services offered to customers ð The quality of a product/service is largely determined by the quality of the processes used to develop it and maintain it ð If you improve your processes you can improve your business Concetti Generali APPROCCI AL MIGLIORAMENTO DELLA QUALITA’… ðSchemi. Definiscono i livelli di qualità dei processi e come essi si caratterizzano. Questi prevedono anche un modello di qualità. q ISO 9000 q ISO 12270 q Capability Maturity Model (CMM-I) q Software Process Improvement and Capability dEtermination (SPICE) Concetti Generali APPROCCI AL MIGLIORAMENTO DELLA QUALITA’ ðParadigmi. Definiscono una strategia per raggiungere un prefissato livello di qualità e come questo si migliora. Questi richiedono un modello di qualità. q Plan Do Check Act (PDCA) q Quality Improvement Process (QIP) q Experience Factory (EF) DIB 5 ISO 9000 ( VISION 2000) DIB 6 Concetti Generali ISO 9000: PRINCIPI DI BASE ðEsso è un insieme di standard per il controllo e la guida della qualità in tutti i settori produttivi ðL’organizzazione che adotta l’ISO 9000 deve dotarsi di un Sistema Qualità che definisce le modalità per valutare, controllare e guidare la qualità di tutti i processi di produzione ðI dettagli del sistema qualità sono contenuti in un Manuale di Qualità. DIB 7 Concetti Generali Norma: definizione ðDocumento prodotto attraverso consenso e approvato da un organismo riconosciuto ðFornisce, per usi comuni e ripetuti, le caratteristiche o le linee guida relative a determinate attività o prodotti ðHa lo scopo di assicurare ordine ed uniformità in un determinato contesto DIB 8 Concetti Generali Norma: obiettivi ðSalvaguardare gli interessi dei consumatori e della collettività ðMigliorare il sistema produttivo attraverso l’unificazione dei processi e dei prodotti ðMigliorare lo scambio di informazioni attraverso l’applicazione di standard per simboli, codici, interfacce, ecc ðPromuovere la sicurezza dell’uomo e dell’ambiente DIB 9 Concetti Generali LE NORME PER I SISTEMI QUALITÀ ISO 9004 –1 ISO 9000 –1 ISO 9001 ISO 9002 ISO 9003 Guidelines Guidelines Models for Quality Assurance ISO 9004 –2 ISO 9000 –2 ISO 10111–1 ISO 10112-1 ISO 10113 Guidelines for Guidelines for Sevices Auditing Measurement Guidelines implementation Confirmation for of ISO 1/2/3 ISO 9004 –3 ISO 10111–2 System for Developing Measuring Quality ISO 9000 –3 Guidelines for Qualification Equipment manuals Prtocessed Criteria for Guidelines for Material Quality System ISO 10112-2 ISO 8402 -1 Application of Auditors ISO 9004 –4 ISO 9001to Quality Vocabulary Developmenmt, Assurance ISO 10111-3 Guidelines for Supply and Quality maintenance of Management of Improvement Software Auditing Programmes ISO 9004 –5 ISO 9000 –4 Guidelines for Application for Quality Plans Dependability Management ISO 9004 –6 Guidelines for Project Management ISO 9004 –7 Guidelines for Configuration Management DIB 10 Concetti Generali Significato delle norme ð ISO 9000 - descrive i fondamenti dei sistemi di gestione per la qualità e ne specifica la terminologia. ð ISO 9001- specifica i requisiti dei sistemi di gestione per la qualità da utilizzarsi quando un'organizzazione debba dimostrare la propria capacità a fornire prodotti che soddisfino i requisiti dei clienti e quelli cogenti applicabili e miri a conseguire la soddisfazione dei clienti. ð ISO 9004 - fornisce delle linee guida che tengono conto sia dell'efficacia sia dell'efficienza dei sistemi di gestione per la qualità. Lo scopo della della guida è il miglioramento continuo delle prestazioni dell'organizzazione e la soddisfazione dei clienti e delle altre parti interessate (stakeholders). ð ISO 19011- fornisce una guida sulle verifiche ispettive di sistemi di gestione per la qualità ed ambientali. DIB 11 Concetti Generali NORME DI SETTORE ðISO IEC 12207 : Processi del ciclo di vita del software ðISO IEC 9126: Qualità di prodotto ISO IEC software 25000 ðISO IEC 14598: Processo per la Qualità di valutazione dei prodotti prodotto DIB 12 Concetti Generali ISO IEC 12207: SOFTWARE LIFECYCLE PROCESSES PROCESSI PRIMARI PROCESSI DI SUPPORTO acquisizione Documentazione Fornitura gestione configurazione Assicurazione qualità Manutenzione Verifica Sviluppo Validazione Gestione Revisione operativa Audit Gestione dei problemi PROCESSI ORGANIZZATIVI Gestione processo Miglioramento Gestione infrastrutture Addestramento e Formazione Concetti Generali Processi Primari... ðPortano alla realizzazione della missione dell’organizzazione. Determinano la creazione, realizzazione, manutenzione ecc., in generale la “produzione” comunemente intesa, del sistema software. I processi primari si suddividono in 5 categorie DIB 14 Concetti Generali... Processi Primari... ð 1.Acquisizione: Tale processo ha lo scopo di definire le attività che l’acquirente deve seguire per venire in possesso di un determinato software. Si rivolge alle organizzazioni che acquistano un sistema software, un prodotto software o un servizio software. ð 2.Fornitura: Tale processo ha lo scopo di definire le attività che il fornitore/venditore deve seguire per rendere disponibile l’acquisizione di software da parte di un cliente/committente. Si rivolge alle organizzazioni che forniscono/vendono un sistema software, un prodotto software o un servizio software rivolto all’acquirente. DIB 15 Concetti Generali... Processi Primari ð 3.Sviluppo: Tale processo ha lo scopo di definire le attività che devono essere seguite da un’organizzazione per la definizione e lo sviluppo di un prodotto software. ð 4.Gestione operativa: Tale processo ha lo scopo di definire le attività dell’operatore, ossia di colui che utilizza un calcolatore all’interno dell’organizzazione stessa, di cui fa parte. ð 5.Manutenzione: Tale processo ha lo scopo di definire le attività che l’organizzazione deve seguire per la manutenzione di un prodotto software. DIB 16 Concetti Generali Esempio: ISO 12207 - Le attività del Processo Primario “SVILUPPO” ð Analisi dei requisiti del sistema ð Progettazione architetturale del sistema ð Analisi dei requisiti del software ð Progettazione architetturale del software ð Progettazione di dettaglio del software ð Codifica e test ð Integrazione del software ð Test di qualificazione del software ð Integrazione del sistema ð Test di qualificazione del sistema DIB 17 Concetti Generali Processi di Supporto... ðLa loro esecuzione coadiuva l’esecuzione dei processi primari, ai quali offrono servizi che contribuiscono al successo e alla qualità di un progetto. I processi di supporto si suddividono in 8 categorie DIB 18 Concetti Generali … Processi di Supporto... ð 1.Documentazione: la preparazione e l’utilizzazione della documentazione sono intese come attività dinamiche con alto valore aggiunto. La documentazione è importante per il miglioramento della qualità. Quando le procedure sono documentate, spiegate ed attuate è possibile determinare con confidenza come sono solitamente eseguiti i processi e misurare la prestazione corrente. Di conseguenza, l’affidabilità della misurazione dell’effetto di una modifica è maggiore. Inoltre, le procedure operative correnti documentate sono essenziali per conservare i benefici derivanti da un’attività di miglioramento della qualità. DIB 19 Concetti Generali … Processi di Supporto... ð 2. Gestione della Configurazione: rappresenta il fulcro intorno al quale ruota tutta la produzione ed include le operazioni necesarie alla catalogazione, identificazione e recupro di un qualsiasi manufatto prodotto all’interno dell’organizzazione. La gestione della configurazione è necessaria, in generale, per controllare l’integrità di tutti gli artefatti ottenuti dall’esecuzione del processo e per verificare la loro aderenza agli standard imposti. DIB 20 Concetti Generali … Processi di Supporto... ð La Gestione della Configurazione, si realizza quando: q si identificano e si definiscono tutti i singoli artefatti generati dai processi; q si controllano tutte le modifiche a cui si sottopone il software e le releases ottenute; q si registrano lo stato degli artefatti e le richieste di modifica effettuate su di essi; q si controlla la completezza e la consistenza degli artefatti ottenuti. DIB 21 Concetti Generali … Processi di Supporto... ð 3.Assicurazione di qualità: definisce le attività necessarie a certificare oggettivamente che il prodotto software e il processo utilizzato per la sua costruzione, sono conformi agli standard qualitativi che l’organizzazione ha fissato. Si realizza quando: q Si identificano, pianificano e si schedulano le attività per l’assicurazione della qualità (tra cui anche le misurazioni) da effettuarsi sui processi, o sui progetti. q Si definiscono gli standard di qualità, i metodi, le procedure e i tools per eseguire le attività di quality assurance. q Si identificano le risorse necessarie e le responsabilità per l’esecuzione delle suddette attività. q Si eseguono le attività pianificate e schedulate. DIB 22 Concetti Generali …Processi di Supporto... ð 4.Verifica: definisce le attività da seguire per la verifica del processo utilizzato. La verifica viene effettuata alla fine di ogni fase prevista, e determina se l’esecuzione del processo è conforme al modello di processo adottato e il prodotto ottenuto è conforme al prodotto atteso in termini di costi di realizzazione, risorse impiegate, requisiti, vincoli imposti ecc. La verifica è a carico dell’organizzazione che produce.(Il modello è stato costruito correttamente?) ð 5.Validazione: Tale processo ha lo scopo di definire le attività da seguire per la validazione (da parte dell’organizzazione fornitrice o beneficiaria) di un prodotto software. (E’ stato costruito il modello voluto?) DIB 23 Concetti Generali... Processi di Supporto... ð 6.Revisione o joint review: definisce le attività da seguire per valutare lo stato e i prodotti di un’attività.. Lo scopo di tale processo è di informare il cliente sul progresso del progetto e permette di assicurare che i prodotti sviluppati soddisfino le sue necessità. Le attività di questo processo si compongono di diverse tipologie di revisioni : revisione del contratto, revisione tecnica, e revisione di accettazione. Tali verifiche sono effettuate durante le fasi di sviluppo e i periodi sono definiti nel contratto. DIB 24 Concetti Generali... Processi di Supporto... ð 7.Audit: definisce le attività necessarie a determinare la conformità del prodotto software ai requisiti, al processo e al contratto (in alcuni casi questo processo viene assorbito dal processo di assicurazione della qualità o da quelli di verifica e validazione) ð 8.Gestione dei problemi: definisce le attività necessarie ad individuare e risolvere i problemi, qualsiasi sia la loro natura, e qualsiasi sia la fase in cui vengono riscontrati DIB 25 Concetti Generali... Processi di Supporto ðGestione dei problemi q Realizzazione dei report dei problemi q Definizione della priorità del problema q Determinazione della risoluzione q Correzione dei difetti q Distribuzione del prodotto corretto. DIB 26 Concetti Generali Processi Organizzativi... ð Sono utilizzati per definire ed implementare una struttura logica di fondo da seguire, al fine di migliorare la struttura stessa e i processi utilizzati all’interno della organizzazione. Con la parola “struttura” si intende far riferimento alla ripartizione di compiti, competenze, responsabilità e potere decisionale, all’interno dell’organizzazione (definizione dello organigramma). I processi organizzativi si suddividono in 4 categorie. DIB 27 Concetti Generali... Processi Organizzativi... ð 1.Gestione Processo: definisce le attività base per la “gestione” dell’organizzazione e dei processi coinvolti nel ciclo di vita di un progetto o prodotto software. ð 2.Gestione Infrastrutture: definisce le attività da seguire per determinare e manutenere le infrastrutture di cui necessitano gli altri processi. Per infrastrutture si intende Hardware, Software, tools, tecniche, standards ecc. DIB 28 Concetti Generali... Processi Organizzativi ð 3.Miglioramento: definisce le attività necessarie per determinare, consolidare, misurare, controllare e migliorare i processi coinvolti nel ciclo di vita di un software. ð 4.Addestramento e Formazione: definisce le attività necessarie a dare una adeguata formazione, cioè ad istruire e mantenere aggiornato secondo le necessità il personale interno all’organizzazione. DIB 29 Concetti Generali Process Models (Modelli di Processo) n Process models are very helpful in providing a definition of: - the set of processes to implement - the “nature” of process capabilities and - a path for improvement but……beware…. n Models are only a simplified approximation of reality providing insight “All models are wrong, but some are useful” George E. P. Box Concetti Generali Maturity/Capability models CL5 CL4 CL3 CL2 CL1 CL0 P1 P2 …. Pn Concetti Generali “Natural” Improvement Pattern n Proactive focus on continual improvement aligned with current and predicted business goals CONTINUALLY n Orderly and planned approach to innovation without undesired IMPROVING disruption of current operations n Evaluation of effectiveness of changes n Quantitative understanding of process behavior PREDICTABLE n Measures in place for process performance and product quality PROCESS n Process performs within established limits n Process institutionalized (an asset for the organization) STANDARDIZED n Standardized across all application but tailored as necessary PROCESS n Improves from deployment experiences n Process performance planned and monitored REPEATABLE PRACTICES n Work products (input/output) quality controlled and managed n Proactive and repeatable…….. under same conditions n Evidence of input/output – no visibility on the quality of products INFORMAL nor effectiveness/efficiency of the process & CHAOTIC n Reaction driven process – fix problems as they occur The SPICE project (Software Process Improvement and Capability dEtermination) ISO 15504 (oggi: ISO 33000) An international standard for process assessment and improvement Concetti Generali USO DI ISO15504 ð Comprensione dei processi software operanti nella propria organizzazione ð Determinazione delle capacità dei processi sia della propria organizzazione sia delle organizzazioni fornitrici ð Guida per il Miglioramento del processo attraverso le analisi delle misure e la individuazione dei processi da migliorare. DIB 34 Concetti Generali ISO15504: Principi di base Processi Sottoposti a Identitica i determina cambiamenti l’adeguatezza Valutazione di processo Portano a Portano a Miglioramento Può portare a Determinazione del processo Capacità DIB 35 Concetti Generali ISO 15504 ð ISO / IEC 15504 è il modello di riferimento per i modelli di maturità (costituito da livelli di capacità che a loro volta sono costituiti dagli attributi del processo e consistono inoltre in pratiche generiche) rispetto ai quali i valutatori, sulla base di evidenze raccolte durante il processo di valutazione, possono determinare la capacità della organizzazione di fornire prodotti (software, sistemi e servizi IT). 36 Concetti Generali Struttura di ISO15504 Categoria di Processo Livello di Capacità Processo Attributi (comuni) Scopo del Processo DIB 37 Concetti Generali ISO15504: LE CATEGORIE DI PROCESSO… ðTutti i processi di un’organizzazione sono classificati in categorie: q Fornitore-Committente: regolano la relazione con i committenti ed impattano consistentemente sulla soddisfazione di questi ultimi q Ingegneristici: specifica, progettazione, implementazione o manutenzione dei sistemi e dei prodotti software DIB 38 Concetti Generali …ISO15504: LE CATEGORIE DI PROCESSO q Progetti: definizione dei processi di produzione, controllo e guida degli stessi durante la loro esecuzione q Supporto: supporto ai processi di produzione per assicurare l’efficacia di questi ultimi q Organizzazione: definizione degli obiettivi di business e di processi di sviluppo, prodotti,risorse disponibili che consentono di raggiungere gli obiettivi di business DIB 39 Concetti Generali ISO15504: LA RELAZIONE TRA LE CATEGORIE DI PROCESSO Fornitore-Committente Ingegneristici S u p Progetti p o r Organizzazione t o DIB 40 Concetti Generali ISO15504: I LIVELLI DI CAPACITÀ DEI PROCESSI... ð Il Livello di Capacità è un indicatore della qualità raggiunta nella gestione del processo stesso. ð Il Livello di Capacità si determina attraverso l’osservazione di un set di Attributi di Processo, associati a ciascun Livello. ð I Livelli di Capacità si riferiscono al singolo processo e non all'intero set di processi adottati dall'unità organizzativa oggetto dell'assessment. DIB 41 Concetti Generali ISO15504: I LIVELLI DI CAPACITÀ DEI PROCESSI... ð 0. Non Eseguito. In generale c’è difformità nella esecuzione delle pratiche di base.Non sono identificabili facilmente i risultati parziali o finali del progetto. ð 1.Eseguito informalmente. Le pratiche di base del processo sono generalmente eseguite. Anche se qualche volta non sono rigorosamente pianificate e monitorate. Sono identificabili i risultati ed i prodotti parziali e finali. DIB 42 Concetti Generali …ISO15504: I LIVELLI DI CAPACITÀ DEI PROCESSI... ð 2. Pianificato e monitorato. La prestazione nelle pratiche di base è pianificata e monitorata. Le prestazioni sono verificate concordemente con predefinite procedure. I risultati ed i prodotti sono conformi a specifici standard. ð 3. Ben definito. Le pratiche di base sono eseguite concordemente con un ben definito processo che è una specializzazione di un processo standard e che è stato preventivamente approvato. Questo livello si differenzia dal precedente perché il processo è definito e controllato usando un processo standard a livello di organizzazione. DIB 43 Concetti Generali … ISO15504: I LIVELLI DI CAPACITÀ DEI PROCESSI… ð 4. Quantitativamente controllato. Le misure di prestazione sono raccolte ed analizzate.Questo consente di capire quantitativamente il processo e di stimare a priori le prestazioni di un progetto.Anche la qualità dei prodotti e dei risultati sono quantitativamente rilevabili e rilevate. La distinzione con il precedente livello è dato dall’uso delle misure quantitative. DIB 44 Concetti Generali … ISO15504: I LIVELLI DI CAPACITÀ DEI PROCESSI ð 5.Migliorato continuamente. Gli obiettivi di efficacia e di efficienza sono sempre definiti sulla base degli obiettivi di business.Il miglioramento verso questi obiettivi è eseguito sulla base delle misure quantitative raccolte e sulla loro analisi; queste fanno capire le contro azioni necessarie per superare le eventuali carenze dei processi. La differenza con il precedente livello è il continuo affinamento dei processi nei confronti degli obiettivi. DIB 45 Concetti Generali PROFILO DI QUALITÀ SECONDO ISO15504 Livelli di Capacità Ottimizzato 5 Prevedibile 4 Stabilito 3 Gestito 2 Eseguito 1 Incompleto 0 P1 P2 P3 P4 ecc.. Pn Processi DIB 46 Concetti Generali VALUTAZIONE DEL CONSEGUIMENTO DEGLI ATTRIBUTI ðIl raggiungimento di un Livello di Capacità è determinato dal grado di presenza (achievement) nel processo di 9 Attributi di Processo distribuiti sui 5 diversi Livelli di Capacità ðOgni Attributo di Processo rappresenta una caratteristica misurabile del processo. ðIl valutatore, con l’aiuto di indicatori ed esaminando le evidenze oggettive, esprime un giudizio sul grado di presenza (achievement) dell’attributo, attraverso una scala di valori definita (4 valori). DIB 47 Concetti Generali Attributi di Processo Attributo di Processo Significato dell’attributo Livello di Capacità Nessuno 0 Incompleto Esecuzione del processo Il processo è eseguito, anche se in modo 1 Eseguito (Process Performance) informale, e produce i risultati attesi PA 1.1 Gestione dell’esecuzione L’esecuzione del processo è pianificata e 2 Gestito (Performance management) gestita per produrre i risultati previsti PA 2.1 Gestione dei risultati I risultati del processo sono documentati e (Work product management) gestiti. PA 2.2 Definizione del processo Esiste ed è mantenuta una definizione 3 Stabilito (Process definition) standard del processo PA 3.1 Utilizzo del processo Il processo viene eseguito sulla base di una (Process deployment) personalizzazione del processo standard. PA 3.2 Misurazione del processo La performance del processo è misurata 4 Prevedibile (Process measurement) PA 4.1 Controllo del processo Il processo è controllato quantitativamente (Process control) attraverso le misure PA 4.2 Innovazione del processo I cambiamenti al processo sono effettuati in 5 Ottimizzante (Process innovation) modo controllato PA 5.1 Miglioramento continuo Il processo è soggetto a miglioramento (Process optimization) continuo PA 5.2 DIB 48 Concetti Generali Livelli di Capacità per ciascun Processo Concetti Generali VALUTAZIONE DEL CONSEGUIMENTO DEGLI ATTRIBUTI: scala di valori ð (N – not achieved) Non conseguito: Non esiste evidenza del conseguimento dell’attributo definito ð (P - partially) Parzialmente: Esiste qualche evidenza del conseguimento dell’attributo ð (L - largely) Largamente: Esiste evidenza di un conseguimento significativo dell’attributo ð (F -fully) Pienamente: L’attributo è conseguito pienamente ðla valutazione (rating) si basa sulle evidenze raccolte rispetto a ciascun attributo, che ne dimostrano il livello di soddisfacimento (NPLF) DIB 50 Concetti Generali ISO 15504: Assessment… ð ISO/IEC 15504 fornisce linee guida per eseguire una valutazione (assessment) ð Il processo di valutazione può essere generalizzato nei seguenti passi: q avviare una valutazione (sponsor di valutazione) q selezionare il valutatore e il gruppo di valutazione q pianificare la valutazione, compresi i processi e l'unità organizzativa da valutare (responsabile della valutazione e gruppo di valutazione) q briefing pre-valutazione q raccolta dati q convalida dei dati q valutazione del processo (rating) q reporting del risultato della valutazione (assessment) 51 Concetti Generali …ISO 15504: Assessment ð Il valutatore raccoglie i dati relativamente ad un processo attraverso: q interviste con persone che eseguono il processo, q raccolta di documenti e dati di qualità, q raccolta di dati statistici di processo. ð Il valutatore convalida i dati per assicurarsi che siano accurati e coprono completamente l'ambito della valutazione. ð Il valutatore valuta i dati (in base alla sua esperienza) rispetto alle pratiche di base di un processo e alle pratiche generiche della capacità ð Poiché la valutazione del processo (rating) si basa sul giudizio di un esperto, è fondamentale verificare qualifiche e competenze del valutatore. ð Il process rating è presentato come risultati preliminari allo sponsor per verificare che condividano l’accuratezza della valutazione. In alcuni casi, potrebbero esserci cicli di feedback che richiedono un'ulteriore valutazione prima che si raggiunga la valutazione finale del processo. 52 Concetti Generali PROFILO DETTAGLIATO DI UN PROCESSO IN ISO15504 Process Process Attribute Performed Managed Established Predictable Optimizing PA1 PA2.1 PA2.2 PA3.1 PA3.2 PA4.1 PA4.2 PA5.1 PA5.2 Requirements elicitation Customer sup port Software design Software construction Software testing Fully Achieved Largely Achieved Partially Achieve d Not Achieved DIB 53 Concetti Generali Summarizing: ISO/IEC 15504 (SPICE) Process Capability Model ð Also known as SPICE ð Bi-dimensional framework ð Provides rating for individual CL5 Process Capability levels processes ð Rating based on a 0-5 scale of CL4 process capability ð Each capability level associated CL3 with process attributes to be achieved CL1 CL2 ð Published in 1998 as a multipart ISO/IEC Technical Report ð Significant technical contributions CL0 from SEI (Software Engineering Institute) P1 P2 P3 CMM Capability Maturity Model DIB 55 Concetti Generali CMM: PRINCIPI DI BASE ð Secondo il SEI il primo passo per assestare e migliorare il processo è la sua valutazione. ð Sono previsti tre classi di valutazione dei processi: q Software Process Capability, è un metodo per predire il più probabile risultato atteso nei progetti software futuri. q Software Process Performance, rappresenta il risultato raggiunto eseguendo un processo software q Software Process Maturity, esprime quanto un processo sia esplicitamente definito, gestito misurato controllato ed efficace DIB 56 Concetti Generali Uso del CMM ðRiesame della propria organizzazione per identificare i punti di forza e di debolezza in un’organizzazione ðValutazione di organizzazioni esterne per stimare i rischi nel selezionare un fornitore di servizi e di prodotti (es. gare di appalto, commesse) ðGuida per il Miglioramento del processo attraverso le analisi delle misure e la individuazione dei processi da migliorare. DIB 57 Concetti Generali Struttura Livelli di Maturità indicano contengono Capacità dei Aree chiavi dei processi processi raggiungono organizzati da Goals Fattori Comuni indicano contengono Implementazione o Istituzionalizzazione Pratiche Chiavi descrivono Infrastrutture o attività DIB 58 Concetti Generali I livelli di maturità ð Un livello di maturità è uno stadio evolutivo ben definito in un cammino di maturazione di un'organizzazione produttrice di software ð Ogni livello è uno strato delle fondamenta per il miglioramento continuo ð Nel CMM sono previsti 5 livelli di maturità ð La capacità di un processo indica i potenziali risultati attesi dall'esecuzione del processo. q sia ai fini di automiglioramento che di valutazione della capacità di un fornitore DIB 59 Concetti Generali CMM:I 5 LIVELLI DI MATURITÀ Processo in migliorament o Ottimizzato continuo (5) Processo Gestito Prevedibile (4) Processo Standard Definito e consistente (3) Processo Disciplinato Ripetibile (2) Iniziale (1) DIB 60 Concetti Generali CMM: CARATTERIZZAZIONE DEI LIVELLI DI MATURITÀ… ð 1. Iniziale. Il processo non è ben definito, il suo successo dipende solo dall’impegno personale degli sviluppatori. ð 2. Ripetibile. Sono eseguite le attività di base per la gestione dei progetti: traccia dei costi, della schedulazione e della funzionalità. Il processo è sufficientemente disciplinato per essere ripetuto. ð 3. Definito. Il processo è conforme agli standard dell’organizzazione e tutte le attività ingegneristiche e manageriali sono documentate. DIB 61 Concetti Generali …CMM: CARATTERIZZAZIONE DEI LIVELLI DI MATURITÀ ð 4. Gestito. Dettagliate misure dei processi e dei prodotti sono rilevate e raccolte; così che entrambi siano ben capiti. ð 5. Ottimizzato. Il miglioramento continuo dei processi è attivo sfruttando le analisi post- mortem dei progetti eseguiti e le opportunità di tecnologie innovative. DIB 62 Concetti Generali CMM: VISIBILITÀ DEI 5 LIVELLI DI MATURITÀ In Out 5 4 In Out 3 In Out 2 In Out 1 In Out DIB 63 Concetti Generali Aree Chiave di Processo (Key Process Areas) ð Ogni area di processi Ottimizzato (5) chiave identifica un Gestione dei cambiamenti al Processo insieme di attività che Innovazione Tecnologica se eseguite Prevenzione dei Difetti collettivamente Gestito (4) assicurano la crescita Gestione della Qualità delle capacità dei Misurazione ed analisi del Processo processi. Definito (3) Revisioni di Gruppo Coordinamento Intergruppo Ingegnerizzazione del prodotto software Gestione integrata del Software Programma di formazione Definizione del Processo dell'Organizzazione Focalizzazione sul processo Ripetibile (2) Gestione delle Configurazioni Software Assicurazione Qualità del Software Gestione dei subcontraenti Monitoraggio e Supervisione dei progetti Pianificazione dei Progetti Gestione dei Requisiti DIB 64 Iniziale (1) Concetti Generali Fattori Comuni ðLe aree dei processi chiave sono organizzate per fattori comuni che sono attributi per assicurare che la esecuzione e la istituzionalizzazione di un processo chiave è efficace, ripetibile e definitivo. DIB 65 Concetti Generali Pratiche Chiavi Livello di Maturità Livello 2: Ripetibile contiene indica Aree chiavi dei processi ð Descrivono le Capacità del Pianificazione dei infrastrutture e processo: processo progetti disciplinato le attività che raggiunge organizzati in contribuiscono alla efficace Goal 1: le stime sono Fattori comuni documentate per essere usate implementazione nella pianificazione e nel Attività da eseguire dei processi monitoraggio dei progetti chiave. contengono indicano Pratiche Chiavi Attività 9. Stima della dimensione del prodotto software, secondo Implementazione o apposite procedure documentate Istitutozionalizzazione: implementazione descrivono Infrastrutture o attività: attività DIB 66 Concetti Generali CMM:PROFILO DI MATURITÀ DELLE ORGANIZZAZIONI – fino ad Agosto 2004 DIB 67 Concetti Generali 1993 - Capability Maturity Model for software (SW-CMM) ð Limitato alle discipline di “software engineering” ð Definisce un Maturity Level Rating rispetto all’Unità Organizzativa complessiva (intera organizzazione) ð Nota come “Staged representation” ð 1993-2000 – sono stati sviluppati vari modelli CMM in base alle discipline (system, security, people, etc..) Concetti Generali 1993 SW-CMM details Concetti Generali 2000 - Capability Maturity Model Integration (CMMI)… ð Intorno al 2000 il SEI (Software Engineering Intsitute) ha integrato i modelli esistenti rispetto alle varie discipline dando origine ad un nuovo modello chiamato CMMI® (Capability Maturity Model Integration) ð CMMI è un programma di addestramento e valutazione del miglioramento dei processi amministrato e commercializzato dalla Carnegie Mellon University (CMU) e richiesto da molti contratti governativi del Dipartimento della Difesa e degli Stati Uniti, in particolare nello sviluppo di software. ð CMMI può essere utilizzato per guidare il miglioramento dei processi attraverso un progetto, una divisione o un'intera organizzazione. ð Si specializza rispetto a tre settori: q Product and service development — CMMI for Development (CMMI-DEV) q Service establishment, management, — CMMI for Services (CMMI-SVC) q Product and service acquisition — CMMI for Acquisition (CMMI-ACQ) Concetti Generali … 2000 - Capability Maturity Model Integration (CMMI) ð CMMI è il precedessore del Capability Maturity Model (CMM) noto anche come Software CMM (SW-CMM) q The CMM was developed from 1987 until 1997. q In 2002, CMMI Version 1.1 was released, q Version 1.2 followed in August 2006, q CMMI Version 1.3 in November 2010. ð Secondo il Software Engineering Institute (SEI, 2008), CMMI aiuta a "integrare funzioni organizzative che sono tradizionalmente separate; stabilire obiettivi e priorità di miglioramento dei processi; fornire linee guida per assicurare processi di qualità e fornire un punto di riferimento per la valutazione dei processi in organizzativi". 71 Concetti Generali Modelli CMMI attualmente disponibili Source: Software Engineering Institute Concetti Generali 16 Core process areas in all CMMI models ð Project Planning (PP) ð Project Monitoring and Control (PMC) ð Integrated Project Management (IPM) ð Quantitative Project Management (QPM) ð Risk Management (RSKM) ð Requirements Management (REQM) ð Configuration Management (CM) ð Measurement and Analysis (MA) ð Process and Product Quality Assurance (PPQA) ð Decision Analysis and Resolution (DAR) ð Organizational Process Definition (OPD) ð Organizational Process Focus (OPF) ð Organizational Training (OT) ð Organizational Process Performance (OPP) ð Causal Analysis and Resolution (CAR) ð Organizational Performance Management (OPM) Concetti Generali Life cycle coverage of CMMI models Suppliers Requirements Design & Delivery & Operations Engagement & Planning Development Acceptance CMMI-ACQ CMMI-DEV CMMI-SVC Concetti Generali CMMI Maturity Levels (Staged representation) Optimizing 5 Focus on process improvement Quantitatively 4 Process statistically understood and Managed quantitatively controlled Defined 3 Process characterized for the organization and is proactive Managed 2 Process characterized for projects and is often reactive Initial 1 Process unpredictable, poorly controlled, and reactive Concetti Generali CMMI-DEV - Process Areas by Maturity Level Level Focus Process Area Continual 5 Optimizing process Causal Analysis and Resolution (CAR) Organizational Performance Management (OPM) improvement 4 Quantitatively Quantitative Quantitative Project Management (QPM) Managed management Organizational Process Performance (OPP) Requirements Development (RD) Technical Solution (TS) Product Integration (PI) Verification (VER) Validation (VAL) Process Decision Analysis and Resolution (DAR) 3 Defined standardization Integrated Project Management (IPM) Organizational Process Definition (OPD) Organizational Process Focus (OPF) Organizational Training (OT) Risk Management (RSKM) Configuration Management (CM) Measurement and Analysis (MA) Basic Process and Product Quality Assurance (PPQA) 2 Managed project Project Planning (PP) management Project Monitoring and Control (PMC) Requirements Management (REQM) Supplier Agreement Management (SAM) 1 Initial Concetti Generali CMMI-DEV: Process Areas by Process Category Category Process Area Maturity Level 2 3 4 5 Organizational Process Definition (OPD) X Organizational Process Focus (OPF) X Process Organizational Training (OT) X Management Organizational Process Performance (OPP) X Organizational Performance Management (OPM) X Project Planning (PP) X Project Monitoring and Control (PMC) X Requirements Management (REQM) X Project Supplier Agreement Management (SAM) X Management Integrated Project Management (IPM) X Risk Management (RSKM) X Quantitative Project Management (QPM) X Requirements Development (RD) X Technical Solution (TS) X Engineering Product Integration (PI) X Verification (VER) X Validation (VAL) X Configuration Management (CM) X Process and Product Quality Assurance (PPQA) X Support Measurement and Analysis (MA) X Decision Analysis and Resolution (DAR) X Tony Coletta Causal Analysis2012© and Resolution (CAR) X Slide 77 Concetti Generali Example: Project Management Process Areas Quantitative Project Management (QPM) - to quantitatively manage the project to achieve the project’s established quality and process performance objectives. Integrated Project Management (IPM) - to establish and manage the project and the involvement of relevant stakeholders according to an integrated and defined process that is tailored from the organization’s set of standard processes. Risk Management (RSKM) - to identify potential problems before they occur so that risk handling activities can be planned and invoked as needed across the life of the product or project to mitigate adverse impacts on achieving objectives. Project Planning (PP) - to establish and maintain plans that define project activities Project Monitoring and Control (PMC) - to provide an understanding of the project’s progress so that appropriate corrective actions can be taken when the project’s performance deviates significantly from the plan Supplier Agreement Management (SAM) - to manage the acquisition of products and services from suppliers Requirements Management (REQM) - to manage requirements of the project’s products and product components and to ensure alignment between those requirements and the project’s plans and work products Concetti Generali Example: Project Planning (PP) – Purpose, Goals & Practices Purpose: to establish and maintain plans that define project activities ð Goal 1 Estimates of project planning parameters are established and maintained. SP 1.1 Establish a top-level work breakdown structure (WBS) to estimate the scope of the project. SP 1.2 Establish and maintain estimates of work product and task attributes. SP 1.3 Define project lifecycle phases on which to scope the planning effort. SP 1.4 Estimate the project’s effort and cost for work products and tasks based on estimation rationale. ð Goal 2 A project plan is established and maintained as the basis for managing the project. SP 2.1 Establish and maintain the project’s budget and schedule. SP 2.2 Identify and analyze project risks. SP 2.3 Plan for the management of project data. SP 2.4 Plan for resources to perform the project. SP 2.5 Plan for knowledge and skills needed to perform the project. SP 2.6 Plan the involvement of identified stakeholders. SP 2.7 Establish and maintain the overall project plan. ð Goal 3 Commitments to the project plan are established and maintained. SP 3.1 Review all plans that affect the project to understand project commitments. SP 3.2 Adjust the project plan to reconcile available and estimated resources. SP 3.3 Obtain commitment from relevant stakeholders responsible for performing and supporting plan execution. Concetti Generali Esample: Project Monitoring and Control (PMC) Purpose, Goals & Practices Purpose: to provide an understanding of the project’s progress so that appropriate corrective actions can be taken when the project’s performance deviates significantly from the plan ð Goal 1 Actual project performance and progress are monitored against the project plan. SP 1.1 Monitor actual values of project planning parameters against the project plan. SP 1.2 Monitor commitments against those identified in the project plan. SP 1.3 Monitor risks against those risks identified in the project plan. SP 1.4 Monitor the management of project data against the project plan. SP 1.5 Monitor stakeholder involvement against the project plan. SP 1.6 Periodically review the project’s progress, performance, and issues. SP 1.7 Review the project’s accomplishments and results at selected project milestones. ð Goal 2 Corrective actions are managed to closure when the project’s performance or results deviate significantly from the plan. SP 2.1 Collect and analyze issues and determine corrective actions to address them. SP 2.2 Take corrective action on identified issues. SP 2.3 Manage corrective actions to closure. Concetti Generali Supplier Agreement Management (SAM) Purpose, Goals & Practices Purpose: to manage the acquisition of products and services from suppliers ð Goal 1 Agreements with the suppliers are established and maintained. SP 1.1 Determine the type of acquisition for each product or product component to be acquired. SP 1.2 Select suppliers based on an evaluation of their ability to meet the specified requirements and established criteria. SP 1.3 Establish and maintain supplier agreements. ð Goal 2 Agreements with suppliers are satisfied by both the project and the supplier. SP 2.1 Perform activities with the supplier as specified in the supplier agreement. SP 2.2 Ensure that the supplier agreement is satisfied before accepting the acquired product. SP 2.3 Ensure the transition of acquired products from the supplier. Concetti Generali Example: Requirements Management (REQM) Purpose, Goals & Practices Purpose: to manage requirements of the project’s products and product components and to ensure alignment between those requirements and the project’s plans and work products ð Goal 1 Requirements are managed and inconsistencies with plans and work products are identified. SP 1.1 Develop an understanding with the requirements providers on the meaning of the requirements. SP 1.2 Obtain commitment to requirements from project participants. SP 1.3 Manage changes to requirements as they evolve during the project. SP 1.4 Maintain bidirectional traceability among requirements and work products. SP 1.5 Ensure that project plans and work products remain aligned with the requirements. Concetti Generali Appraisal (Valutazione) … ð Un'organizzazione non può essere certificata in CMMI; invece, un'organizzazione è valutata (appraised). A seconda del tipo di valutazione, l'organizzazione può ottenere un livello di maturità (1-5) o un profilo di conseguimento del livello di capacità. ð Molte organizzazioni trovano valore nel misurare i loro progressi conducendo una valutazione (appraisal). Le valutazioni vengono generalmente condotte per uno o più dei seguenti motivi: q Per determinare in che misura i processi dell'organizzazione soddisfano le best practice CMMI e per identificare le aree in cui è possibile apportare miglioramenti; q Per informare i clienti e i fornitori esterni del modo in cui i processi dell'organizzazione soddisfano le best practice CMMI q Per soddisfare i requisiti contrattuali di uno o più clienti ð I risultati della valutazione possono essere utilizzati per pianificare i miglioramenti dell'organizzazione (ad esempio rispetto ad un gruppo di processi) 83 Concetti Generali … Appraisal (Valutazione) ð Il metodo per condurre le valutazioni CMMI si chiama “Standard CMMI Appraisal Method for Process Improvement (SCAMPI)” ð I risultati di una valutazione SCAMPI possono essere pubblicati (se l'organizzazione valutata approva) sul sito Web CMMI del SEI. ð SCAMPI supporta anche la condotta di ISO/IEC-15504, nota anche come SPICE Assessments (Software Process Improvement and Capability Determination) ð SEI ha mantenuto statistiche sui ”tempi di progressione" sia per le organizzazioni che hanno adottato la precedente SW-CMM che CMMI. q dal 1987, i tempi medi per passare dal Livello 1 al Livello 2 sono di 23 mesi, e dal Livello 2 al Livello 3 sono ulteriori 20 mesi. q Dal rilascio del CMMI, i tempi medi per passare dal Livello 1 al Livello 2 sono 5 mesi, con un tempo mediano al Livello 3 altri 21 mesi. 84 Concetti Generali Evoluzione di CMMI e SPICE ISO/IEC TR 15504 Nel 2000 viene (1993-1998) introdotto la Continuous 1993 1997 Representation Continuous Representation (ispirandosi alla ISO15504-SPICE) 2000 2002 2006 2010 1993 2010 Concetti Generali Merging staged and continuous (CMMI-DEV 1.1): lo stesso contenuto organizzato in due modi diversi Source: CSSA Concetti Generali Structure of CMMI one model – two representations Appendixes Appendixes Support Maturity Level 5 CM, PPQA, MA, OID, CAR CAR, DAR Maturity Level 4 Engineering OPP, QPM REQM, REQD, TS,

Use Quizgecko on...
Browser
Browser