Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Alfonso Fuggetta
Quali sono le cause di questa difficoltà e quali i fattori che influenzano i processi di
valutazione della qualità dei beni e servizi? Non è facile fornire una visione sintetica del
problema, anche perché nella stessa comunità scientifica esistono differenze di opinione
anche molto marcate. Appare comunque possibile individuare un certo insieme di
concause e fattori che rendono complesso e critico il processo valutazione della qualità:
1
fortemente innovativi e per i quali non esistono significativi termini di
confronto?
2
usare” per un utente, può non esserlo per altri. Il dibattito tra interfacce
grafiche (à la Windows) e interfacce tradizionali (per esempio DOS) è
ancora in corso e probabilmente non terminerà molto presto.
I contributi forse più noti per ciò che concerne la qualità sono gli standard dell’ISO
relativi ai processi produttivi e di servizio, e ai prodotti software. In particolare, la serie
di standard ISO 9000 [5] si occupa di definire le caratteristiche e i requisiti di un sistema
di qualità aziendale (standard di processo), mentre lo standard ISO 9126 [4] definisce
alcune nozioni generali concernenti la qualità dei prodotti software (standard di
prodotto). Si noti che mentre la serie di standard ISO 9000 ha una campo di applicazione
che va ben al di là dei processi di sviluppo del software, lo standard ISO 9126 è specifico
dei prodotti software. Vediamo ora sinteticamente le caratteristiche e la struttura di
questi due standard.
ISO 9000 è una collezione di documenti suddivisi in due macro categorie: linee guida e
standard veri e propri.
Gli standard della serie ISO 9000 sono tre (vedi Figura 1):
• ISO 9001: definisce il sistema per l’assicurazione di qualità per
un’azienda che svolge attività di progettazione, produzione, test,
installazione e fornitura di servizi di supporto.
3
• ISO 9002: come lo standard ISO 9001 ma non considera la fase di
progettazione.
• ISO 9003: si limita a considerare la fase di test..
Installazione e
Progettazione Produzione Test
servizi
ISO
9003
ISO 9002
ISO 9001
I tre standard citati in Figura 1 sono quindi alternativi: ciascuna azienda deve selezionare
il modello di qualità (e quindi lo standard) più vicino alle caratteristiche delle proprie
attività produttive o di servizio. Nel caso dello sviluppo di software lo standard utilizzato
è l’ISO 9001.
Al di là dei diversi livelli di copertura del processo aziendale, tutte e tre gli standard
hanno la stessa filosofia: essi descrivono i requisiti generali del sistema di controllo
utilizzato da un’azienda per verificare la qualità dei beni e servizi che essa offre
all’utenza. I requisiti contenuti negli standard della serie ISO 9000 non costituiscono di
per se stessi indicazioni puntuali su come il sistema di qualità debba essere realizzato.
Piuttosto, indicano l’obiettivo al quale l’azienda deve tendere. Come tali, sono il punto di
partenza per la realizzazione di un sistema di qualità aziendale, non certo il traguardo. La
trasformazione di tali requisiti in strutture organizzative e procedure operative richiede
un significativo lavoro da parte della singola azienda, che deve declinare i requisiti dello
standard all’interno della propria realtà.
Le linee guida sono state introdotte proprio per facilitare questo lavoro progettuale. Esse
coprono i seguenti argomenti:
• ISO 9000-1: Linee guida per la selezione degli standard ISO 9000.
• ISO 9000-2: Linee guida generali per l’applicazione degli standard della
serie ISO 9000.
• ISO 9000-3: Linee guida per l’applicazione dello standard ISO 9001 allo
sviluppo e manutenzione del software.
• ISO 9000-4: Linee guida per Dependability Programme Management.
4
• ISO 9004-1: Elementi di un sistema di qualità – linee guida generali.
• ISO 9004-2: Elementi di un sistema di qualità – linee guida per i servizi.
• ISO 9004-3: Elementi di un sistema di qualità – linee guida per i
materiali.
• ISO 9004-4: Elementi di un sistema di qualità – linee guida per il
processo di miglioramento.
Per meglio comprendere la natura degli standard della serie ISO 9000, vediamo due
esempi tratti dalla norma ISO 9001. Essi riguardano le attività di progettazione e la
verifica di conformità dei prodotti acquisiti dal fornitore e utilizzati per le attività di
produzione e/o fornitura di servizi all’utenza.
“4.4 Design control
4.4.1 General
The supplier shall establish and maintain documented
procedures to control and verify the design of the product in
order to ensure that the specified requirements are met.”
…
4.10 Inspection and testing
…
4.10.2 Receiving inspection and testing
4.10.2.1
The supplier shall ensure that incoming product is not used or
processed […] until it has been inspected or otherwise verified
as confoming to specified requirements. Verification of the
specified requirements shall be in accordance with the quality
plan and/or documented procedures.”
Questi esempi confermano che gli standard ISO 9000 non indicano direttamente come le
diverse attività di controllo di qualità devono essere svolte. Essi si limitano ad elencare
tutti i passaggi chiave che un’azienda deve prevedere per poter disporre di un efficace
sistema di qualità.
Uno dei principali requisiti che un’azienda deve soddisfare per poter rendere i propri
processi conformi allo standard ISO 9000 è la creazione del manuale di qualità. Tale
manuale descrive tutte le procedure che l’azienda si impegna ad utilizzare per soddisfare
i requisiti contenuti nelle norme ISO 9000.
Come qualsiasi altro standard, la conformità di un’azienda ai requisiti degli standard
della serie ISO 9000 può essere certificata da un organismo di certificazione accreditato.
La conformità viene riconosciuta attraverso l’emissione di un certificato che ha una
durata limitata nel tempo. Questo vuol dire che l’azienda che vuol mantenere la
certificazione ISO 9000 deve periodicamente risottomettersi alle attività di
certificazione.
5
Le attività di certificazione ISO 9000 vengono effettuate da organismi che sono
accreditati a svolgere tale ruolo per uno specifico settore di mercato (per esempio,
l’industria meccanica piuttosto che quella chimica). In Italia, l’ente che coordina e
governa le attività legate alla normazione e agli standard è l’UNI (Ente Nazionale
Italiano di Unificazione). L’UNI ha definito un Sistema Qualità Italia (illustrato in
Figura 2) che è organizzato su tre livelli come descritto nella didascalia della figura.
6
Gli istituti di accreditamento italiani citati in Figura 2 sono il SINAL e il SINCERT. Al
giugno 1998, gli organismi accreditati in Italia a rilasciare certificati nel settore EAC 33
(quello relativo alla IT) sono (fonte Sincert):
• ANCIS
• Ass. Nazionale per la Certificazione e la Qualità delle Imprese di Servizi
• CERMET Soc. Cons. a r.
• CNIM Comitato Nazionale Italiano per la Manutenzione
• Det Norske Veritas Italia S.r.l
• IMQ Istituto Italiano del Marchio di Qualità
• MACROSISTEMI S.n.c
• QUASER Istituto Italiano Qualità Servizi
• SGS ICSS.r.l. Servizi di Certificazione Internazionale
Quali sono le implicazioni che gli standard della serie ISO 9000 possono avere sulle
pubbliche amministrazioni? Sostanzialmente due:
1. Le PA possono richiedere ai propri fornitori la certificazione ISO 9000.
Tale richiesta serve a fornire una qualche garanzia alla PA circa la capacità
del fornitore di garantire adeguati livelli di qualità.
Come ultima osservazione va notato che la certificazione ISO 9000 non costituisce di
per se stessa una garanzia assoluta di affidabilità di un’azienda o ente. La certificazione
attesta che al momento della visita ispettiva sono stati riscontrati la presenza e l’utilizzo
di tutti gli elementi distintivi di un sistema di qualità. Ovviamente, risulta più difficile
verificare che tali elementi sono realmente vivi e presenti nelle quotidiane attività
dell’azienda. Nella scelta di un fornitore, quindi, la certificazione va considerata come
elemento utile ma certamente non decisivo.
1. Functionality:
• Suitability: coerenza delle funzioni offerte dal prodotto rispetto alle
esigenze dell’utenza.
• Accuracy: correttezza e precisione dei risultati prodotti.
7
• Interoperability: capacità del prodotto di interagire con altri sis temi
software.
• Compliance: conformità a standard, convenzioni o regolamenti rilevanti
per il settore applicativo del prodotto.
• Security: capacità del prodotto di prevenire accessi non autorizzati alle
informazioni e funzioni gestite dal prodotto.
2. Reliability:
• Maturity: distribuzione dei malfunzionamenti in funzione degli errori
presenti nel software.
• Fault tolerance: capacità di mantenere livelli predeterminati di prestazioni
anche in presenza di malfunzionamenti o utilizzi scorretti del prodotto.
• Recoverability: capacità del prodotto di ripristinare il livello appropriato
di prestazioni del prodotto e di recuperare tutte le informazioni rilevanti a
valle di un malfunzionamento del prodotto.
3. Usability:
• Understandability: facilità di comprensione per l’utenza dei concetti del
prodotto.
• Learnability: facilità di apprendimento del prodotto.
• Operability: facilità di utilizzo del prodotto da parte dell’utenza.
4. Efficiency:
• Time behaviour: tempi di risposta.
• Resource behaviour: utilizzo delle risorse di sistema.
5. Maintainability:
• Analysability: facilità con la quale è possibile localizzare un errore nel
codice del prodotto.
• Changeability: facilità con la quale è possibile cambiare il codice del
programma.
• Stability: livello del rischio di effetti indesiderati attraverso la modifica
del codice.
• Testability: sforzo necessario per verificare il programma.
6. Portability:
• Adaptability: capacità del prodotto di essere adattato a diversi ambienti
operativi.
• Installability: facilità di installazione del prodotto.
• Conformance: conformità a standard relativi alla portabilità.
• Replaceability: facilità con cui si può utilizzare il prodotto al posto di un
altro componente.
Oltre alla definizione di queste caratteristiche, lo standard ISO 9126 offre alcune linee
guida molto generali per il loro utilizzo. In particolare, le caratteristiche di qualità
devono essere tradotte in metriche concrete che permettano una valutazione quantitativa
della qualità del bene o servizio osservato. Queste metriche devono essere selezionate
tenendo conto delle specifiche caratteristiche del prodotto considerato. Per fare questo,
lo standard ISO 9126 propone uno schema di processo di valutazione che è rappresentato
8
in Figura 3. In funzione dei requisiti di qualità devono venire selezionate le metriche, i
valori di riferimento, i criteri di valutazione. Tutto ciò viene utilizzato per valutare i
diversi componenti del prodotto software sviluppato e per valutarne così le
caratteristiche di qualità.
Software
development
A0
Measurement
A0
Rating
A0
Assessment
A0
Quale può essere il contributo fornito dallo standard ISO 9126 al miglioramento della
qualità dei prodotti software? In realtà, questo standard ha più un significato simbolico
che pratico. Esso certamente mette in luce alcune caratteristiche salienti di un prodotto
software, anche se formulate in modo estremamente generico. Forse il contributo più
utile sta proprio nell’idea che queste caratteristiche generiche di qualità possono essere
tradotte in un concreto programma di misura e validazione solo attraverso un processo
che va a studiare le caratteristiche del prodotto, della struttura organizzativa che lo
9
produce e del mercato all’interno del quale si va a collocare. Queste osservazioni
verranno estensivamente riprese nella descrizione del paradigma GQM.
3. Le metriche
Ogni qual volta si vuole valutare la bontà di un bene o di un servizio risulta pressoché
indispensabile esprimere il giudizio attraverso una metrica [1]. Una metrica è una
funzione che permette di associare ad un attributo di un entità (per esempio l’altezza di
una persona) un valore numerico o simbolico (per esempio il numero 1.80 che esprime
in metri l’altezza della persona). Non esistono solo metriche numeriche. Quando
compiliamo un questionario di valutazione di un bene o di servizio ci troviamo spesso di
fronte a domande le cui risposte sono codificate attraverso un insieme di valori
predefiniti. Per esempio, se ci viene chiesto di valutare la cortesia è efficienza di un
servizio di assistenza all’utente, tipicamente le risposte possibili sono “ottimo”, “buono”,
“sufficiente” e “insufficiente”. Questa è una metrica che si basa su valori scalari e non
numerici.
10
Batini e Raiss propongono uno schema che sintetizza le tipologie di metriche elementari
disponibili (vedi Tabella 1).
11
Se il numero di potenziali metriche è così elevato, come fare a scegliere le metriche che
sono adatte e utili per risolvere uno specifico problema di misura? Va tenuto presente
che raccogliere dati e spesso estremamente costoso ed è quindi necessario limitare il
numero di metriche di cui si vuole studiare l’andamento. Serve quindi un metodo che ci
permetta di definire un programma di misura che minimizzi il numero di dati da
raccogliere in funzione dell’obiettivo di misura perseguito. A questo proposito, lo
standard ISO 9126 offre una qualche indicazione utile. Ma esso rimane ad un livello
estremamente generale. Un approccio che ricalca gli stessi principi ispiratori, ma che si
articola in maniera molto più concreta è il paradigma GQM che verrà descritto nel
prossimo paragrafo.
12
4. La definizione dei programmi di misura
Prestudy. This activity aims at collecting the information on the context where the measurement
activity has to be carried out. One must identify preconditions and constraints, strategic
objectives of the company, existing experiences and data, and characteristics of the
organization, product, and market.
Identification of GQM goals. Based on the description of the context, a set of goals for the
improvement activity are defined and ranked according to their relevance and importance to
the organization strategy.
Context
Prestudy characterization
Identification of GQM
GQM goals goals
Packaging of Experience
experiences packages
Production of the GQM plan. The identified goals are used as the starting point to create the GQM
plan, i.e., a structured document where each goal is associated with a set of metrics needed
to achieve the identified goals.
Production of the measurement plan. The measurement plan is the operational counterpart of the
GQM plan: the latter indicates what data we may want to collect, while the former indicates
how the data collection activity has to be carried out.
Collection and validation of data. This activity aims at collecting and evaluating process and product
data, according to the GQM and measurement plans.
Analysis of data. Collected data are analyzed to understand and evaluate the level of accomplishment
of the different goals that were initially selected.
Packaging of experiences. The experiences that have been gained in conducting the measurement
activity are packaged so that they can be reused in future projects.
Figura 4:struttura del processo GQM (da [2]).
13
Un programma di misura è costituito dall’insieme di informazioni che specificano quali
dati raccogliere e secondo quali modalità operative tale raccolta deve essere condotta
Per rispondere a queste sfide, GQM identifica innanzi tutto un processo che indica le fasi
secondo le quali procedere per definire il programma di misura e i prodotti intermedi che
tale processo deve generare (vedi Figura 4). I passi più importanti sono certamente la
identificazione dei goals (obiettivi) di misura, del GQM (cioè delle metriche da
raccogliere) e del measurement plan (cioè delle modalità secondo le quali raccogliere i
dati).
Per quanto riguarda l'identificazione dei goal e del GQM plan, GQM propone di
procedere secondo i seguenti passi:
14
similitudini, sinergie e priorità nella definizione del programma di
misura.
• Si procede quindi a dettagliare i goal attraverso l’uso di un abstractions
sheet (parte inferiore delle Tabelle 2 e 3). Nell’abstraction sheet si
dettagliano i fattori di qualità (Quality Factor) da studiare nell’ambito del
goal, i fattori di variazione (Variation Factor) che si suppone abbiano
un’influenza sui fattori di qualità, le ipotesi che in azienda si formulano
circa l’andamento dei fattori di qualità (Baseline Hypotheses) e
l’influenza che si stima abbiano sulle ipotesi i diversi fattori di variazione
identificati (Impact of Baseline Hypotheses). Queste informazioni
vengono dedotte intervistando le persone coinvolte nel processo o a
contatto con il prodotto considerato. Si noti che gli abstraction sheet
vengono sviluppati attraverso un approccio iterativo che raffina le
informazioni raccolte attraverso fasi cicliche di interviste e verifiche.
• Dagli abstraction sheet è abbastanza facile derivare le domande
(Question) alle quali si vuole poter rispondere attraverso la creazione del
processo di misura. Per esempio, nel caso di Tabella 2 una domanda
potrebbe essere “Quale è il costo medio per intervento per tipologia di
utente?” Dalle domande e dalle altre informazioni contenute
nell’abstraction sheet risulta infine abbastanza agevole derivare
l'indicazione delle metriche (Metrics) da raccogliere (nell’esempio, costo
di un singolo intervento, tipologia dell’utente coinvolto nell’intervento,
numero di interventi per uno specifico tipo di utenti).
Una volta definito il GQM plan, è necessario procedere alla definizione del measurement
plan, cioè delle modalità secondo le quali raccogliere e memorizzare le informazioni
relative alle metriche prescelte. Tale fase deve prevedere la verifica della fattibilità della
raccolta dei dati prescelti e del costo da sostenere per rilevare tali dati. Inoltre deve
predisporre gli strumenti organizzativi (per esempio, circolari al personale) e tecnologici
(per esempio, database per memorizzare i dati e procedure automatiche di raccolta, se
fattibili) che permettono di attuare il programma di raccolta dati così progettato.
In sintesi, il metodo GQM fornisce una serie di indicazioni metodologiche che guidano il
progettista di un programma di misurazione nella definizione delle metriche da
raccogliere e delle modalità di raccolta. Ciò avviene attraverso uno studio dettagliato
delle motivazioni e degli obiettivi del programma di misura. Questa focalizzazione
centrata sugli obiettivi permette di ottenere informazioni che sono coerenti con le
aspettative e i bisogni di chi ha avviato il programma di misurazione. Inoltre, permette di
minimizzare il numero di dati da raccogliere, facilitando il lavoro di chi dovrà
collezionare le informazioni e riducendo i costi del processo di raccolta.
15
Oggetto Scopo Caratteristiche Punto di vista Contesto
I processi di service Caratterizzare Costo, Durata, Resp. centro di lavoro Attività svolte dai
assurance, service Impiego di risorse, Resp. Filiale centri di lavoro
delivery e network Performance, Resp. Direz. Territoriale
creation Qualità per il Resp. Direzione Generale
cliente
Caratteristiche Fattori d’influenza
Come si possono descrivere in dettaglio le Quali fattori possono influenzare le caratteristiche
caratteristiche d’interesse? considerate?
QF1. Costo (tutti i processi) VF1. Tipo di servizio (service assurance, service delivery,
QF1.1. Costo di un’attività network creation)
QF1.1.1. Costo di un intervento VF2. Tipologia dell’attività
QF2. Durata (tutti i processi) VF3. Tipologia dell’intervento (cessazione, nuovo impianto,
QF2.1. Durata di un’attività trasloco, ISDN, RFD/ITAPAC, varie)
QF2.1.1. Durata di un intervento VF4. Tipologia del cliente
VF4.1. Classe di spesa (totale sulla bolletta)
QF3. Impiego di risorse (tutti i processi)
VF4.2. Tipologia di spesa (suddivisione
QF3.1. Impiego di risorse in un’attività
apparati/traffico)
QF3.1.1. Impiego di risorse per un
VF4.2.1. Spesa per tipologia di traffico
intervento
(nazionale/internazionale, verso
QF4. Produttività delle risorse (tutti i processi) terminale fisso /mobile)
QF4.1. Numero d’interventi per unità di VF4.3. Categoria merceologica
tempo
VF5. Tipologia dell’oggetto dell’intervento
QF5. Performance (tutti i processi)
VF6. Personale che esegue l’intervento (sociale o d’impresa)
QF5.1. Tempo medio d’intervento
VF7. Impresa che esegue i lavori
QF5.2. Tempo medio di giacenza delle
VF8. Centro di Lavoro competente
richieste
QF5.3. Numero d’interventi per unità di VF8.1. Reparto
tempo VF8.1.1. Addetto
QF6. Qualità per il cliente (service assurance) VF9. Livello di manutenzione (es. Numero d’ore/interventi
QF6.1. Tempo di risposta di manutenzione in passato)
QF6.2. T empo di risoluzione VF10. Istante d’osservazione
QF6.3. Numero di reclami
QF6.4. Numero d’interventi in corso
QF6.5. Numero di segnalazioni aperte
QF6.6. Numero d’interventi entro N giorni
Ipotesi di base Impatto dei fattori d’influenza sulle ipotesi di base
Quali sono i valori assunti dalle caratteristiche In che modo i fattori d’influenza fanno variare le
d’interesse? caratteristiche?
BH1. Costo medio di service assurance IH1. Il costo medio delle attività per clienti TOP è
BH1.1. Costo medio delle attività di tipo maggiore/minore del costo per clienti business
X: L. Y IH2. Il costo delle attività di tipo X nel CLGRA Y è
BH1.1.1. Costo medio degli maggiore/minore del costo nel CLGRA Z
interventi Z per le IH3. Il costo medio per clienti business è maggiore/minore
attività di tipo X: Lit. di quello per clienti residenziali
Y IH4. Il costo dipende/non dipende dall’impresa
BH1.2. Costo medio delle attività di tipo X IH5. Il costo dipende/non dipende dall’oggetto della
per clienti Y: L. Z manutenzione
BH1.3. …
16
Oggetto Scopo Caratteristiche Punto di Contesto
vista
La rete Caratterizzare Costo Scelte strategiche della direzione
d’accesso Utilizzo Resp.
Ricavo Direzione
Qualità del Generale
servizio
Caratteristiche
4.1.1.1. Fattori d’influenza
Come si possono descrivere in dettaglio le caratteristiche Quali fattori possono influenzare le caratteristiche
d’interesse? considerate?
QF1. Costo VF1. Tecnologia utilizzata per la linea/impianto
QF1.1. Costo d’esercizio VF2. Localizzazione geografica (centri di lavoro di
QF1.2. Costo di manutenzione competenza)
QF1.3. Costo d’ammortamento VF3. Distribuzione temporale (fasce orarie,
QF1.4. Costo di delivery settimana, anno)
QF1.5. Spesa in dotazioni ed investimenti VF4. Programmi tariffari
QF2. Utilizzo VF5. Tipologia di cliente
QF3. Ricavo VF6. Evoluzione temporale
QF3.1. Ricavo da traffico VF7. Tipo di servizio (dati, fonia, …)
QF3.2. Ricavo da canone VF8. Livello di manutenzione (es. Numero di
QF3.3. Ricavo da vendita di servizi accessori ore/interventi di manutenzione in passato)
QF3.4. Ricavo da noleggio apparecchiature
QF3.5. Ricavo da vendita di apparecchiature
QF3.6. Ricavo/costo da roaming
QF4. Qualità del servizio
QF4.1. Frequenza dei guasti
QF4.2. Tempo di disservizio (%)
17
5. Alberi di qualità
In molte situazioni è necessario basare decisioni sulla valutazione di una serie di fattori.
Classico è il caso della valutazione dei fornitori che si deve normalmente basare
sull’analisi congiunta di una serie di variabili quali l’affidabilità del fornitore, le sue
capacità tecniche e la conoscenza dei problemi che è chiamato a risolvere.
Solidità
finanziaria qualificazione ed esperienza del personale
(titolo di studio, esperienza, formazione)
disponibilità di personale qualificato
(manageriale, tecnico e di supporto al cliente)
in situazioni simili
Affidabilità
in passato in generale
Un albero di questo tipo (detto albero di qualità) può essere costruito in maniera bottom-
up aggregando metriche elementari identificate, per esempio, tramite il metodo GQM.
Oppure, può essere direttamente costruito in maniera top-down procedendo alla
identificazione dei parametri di qualità per raffinamenti successivi.
Un albero di qualità può essere pesato ed utilizzato per esprimere giudizi sintetici di tipo
quantitativo. Dopo aver assegnato un peso ad ogni nodo dell’albero, si valuta l’entità
oggetto di studio assegnando un punteggio per ogni attributo rappresentato dalle foglie
dell’albero. I diversi punteggi vengono poi aggregati in base alla struttura dell’albero e ai
pesi assegnati ottenendo così un giudizio sintetico complessivo. Una descrizione
completa di questo metodo di calcolo è presentata in [2].
18
6. Riferimenti
[1] N.E. Fenton, S.L. Pfleeger. Software metrics: a rigorous and practical
approach, 2nd edition. Thompson Computer Press, 1996.
[2] A. Fuggetta, C. Ghezzi, S. Morasca, A. Morzenti e M. Pezzè. Ingegneria del
Software. Mondadori Informatica, 1994.
[3] Fuggetta, L. Lavazza, S. Morasca, S. Cinti, G.Oldano e E. Orazi. Applying
GQM to an industrial software factory. ACM Transactions on Software
Engineering and Methodology, Ottobre 1998.
[4] ISO. International Standard ISO 9126, First Edition, 1991.
[5] A cura di R. Peach, The ISO 9000 Handbook. Irwin Professional Publishing,
1997.
19