Cos'è CMM?
Il Capability Maturity Model viene utilizzato come benchmark per misurare la maturità del processo software di un'organizzazione.
CMM è stato sviluppato presso l'istituto di ingegneria del software alla fine degli anni '80. È stato sviluppato a seguito di uno studio finanziato dall'aeronautica militare statunitense per valutare il lavoro dei subappaltatori. Successivamente, sulla base del modello CMM-SW creato nel 1991 per valutare la maturità dello sviluppo del software, molti altri modelli sono integrati con CMM-I che sono
In questo tutorial impareremo,
- Che cosa sono i livelli del modello di maturità delle capacità (CMM)?
- Cosa succede a diversi livelli di CMM?
- Quanto tempo ci vuole per implementare CMM?
- Struttura interna della CMM
- Limitazioni dei modelli CMM
- Perché utilizzare CMM?
Che cosa sono i livelli del modello di maturità delle capacità (CMM)?
- Iniziale
- Ripetibile / Gestito
- Definito
- Gestito quantitativamente
- Ottimizzazione
Cosa succede a diversi livelli di CMM?
Livelli | Attività | Benefici |
---|---|---|
Livello 1 iniziale |
| Nessuna. 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 di CMM
Quanto tempo ci vuole per implementare CMM?
CMM è il processo più desiderabile per mantenere la qualità del prodotto per qualsiasi azienda di sviluppo software, ma la sua implementazione richiede poco più di quanto previsto.
- L'implementazione della CMM non avviene dall'oggi al domani
- Non è solo un semplice "lavoro di ufficio".
- I tempi tipici per l'implementazione sono
- 3-6 mesi -> per la preparazione
- 6-12 mesi -> per l'implementazione
- 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. Ogni KPA definisce un cluster di attività correlate, che se eseguite collettivamente raggiunge una serie di obiettivi considerati vitali per migliorare le capacità del software
Per diversi livelli di CMM, ci sono set di KPA, ad esempio per CMM modello-2, KPA sono
- REQM- Gestione dei requisiti
- PP- Pianificazione del progetto
- PMC- Monitoraggio e controllo del progetto
- SAM - Gestione degli accordi con i fornitori
- Processo PPQA e garanzia di qualità
- Gestione della configurazione CM
Allo stesso modo, per altri modelli CMM, hai KPA specifici. Per sapere se l'attuazione di un KPA è efficace, duraturo e ripetibile, è mappato sulla base seguente
- Impegno a esibirsi
- Capacità di esibirsi
- Le attività si svolgono
- Misurazione e analisi
- Verifica dell'implementazione
Limitazioni dei modelli CMM
- CMM determina ciò che un processo dovrebbe affrontare invece di come dovrebbe essere implementato
- Non spiega tutte le possibilità di miglioramento del processo software
- Si concentra sulle questioni relative al software ma non considera la pianificazione aziendale strategica, l'adozione di tecnologie, la definizione della linea di prodotti e la gestione delle risorse umane
- Non dice in che tipo di attività dovrebbe essere un'organizzazione
- CMM non sarà utile nel progetto che sta attraversando una crisi in questo momento
Perché utilizzare CMM?
Oggi CMM funge da "sigillo di approvazione" nell'industria del software. Aiuta in vari modi a migliorare la qualità del software.
- Guida verso processi standard ripetibili 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 fornisce anche una visione chiara di cosa fare e cosa aspettarsi
- Le attività di qualità si adattano bene al progetto piuttosto che pensate come un evento separato
- Funge da pendolare tra il progetto e il team
- Gli sforzi di CMM sono sempre diretti al miglioramento del processo
Sommario
CMM è stato introdotto per la prima volta alla fine degli anni '80 nell'aeronautica militare americana per valutare il lavoro dei subappaltatori. Successivamente, con una versione migliorata, è stato implementato per monitorare la qualità del sistema di sviluppo software.
L'intero livello CMM è suddiviso in cinque livelli.
- Livello 1 (iniziale): dove i requisiti del sistema sono generalmente incerti, fraintesi e incontrollati. Il processo è generalmente caotico e ad hoc.
- Livello 2 (gestito): stima dei costi, della pianificazione e delle funzionalità del progetto. Gli standard del software sono definiti
- Livello 3 (definito): assicura 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