Modello di maturità delle capacità (CMM) e suoi livelli nell'ingegneria del software
Che cos'è CMM?
Il modello di maturità delle capacità viene utilizzato come punto di riferimento per misurare la maturità del processo software di un'organizzazione.
CMM è stato sviluppato presso il Software Engineering Institute alla fine degli anni '80. È stato sviluppato a seguito di uno studio finanziato dall'aeronautica americana come modo per valutare il lavoro dei subappaltatori. Later basato sul modello CMM-SW creato nel 1991 per valutare la maturità dello sviluppo del software, molti altri modelli sono integrati con CMM-I e sono
Che cosa sono i livelli del modello di maturità delle capacità (CMM)?
- Iniziale
- Ripetibile/gestito
- Definito
- Gestito quantitativamente
- Ottimizzazione della
Cosa succede ai diversi livelli di CMM?
Livelli | Attività | Vantaggi |
---|---|---|
Livello 1 Iniziale |
|
Nessuno. Un progetto è Total Chaos |
Livello 2 gestito |
|
|
Livello 3 definito |
|
|
Livello 4 Gestito quantitativamente |
|
|
Ottimizzazione di livello 5 |
|
|
Il diagramma seguente fornisce una rappresentazione pittorica di ciò che accade a diversi livelli CMM
Quanto tempo ci vuole per implementare la CMM?
Il CMM è il processo più auspicabile per mantenere la qualità del prodotto per qualsiasi azienda di sviluppo software, ma la sua implementazione richiede poco più tempo del previsto.
- L'implementazione della CMM non avviene dall'oggi al domani
- Non è semplicemente una “documentazione”.
- I tempi tipici per l'implementazione sono
- mesi 3-6 -> per la preparazione
- mesi 6-12 -> per l'attuazione
- 3 mesi -> per la preparazione alla valutazione
- 12 mesi ->per ogni nuovo livello
Struttura interna della CMM
Ogni livello in CMM è definito in area di processo chiave o KPA, ad eccezione del livello 1. Ciascun KPA definisce un gruppo di attività correlate che, se eseguite collettivamente, raggiungono una serie di obiettivi considerati vitali per migliorare la capacità del software
Per i diversi livelli di CMM, esistono una serie di KPA, ad esempio per il modello CMM-2, i KPA lo sono
- REQM: gestione dei requisiti
- PP-Pianificazione del progetto
- PMC- Monitoraggio e controllo del progetto
- SAM - Gestione dei contratti con i fornitori
- Processo PPQA e garanzia della qualità
- Gestione della configurazione CM
Allo stesso modo, per altri modelli CMM, hai KPA specifici. Per sapere se l'implementazione di un KPA è efficace, duratura e ripetibile, viene mappata sulla base seguente
- Impegno a eseguire
- Capacità di eseguire
- Le attività si svolgono
- Misurazione e analisi
- Verifica dell'implementazione
Limitazioni dei modelli CMM
- CMM determina cosa dovrebbe affrontare un processo invece di come dovrebbe essere implementato
- Non spiega ogni possibilità di miglioramento del processo software
- Si concentra sulle questioni relative al software ma non considera la pianificazione strategica aziendale, l'adozione di tecnologie, la creazione di linee di prodotti e la gestione delle risorse umane
- Non indica in quale tipo di attività dovrebbe svolgersi un'organizzazione
- CMM non sarà utile nel progetto che sta attraversando una crisi in questo momento
Perché utilizzare la CMM?
Oggi CMM funge da “sigillo di approvazione” nel settore del software. Aiuta in vari modi a migliorare la qualità del software.
- Guida verso un processo standard ripetibile e quindi riduce il tempo di apprendimento su come portare a termine le cose
- Praticare CMM significa praticare il protocollo standard per lo sviluppo, il che significa che non solo aiuta il team a risparmiare tempo, ma offre anche una visione chiara di cosa fare e cosa aspettarsi
- Le attività di qualità si integrano bene con il progetto piuttosto che essere pensate come un evento separato
- Funziona come un pendolare tra il progetto e il team
- Gli sforzi di CMM sono sempre rivolti al miglioramento del processo
Sintesi
La CMM è stata introdotta per la prima volta alla fine degli anni '80 nell'aeronautica americana per valutare il lavoro dei subappaltatori. Later in poi, con la versione migliorata, è stato implementato per monitorare la qualità del sistema di sviluppo del software.
L'intero livello CMM è diviso in cinque livelli.
- Livello 1 (Iniziale): dove i requisiti del sistema sono solitamente incerti, fraintesi e non controllati. Il processo è solitamente caotico e ad hoc.
- Livello 2 (Gestito): stima del costo, della pianificazione e della funzionalità del progetto. Gli standard software sono definiti
- Livello 3 (Definito): garantisce che il prodotto soddisfi i requisiti e l'uso previsto
- Livello 4 (Gestito quantitativamente): gestisce statisticamente i processi e i sottoprocessi del progetto
- Livello 5 (Maturità): identificare e implementare nuovi strumenti e miglioramenti dei processi per soddisfare le esigenze e gli obiettivi aziendali