|
Ercole Colonese Consulenza di direzione e IT |
Home | Sviluppo software | Gestione servizi IT | Gestione progetti | Test e collaudi | Competenze relazionali | Servizi | Pubblicazioni | Chi sono | Info |
CMMI for Development, Version 1.3 |
||||||||||||||||||||||||||||||||||
> CMMI Breve storia dell'Ingegneria del software
|
Il CMMI® (Capability Maturity Model®, Integration), messo a punto dal SEI® (Software Engineering Institute), è un modello per il miglioramento della maturità dei processi rivolto allo sviluppo di prodotti e servizi. Il livello di maturità dei processi è definito su di una scala a cinque livelli. A ciascun livello di maturità sono associate aree di competenza (KPA - Key Process Area). Il modello prevede due rappresentazioni: "staged" e "continuous". In continua evoluzione, il modello è stato di recente presentato nella sua versione 1.3 che presenta alcune importanti modifiche rispetto alla versione precedente. Costellazione di modelli CMMI Inizialmente disegnato per valutare le organizzazioni software (SW-CMM), il modello si è evoluto e attualmente consta di tre modelli differenti per altrettanti settori produttivi:
I tre modelli costituiscono quella che viene chiamata "Costellazione CMMI". Il modello di cui ci si occupa in questa sezione del sito è il modello per lo sviluppo software: CMMI for Development (CMMI-DEV). Approccio basato sul processo Nella sua ricerca per aiutare le organizzazioni a sviluppare e mantenere la qualità dei loro prodotti e servizi, Il SEI ha trovato diverse dimensioni su cui l'organizzazione può focalizzarsi per migliorare il proprio business. La figura che segue illustra le tre dimensioni critiche per un'organizzazione tipica: persone, procedure e metodi, strumenti e apparecchiature. Le tre dimensioni costituiscono la base del "Processo" (nel modello detto "Area di processo"), elemento cardine del modello CMMI.
Figura: Dimensioni del processo Goals and Practices Il modello CMMI è definito in termini di obiettivi (Goals) e pratiche per raggiungerli (Practices). Obiettivi e pratiche sono interrelate a seconda del modello adottato per la sua implementazione (staged o continuous). La figura che segue fornisce una rappresentazione grafica della struttura delle due rappresentazioni (staged e continuous) del modello CMMI e le relazioni tra obiettivi e pratiche.
Figura: Struttura delle rappresentazioni "staged" e "continuous" Approccio scalare (staged) CMMI fornisce due approcci diversi con relativi metodi di valutazione: scalare (staged) e continuo (continuous). La rappresentazione a livelli (staged) utilizza un approccio per aree di processi. Ogni area contiene un numero di processi legati all'area specifica. Il modello prevede quindi che l'organizzazione migliori tutti i processi di tutte le aree previste in un determinato livello di maturità. In questo approccio (generalmente quello più seguito), sono definiti cinque livelli di maturità che, in ordine crescente, sono:
I livelli di maturità prevedono un insieme stabilito di aree di processo (Process Area). I livelli di maturità sono misurati dal raggiungimento degli obiettivi specifici e generici definiti per ciascuna area di processo. I cinque livelli di maturità del modello sono rappresentati nella figura che segue.
Figura: Modello CMMI "Staged" a 5 livelli (SEI) Livello di maturità 1: Initial Al livello di maturità iniziale, i processi sono generalmente ad hoc e caotici. L'organizzazione abitualmente non dispone di ambienti di sviluppo stabili. Il successo raggiunto da tali organizzazioni dipende esclusivamente dalla competenza e dall'eroismo delle persone e non sull'utilizzo di processi consolidati. A dispetto di tali ambienti caotici e ad hoc, tali organizzazioni possono anche realizzare buoni prodotti e servizi software; tuttavia essi non possono prevedere i risultati finali e spesso non riescono a rispettare i tempi di consegna ed il budget. Le organizzazioni che sono al livello di maturità 1 tendono a sottovalutare gli impegni e ad assumersene più di quanti ne possano rispettare, sono indotte ad abbandonare i processi nei momenti di crisi e non sono in grado di ripetere i successi ottenuti in precedenza. Livello di maturità 2: Managed Al livello di maturità 2, un'organizzazione ha raggiunto tutti gli obiettivi specifici e quelli generici definiti per le aree di processo associate al livello. In altre parole, i progetti sviluppati dall'organizzazione assicurano che i requisiti sono gestiti e che i processi sono pianificati, eseguiti, misurati e controllati. Il livello di maturità raggiunto dall'organizzazione assicura che i processi sono seguiti anche in condizione di stress. Le pratiche assicurano che i progetti sono gestiti in accordo con i piani documentati. I requisiti, i processi, i prodotti intermedi realizzati, i servizi sono tutti gestiti. Lo stato degli artefatti realizzati e dei prodotti rilasciati e dei servizi erogati sono visibili al management come atteso. Gli impegni sono stabiliti tenendo conto di tutti gli attori coinvolti (stakeholders) e da essi rivisti. Questi rivedono e controllano gli artefatti ed i servizi per verificare che soddisfino i requisiti, gli standard e gli obiettivi. Livello di maturità 3: Defined Al livello di maturità 3, un'organizzazione ha raggiunto tutti gli obiettivi definiti per il livello di maturità precedente (livello 2) più tutti quelli definiti per le aree del presente livello. A questo livello di maturità tutti i processi sono ben caratterizzati e compresi dall'organizzazione, definiscono gli standard, le procedure, gli strumenti ed i metodi. L'insieme dei processi definiti costituiscono uno standard per l'organizzazione. Essi (i processi) sono utilizzati da tutti e migliorati con regolarità nella loro efficacia ed efficienza. I progetti stabiliscono quali processi utilizzare e li personalizzano per adattarli alle loro esigenze secondo regole stabilite. Il management dell'organizzazione stabilisce gli obiettivi dei processi in base agli obiettivi dell'organizzazione stessa e ne assicura il controllo. La caratteristica più saliente del livello di maturità 3 è quella di stabilire processi comuni per l'intera organizzazione e linee guida per la loro personalizzazione nei diversi progetti. Livello di maturità 4: Quantitatively Managed Al livello di maturità 4, un'organizzazione ha raggiunto tutti gli obiettivi definiti per i precedenti livelli (livello 2 e 3) più tutti quelli definiti per il livello attuale. Sono definiti i sottoprocessi che maggiormente contribuiscono alle performance generali dei processi stessi. I sottoprocessi selezionati sono controllati utilizzando tecniche statistiche o altre tecniche quantitative. Gli obiettivi quantitativi stabiliti per valutare la qualità e le performance dei processi costituiscono i criteri utilizzati per la gestione dei processi stessi. Tali obiettivi indirizzano le necessità del cliente, degli utenti finali, dell'organizzazione e dei responsabili della gestione dei processi. I processi sono misurati e valutati nelle loro performance tramite la raccolta e l'analisi statistica dei dati delle misurazioni effettuate sui risultati ottenuti. Eventuali variazioni dai valori attesi sono analizzate e le cause rimosse con opportune azioni correttive che ne prevengano il ripetersi. Le misure sulla qualità e le performance dei processi sono memorizzate nell'apposito archivio in modo da supportare con i fatti il processo decisionale dell'organizzazione. La caratteristica più saliente del livello di maturità 4 è quello di permettere una previsione dei risultati dei processi con sufficiente accuratezza a seguito del controllo statistico effettuato. Livello di maturità 5: Optimizing Al livello di maturità 5, un'organizzazione ha raggiunto tutti gli obiettivi definiti per i precedenti livelli (livello 2, 3 e 4) più tutti quelli definiti per il livello attuale. I processi sono migliorati di continuo in base alla comprensione quantitativa delle "cause comuni" delle varianze statistiche sui risultati dei processi. Il miglioramento continuo delle performance dei processi è raggiunto tramite azioni incrementali ed innovative delle tecnologie utilizzate. Gli obiettivi di miglioramento dei processi sono stabiliti in base agli obiettivi di business dell'organizzazione. Essi sono quindi definiti, misurati e revisionati di continuo per riflettere eventuali cambiamenti negli obiettivi di business dell'organizzazione. La caratteristica più saliente del livello di maturità 5 consiste nel tipo di varianza statistica indirizzata dalle azioni di miglioramento dei processi. Nel livello di maturità 4 sono indirizzate le "cause speciali" che producono varianze sui processi e ne impediscono la predicibilità statistica dei risultati. Nel livello di maturità 5 sono indirizzate le "cause comuni" e sono modificati i processi stessi per migliorarne le performance e mantenere la predicibilità dei risultati. Approccio continuo (continuous) La rappresentazione continua permette di selezionare una o più aree di processi (Process Area) e di migliorare i processi che vi fanno parte. Questo tipo di rappresentazione utilizza i livelli di Capability per valutare il livello di maturità raggiunta nell'area selezionata.
Figura: Modello CMMI "Continuous" (SEI) L'approccio continuo è più flessibile in quanto permette di intervenire sui processi più critici, quelli che maggiormente interessano l'organizzazione, tralasciando quelli meno importanti. In questo approccio sono definiti quattro livelli di "capability":
Aree di processo (KPAs) Per ciascun livello di maturità è definito un insieme di "pratiche" che permettono, quando eseguire correttamente, di raggiungere gli obiettivi definiti e considerati importanti per l'area stessa. Le pratiche sono azioni da eseguire per raggiungere gli obiettivi. Il modello CMMI definisce le KPA come aree di processo focalizzate su specifici ambiti. Il grado di maturità dei processi è definito su di una scala a cinque livelli. A ciascun livello di maturità sono associate aree di competenza (KPA - Key Process Area).
IDEAL: Implementazione del modello IDEAL è la metodologia per il miglioramento dei processi definito dal Software Engineering Institute (SEI) relativamente al modello CMMI. IDEAL è l'acronimo che identifica le fasi del processo definito: Initiating, Diagnosing, Establishing, Acting e Learning.
Figura: Modello IDEAL per implementare CMMI (SEI). L'approccio si sviluppa con una fase Iniziale ed una sequenza di fasi successive che si sviluppano ciclicamente: Diagnosi del sistema attuale,Predisposizione di un piano di attività, Esecuzione del piano, Valutazione dei risultati raggiunti nel ciclo attuale per impostare il ciclo successivo. Fasi del ciclo IDEAL In breve, le fasi previste sono: Initiating: la fase di avvio vede il coinvolgimento dell'intera struttura manageriale dell'organizzazione per raggiungere il consenso totale sul progetto di trasformazione: stabilire obiettivi, definire ruoli e responsabilità, concordare piani, assicurare risorse e tecnologie. Diagnosing: nella fase successiva si valuta il "gap" esistente tra lo stato attuale ("As is") e quello finale ("To be"), obiettivo da raggiungere. La valutazione è effettuata tramite una metodologia consolidata (Assessment) più o meno formale a seconda delle necessità (Appraisal di tipo C, B o A). Quella di tipo A è una valutazione formale, richiede tempi e risorse economiche maggiori ed è svolta secondo la metodologia SCAMPI. Quelle di tipo B e C sono meno formali e richiedono tempi e risorse inferiori. Establishing: quindi si definiscono le priorità di intervento sulle aree di miglioramento identificate nel corso della valutazione precedente. Si realizza un vero e proprio piano di miglioramento (Process Improvement Plan). Acting: le attività previste dal piano tendono a stabilire nuovi standard, a progettare processi e procedure ottimizzate, a introdurre metriche e misurazioni, a definire ruoli e responsabilità adeguate alle nuove esigenze, a formare il personale secondo le nuove politiche ecc. Il tutto è sperimentato nella pratica per valutarne l'efficacia. Learning: la fase conclusiva è finalizzata a identificare gli approcci e le esperienze più efficaci, quelli che hanno fornito maggiori e migliori risultati per proporli nelle fasi del ciclo successivo, se previsto. Si può così iniziare, se necessario, un ciclo successivo con nuovi obiettivi di miglioramento. Un modello sempre valido al miglioramento rimane quello di Deming composto dalle quattro fasi classiche: Plan, Do, Check, Act. SCAMPI: Valutazione del livello di maturità La valutazione del livello di maturità (o di capability) raggiunto dall'organizzazione è un elemento importantissimo della metodologia CMMI. Essa permette infatti di determinare il livello raggiunto, di evidenziare eventuali scostamenti (gap) rispetto al modello da indirizzare con azioni opportune, di rendere noto all'esterno la correttezza delle pratiche di gestione adottate e di soddisfare al meglio, in ultima analisi, le necessità dei clienti. La valutazione deve essere univoca e oggettiva. Ciò è garantito dall'aderenza ai requisiti definiti nell'Appraisal Requirements for CMMI (ARC). la metodologia di valutazione è detta SCAMPI (Standard CMMI Appraisal Method for Process Improvement).
Figura: Modello di valutazione SCAMPI. La metodologia prevede tre diversi livelli di valutazione (A, B, C). SCAMPI di Classe A è il metodo più rigoroso ed è l'unico che fornisce risultati numerici. Esso va in profondità e si concentra su specifiche aree e processi. SCAMPI di Classe B è un metodo meno rigoroso, più ampio e meno profondo. Si utilizza fondamentalmente per valutare il miglioramento e individuare le aree di intervento. SCAMPI di Classe C, infine, è il metodo meno rigoroso, più ampio e meno profondo. Si utilizza per avere una valutazione di massima sullo stato di un'area di processo (o di più aree di processo) e per formulare piani di miglioramento. Benefici La tabella che segue riassume i maggiori vantaggi conseguiti dalle organizzazioni che hanno adottato il modello CMMI (fonte SEI).
|
News/Articoli/Libri Collaudo e qualità del software Sviluppare software oggi in Italia ...
Collaborazioni Associazioni
Collegamenti utili/Link
|
Ercole Colonese © 2005-2013 | Home | Mappa del sito | Pubblicazioni | Chi sono | Info | |