Il Capability Maturity Model Integration (CMMI) è un “programma” di formazione e valutazione per il miglioramento a livello di processo gestito dal CMMI Institute.

Bisogna prima introdurre il concetto di maturità dei processi. Questa nozione è abbastanza intuitiva. La probabilità di portare a termine un progetto dipende dalla maturità del progetto e la maturità dipende dal grado di controllo che si ha sulle azioni che si vanno a svolgere per realizzare il progetto.

Si ha quindi che:

Risulta quindi essenziale ragionare sulla maturità del processo.

La maturità del processo è definita tramite un insieme di livelli di maturità con associate metriche per gestire i processi, questo è detto Capability Maturity Model (CMM). In altri termini il modello CMM è una collezione dettagliata di best practices che aiutano le organizzazioni a migliorare e governare tutti gli aspetti relativi al processo di sviluppo, dalla gestione dei rischi al testing, dal design al project management, etc…

Un processo migliore porta ad un prodotto migliore.

La sotria dei CMMs parte dagli anni 90 e porta alla versione del 2018 che andremo ad analizzare.

Analizziamo quindi nel dettaglio il modello:

Untitled

All’interno del diagramma (che rappresenta letteralmente un documento) notiamo:

Per capire quanto un processo software è organizzato secondo questo standard bisogna “mappare” quali goals e quali pratiche si stanno perseguendo e seguendo e usare CMMI non solo come “ispirazione” ma come vero e proprio standard per definire le azioni da svolgere nonchè per confrontare il nostro operato e studiarlo qualitativamente. Lo studio qualitativo mi permette di stabilire la maturità dei progetti, secondo un certo livello di compliance, detto CMMI level. Tale qualità che può essere certificata da enti certificatori appositi (si ha anche una repository pubblica con i livelli di compliance di diversi progetti di organizzazioni famose).

Studiamo a fondo questi livelli di maturità e la loro codifica.

Si hanno due linee di sviluppo / miglioramento: