Ercole Colonese

L’ESPERIENZA AL VOSTRO SERVIZIO!

Consulenza informatica ed organizzativa

 

 

home

sviluppo software

consulenza

didattica

chi sono

 info

 

Sviluppare software oggi …

Stonehenge sunset

 

In questa pagina:

 

Metodi, tecniche, strumenti e metriche a supporto ...

Metodi e tecniche

Metriche del software

Un esempio concreto

Metriche del software

 

Un esempio concreto

Supponiamo di aver definito gli obiettivi aziendali riportati in precedenza.

Obiettivo  Descrizione

 O1         Capacità dell’organizzazione di far fronte alle esigenze dei progetti garantendo processi, mezzi e risorse adeguati;

 O2         Capacità dei progetti di rispettare i tempi, i costi ed il livello di qualità atteso;

 O3         Capacità di pianificare i progetti con stime corrette e realistiche;

 O4         Capacità di controllare puntualmente lo stato di andamento dei progetti e di reagire prontamente nei casi di deviazione dai piani;

 O5         Capacità dell’organizzazione di sviluppare prodotti con la qualità attesa;

 O6         Capacità di migliorare i processi per aumentare le capacità descritte sopra.

 

Le metriche adoperate per tenere sotto controllo gli obiettivi aziendali di cui sopra sono quelle riportate qui di seguito. Sperimentate con successo, possono essere adattate alle esigenze particolari di ciascuna azienda che le voglia utilizzare. Per motivi di semplicità l'indicatore (cosa misurare) è espresso in linguaggio naturale. Gli algoritmi di misurazione possono essere ricavati facilmente da ogni esperto di metriche.

Categoria: Metriche relative all'organizzazione (O1)

Metrica

Cosa si misura

Adeguatezza della struttura organizzativa alle esigenze dei progetti (disponibilità delle risorse richieste)

Disponibilità delle risorse pianificate (Numero e Permanenza di persone nel progetto).

Adeguatezza delle risorse disponibili (Competenza, Esperienza, Produttività rispetto a quelle richieste).

Impatti sul cliente causati dalle persone (Numero di rilievi fatti dal cliente).

 

Categoria: Metriche di processo (O6)

Metrica

Cosa si misura

Aderenza al processo (da parte dei progetti)

Livello di aderenza del progetto ai processi aziendali (Numero di non conformità rilevate nei progetti).

Efficacia dei processi

Livello di efficacia dei processi (Numero di non conformità relative ad obiettivi dei progetti non raggiunti e da addebitate ai processi stabiliti).

Esempio: Metodi di stima non adeguati, Dati statistici incompleti o errati, Checklist incomplete o errate, Template non adeguati, Metodi e tecniche non adeguate, Strumenti non adeguati, ecc.).

 

Categoria: Metriche di progetto (O2, O4)

Metrica

Cosa si misura

Rispetto dei tempi di consegna (O2, O4) Ritardo nelle consegne (Numero di giorni di ritardo rispetto ai piani delle consegne[1]).
Contenimento dei costi (O3, O4) Extracosti (Scostamento percentuale dei costi a consuntivo rispetto ai preventivi[2]).
Raggiungimento della qualità (O4, O5)

Rilascio dei deliverable previsti (Numero di deliverable rilasciati rispetto a quelli previsti).

Qualità dei deliverable (Numero di rilievi fatti dal cliente in fase di consegna, approvazione,  collaudo)

 

Categoria: Metriche di prodotto nelle varie fasi del ciclo di vita (O5)

Metrica

Cosa si misura

- Analisi:

Completezza e corret-tezza dell’interpre-tazione dei requisiti

Qualità dei requisiti (Numero di errori rilevati durante l’intero ciclo di sviluppo ed imputabili ad una incompleta o non corretta interpretazione dei requisiti).

- Progettazione:

Qualità della progettazione

Livello di strutturazione dell’architettura applicativa.

Livello di coesione dei componenti applicativi.

Livello di disaccoppiamento dei componenti applicativi.

Livello di strutturazione dei dati (information hiding).

Livello di aderenza agli standard tecnologici richiesti (OO, CORBA, SOA, SOAP, ecc.).

- Codifica:

Qualità del software

Livello di aderenza del codice agli standard di codifica (strutturazione, commenti, dimensioni, ecc.).

- Rilascio:

Difettosità residua (del software rilasciato in esercizio)

Numero di difetti rilasciati in produzione/Dimensioni del software (FP o KLocs)[3].

- Tutte le fasi:

Qualità della documentazione prodotta (documenti tecnici e manuali)

Completezza della documentazione (documenti prodotti rispetto a quelli previsti).

Aderenza agli standard documentali applicabili (numero di anomalie rilevate).

Correttezza della documentazione (numero di anomalie rilevate)

- Collaudo:

Efficacia dei test

 

Efficienza dei test (produttività)

Livello di copertura dei test rispetto ai requisiti (Matrice di tracciabilità dei requisiti).

Numero di errori rilevati rispetto al numero previsto (ricavato dalla curva di rimozione degli errori).

Numero medio di errori rilevati per caso di test.

Giorni persona spesi per caso di test eseguito

[1] E’ importante analizzare le cause dei ritardi per verificare se il problema è stato generato da stime iniziali non corrette, da una pianificazione non realistica o da una conduzione del progetto non adeguata.

[2] Nel caso di scostamento dei costi consuntivi rispetto alle stime iniziali occorre distinguere se esso (lo scostamento) sia dovuto ad una errata stima iniziale oppure ad uno “sforamento” vero e proprio del budget.

[3] Il numero dei difetti (errori) residui nel software rilasciato in esercizio è calcolato estrapolandolo dall’andamento della curva di rimozione dei difetti nelle fasi del ciclo di sviluppo. La rimozione degli errori è effettuata tramite le revisioni tecniche interne prima (fasi alte del ciclo) e con le attività di test dopo. L’andamento della curva mostra infatti quale sarebbe il numero di errori rimossi nella fase successiva a quella dei test e del collaudo finale: tale fase coincide proprio con l’utilizzo del software da parte degli utenti. Presupposto per l’utilizzo delle curve è quella della registrazione dei difetti rilevati in tutte le fasi del ciclo di sviluppo ed una corretta progettazione ed esecuzione dei test.

 

Sviluppare software oggi ...

Il contesto

Norme e modelli

Professioni e certificazioni

Metodologia di sviluppo software

Competenze delle persone

Processi maturi

Metodi, tecniche, metriche e strumenti

Metodi e tecniche:

1. Principi di base

2. Tecniche di sviluppo

3. Tecniche di verifica e validazione

4. Tecniche di controllo della qualità

5. Meta-metodi

6. Stili e pattern

Tecnologie di sviluppo:

1. Linguaggi

Strumenti

Metriche

** Esempio di metriche

10 best practice del software

 

 

Copyright © 2005-2007 - Ultimo aggiornamento: 31 luglio 2007