SEI-CMM
La NormaSEI-CMM è la più "anziana" fra le metodologie orientate alla valutazione di sistemi software.
E’ infatti nata nel 1986 in ambiente IBM ad opera di W. Humphrey, che sviluppò un metodo per valutare il livello di capacità dei fornitori del Ministero della Difesa USA.
La validità ed utilità dell’approccio, che prevede interviste basate su questionari predefiniti e indagini mirate sulle modalità di conduzione dei processi di sviluppo del software, sono stati tali da farlo adottare e pubblicare dal S.E.I. (Software Engineering Institute), che lo ha diffuso a livello mondiale.
C.M.M. è divenuto poi la base da cui si sono evolute altre metodologie di valutazione, arricchitesi poi di tecniche di indagine più sofisticate, di metriche più complete e di estensioni alle attività di supporto.
Fra queste si possono ricordare in particolare "BOOTSTRAP" ed "AMI", diffusi a livello europeo, "TICK-IT" e "TRILLIUM", diffusi nel mondo anglosassone.
Livelli di Maturità
I risultati delle attività di valutazione sono sintetizzati, attraverso specifiche procedure di elaborazione, in un voto che esprime il livello di maturità rilevato.
Il voto può assumere un valore numerico compreso fra 1 e 5, e ad ogni valore è anche associato un giudizio:
1) INIZIALE: i processi software sono caratterizzati da assenza di regole e, in alcuni casi, sono sviluppati in modo "caotico". Solamente pochi processi sono ben definiti, ed il successo dei progetti dipende dall’iniziativa individuale.
2) RIPETIBILE: i processi principali sono in linea di massima ben definiti, in modo da controllarne il costo, i tempi e le funzioni. I risultati dei processi sono riproducibili.
3) DEFINITO: il processo software, sia di tipo organizzativo che di produzione, è documentato e standardizzato. Tutti i progetti di sviluppo e di manutenzione del software sono gestiti in accordo con le procedure e standard aziendali.
4) GESTITO: vengono raccolte ed analizzate misure dettagliate per ogni processo software. Sia i processi che i prodotti sono studiati e controllati.
5) OTTIMIZZATO: i risultati delle misurazioni e l’utilizzo di idee e tecnologie innovative consentono di ottenere il miglioramento continuo dei processi.
I criteri di assegnazione alle diverse classi sono molto severi. Si stima che l’85% delle organizzazioni informatiche siano in Italia al livello 1 o che addirittura non soddisfino nemmeno quei requisiti minimi, e che meno dell’ 1% possa ritenere di collocarsi al Livello 4.
La presenza dei requisiti richiesti dalla Certificazione ISO 9000 è considerata un pre-requisito per il livello 3.