Differenza tra Capability Maturity Model Integration (CMMI) e Testing Maturity Model (TMM)

Differenza tra Capability Maturity Model Integration (CMMI) e Testing Maturity Model (TMM)

Capability Maturity Model Integration (CMMI)

Il CMMI è un modello per il miglioramento dei processi di sviluppo prodotti e servizi. Consiste di “best practices” che indirizzano le attività di sviluppo e manutenzione e che coprono l’intero ciclo di vita, dal concepimento del prodotto al suo rilascio sul mercato e in produzione presso i clienti.

Realizzato dal Software Engineering Insitute (SEI), il modello di processo da indicazioni di quanto debba essere fatto per raggiungere determinati livelli di maturità in un’organizzazione (nel nostro caso in un’organizzazione che sviluppa software).

Il modello si basa su cinque livelli di maturità crescenti (da 1 a 5).

L’attuale versione del modello (v1.2) definisce una serie di sottoprocessi (dette Aree di processo – KPA) da implementare a seconda del livello di maturità da raggiungere.

Livello di maturità 1: Eseguito. Nel primo livello in realtà non esistono processi definiti completamente o comunque questi non sono seguiti nella realizzazione dei progetti. La realizzazione è fatta in base alle competenze dei singoli ed i risultati, che in alcuni casi possono essere anche ottimi, non sono ripetibili in altri progetti realizzati da altre persone.

Livello di maturità 2: Gestito. Nel secondo livello si propongono i processi tipici gestionali: Gestione dei requisiti, Pianificazione del progetto, Monitoraggio e controllo del progetto, Gestione dei fornitori, Valutazione e analisi, Assicurazione qualità per i prodotti e per i processi, Gestione della configurazione.

Livello di maturità 3: Definito. Nel terzo livello si passa alla standardizzazione dei processi. Tutti i progetti utilizzano gli stessi processi che sono adattati alle diverse esigenze dei singoli progetti in base a regole stabilite. Le aree di processo indirizzate nell’attuale versione del modello sono ben 14, tra cui i processi di verifica e validazione (testing): Sviluppo dei requisiti; Soluzione tecnica; Integrazione del prodotto; vevifica; validazioue; Coinvolgimento nel processo aziendale; Definizione del processo aziendale; Addestramento; Gestione integrata del progetto; Gestione integrata dei fornitori; Valutazione dei rischi; Analisi e risoluzione delle decisioni; Ambiente aziendale per l’integrazione; Definizione integrata del team di sviluppo.

Livello di maturità 4: Gestito quantitativamente. Il quarto livello prevede la gestione dei progetti in base a risultati quantitativi, oltre che qualitativi. Tutto è misurato ed i processi sono valutati in base ai risultati ottenuti. Le aree di processo indirizzate sono: Prestazione del processo aziendale; Gestione quantitativa del progetto.

Livello di maturità 5: Ottimizzato. Nell’ultimo livello i processi sono gestiti in ottica di miglioramento continuo. Le aree di processo indirizzate sono: Innovazione e spiegamento aziendale; Analisi e risoluzione causale.

Per ciascun livello di maturità sono definiti obiettivi generali ed obiettivi specifici da raggiungere. Inoltre sono proposte pratiche generiche e pratiche specifiche da seguire che possono essere interpretate come “best practices”.

Esempio

A titolo di esempio si riporta quanto previsto dal modello per il processo di Verifica e per quello di Validazione, corrispondenti al processo di collaudo (test statico e test dinamico).

Il modello definisce obiettivi specifici (SG) e pratiche specifiche (SP) per ciascun processo. Definisce anche obiettivi generici (GG), validi per tutti i processi e pratiche generiche (GP) anch’esse valide per tutti i processi.

Essi sono elencate qui di seguito. Per ovvi motivi di semplificazione non viene fornito alcun dettaglio sui singoli elementi, consigliando il lettore di approfondire il tema direttamente tramite il modello.

Differenza tra Capability Maturity Model Integration (CMMI) e Testing Maturity Model (TMM)

Testing Maturity Model (TMM)

Oltre al modello precedente è stato definito anche un modello di maturità per il processo di testing (TMM) progettato per aiutare le organizzazioni che sviluppano software a valutare e migliorare il processo di collaudo. Il modello TMM è complementare al modello CMM di cui riprende e indirizza in maniera più dettagliata gli elementi critici per il responsabile dei collaudi (test manager), per gli specialisti di testing e per i coloro che si occupano della qualità del software. Il processo di collaudo come definito dal modello TMM indirizza in maniera più estesa tutte le attività inerenti la qualità del software. Gli autori dichiarano che l’utilizzo del modello al processo di testing ha un impatto positivo sulla qualità del prodotto finale, sulla produttività e sul tempo di realizzazione dei progetti.

Anche il modello TMM prevede cinque livelli di maturità del processo di collaudo. Ecco, a titolo di esempio, gli obiettivi dei singoli livelli.

Livello 1: Initial

Nessun obiettivo specifico.

Livello 2: Definition

Istituzionalizzare metodi e tecniche di base per il testing; Iniziare la pianificazione del processo di testing; Sviluppare gli obiettivi di testing e debugging.

Livello 3: Integration

Controllare e monitorare il processo di testing; Integrare il processo di testing nel ciclo di vita del software; Stabilire un programma di formazione tecnica; Stabilire un’organizzazione per il collaudo.

Livello 4: Management and Measurement

Sviluppare un processo per la valutazione della qualità del software; Stabilire un programma di misurazione del testing; Stabilire un programma di revisione per l’intera organizzazione.

Livello 5: Optimization/Defect Prevention and Quality Control

Ottimizzare il processo di testing; Implementare le misure della qualità del software; Applicare la prevenzione dei difetti basandosi sui dati disponibili.

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *