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

Modello di maturità delle capacità

Che cosa sono i livelli del modello di maturità delle capacità (CMM)?

  1. Iniziale
  2. Ripetibile/gestito
  3. Definito
  4. Gestito quantitativamente
  5. Ottimizzazione della

Livelli del modello di maturità delle capacità (CMM).

Cosa succede ai diversi livelli di CMM?

Livelli Attività Vantaggi
Livello 1 Iniziale
  • Al livello 1, il processo è solitamente caotico e ad hoc
  • Una capacità si caratterizza sulla base degli individui e non dell'organizzazione
  • Progresso non misurato
  • I prodotti sviluppati sono spesso programmati e fuori budget
  • Ampie variazioni nella pianificazione, nei costi, nella funzionalità e negli obiettivi di qualità
Nessuno. Un progetto è Total Chaos
Livello 2 gestito
  • Gestione dei requisiti
  • Stimare i parametri del progetto come costo, pianificazione e funzionalità
  • Misurare i progressi effettivi
  • Sviluppare piani e processi
  • Vengono definiti gli standard del progetto software
  • Identificare e controllare i prodotti, segnalare i problemi, le modifiche, ecc.
  • I processi possono differire tra i progetti
  • I processi diventano più facili da comprendere
  • I manager e i membri del team dedicano meno tempo a spiegare come vengono fatte le cose e più tempo a eseguirle
  • I progetti sono meglio stimati, meglio pianificati e più flessibili
  • La qualità è integrata nei progetti
  • I costi potrebbero essere elevati inizialmente, ma diminuiranno nel tempo
  • Richiedi ulteriori pratiche burocratiche e documentazione
Livello 3 definito
  • Chiarire le esigenze del cliente
  • Risolvere i requisiti di progettazione, sviluppare un processo di implementazione
  • Garantisce che il prodotto soddisfi i requisiti e l'uso previsto
  • Analizzare le decisioni in modo sistematico
  • Correggere e controllare potenziali problemi
  • Il miglioramento dei processi diventa lo standard
  • La soluzione passa dall'essere "codificata" all'essere "ingegnerizzata"
  • I cancelli di qualità compaiono durante tutto lo sforzo del progetto con l'intero team coinvolto nel processo
  • I rischi sono mitigati e non colgono la squadra di sorpresa
Livello 4 Gestito quantitativamente
  • Gestisce statisticamente i processi e i sottoprocessi del progetto
  • Comprendere le prestazioni del processo, gestire quantitativamente il progetto dell'organizzazione
  • Ottimizza le prestazioni dei processi in tutta l'organizzazione
  • Promuove la gestione quantitativa dei progetti in un'organizzazione.
Ottimizzazione di livello 5
  • Rilevare ed eliminare tempestivamente la causa dei difetti
  • Identificare e implementare nuovi strumenti e miglioramenti dei processi per soddisfare le esigenze e gli obiettivi aziendali
  • Promuove l'innovazione e l'implementazione organizzativa
  • Dà impulso all'analisi causale e alla risoluzione

Il diagramma seguente fornisce una rappresentazione pittorica di ciò che accade a diversi livelli CMM

Diversi livelli di 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

  1. Impegno a eseguire
  2. Capacità di eseguire
  3. Le attività si svolgono
  4. Misurazione e analisi
  5. 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