Qualità di processo
Risalire dal prodotto al processo
Da tubi sporchi non esce acqua pulita: per ottenere prodotti di qualità, è necessario avere processi di qualità. In altre parole, la qualità di processo sta a monte rispetto alla qualità di prodotto.
Un processo è una macchina che prende in input dei bisogni e dà in output dei prodotti, consumando risorse nel farlo. Come tutte le macchine, un processo va controllato; questo permette di assicurare che i prodotti che produce siano quelli desiderati. Per controllare un processo, come per controllare una self-driving car in movimento, sono necessari dei sensori e degli attuatori: gli uni per conoscere lo stato del processo (la posizione della macchina), gli altri per modificare l'implementazione del processo (la direzione in cui va la macchina). In questo paragone il controllore del processo è la quality assurance, i sensori sono delle misurazioni che vengono effettuate sul processo e gli attuatori sono regole e decisioni atte a migliorare il processo.
Tutto questo, per essere efficiente, va fatto con misurazioni preventive (e non a posteriori) il cui obiettivo è il continuo miglioramento del processo: la qualità di processo segue il ciclo PDCA.
ISO 9000
Il concetto di qualità di processo fu introdotto dai big spender, per avere delle classifiche oggettive di fornitori ed essere, quindi, più sereni. Nel 1987 nacque dunque ISO 9000, una famiglia di standard che riguardano i sistemi di gestione della qualità (QMS, Quality Management System). Questa famiglia di standard non si occupa solo di software ma astrae dal dominio di applicazione.
ISO 9000, come documento, introduce i fondamenti e un glossario; invece, ISO 9001 si occupa di calare la visione di ISO 9000 nei sistemi produttivi, introducendo dei requisiti ben specifici. Esistono enti che si occupano di certificare il rispetto di tali requisiti (ISO 9001 è quindi anche una certificazione). Infine, ISO 9004 è una guida al miglioramento dei risultati.
Questa famiglia di standard si basa su 7 princìpi di gestione della qualità (QMP):
- QMP 1 — customer focus
- QMP 2 — leadership
- QMP 3 — engagement of people
- QMP 4 — process approach
- QMP 5 — improvement
- QMP 6 — evidence-based decision making
- QMP 7 — relationship management
Sistema di gestione della qualità
La gestione della qualità, come funzione aziendale, dovrebbe essere al di sopra dei vari settori e dovrebbe riferire direttamente alla direzione; questa funzione deve infatti garantire la qualità in modo trasversale ai vari settori.
Il sistema di gestione della qualità è documentato tramite:
- Una politica per la qualità, cioè le motivazioni che stanno alla base delle scelte sulla qualità.
- Il manuale della qualità, che definisce il QMS di un'oraganizzazione. Adotta una visione operativa (orizzontale, ad alto livello).
- Il piano della qualità, una concretizzazione del manuale della qualità che adotta una visione strategica (verticale). Esso definisce gli elementi del QMS e le risorse che devono essere applicate in uno specifico caso (prodotto, processo o progetto). Può avere valenza contrattuale. Nel progetto didattico, il piano della qualità è integrato nel piano di qualifica.
Strumenti di valutazione
Alcuni strumenti per la valutazione della qualità di processo:
- SPY (Software Process assessment and Improvement)
- CMMI (Capability Maturity Model with Integration)
- SPICE (Software Process Improvement Capability dEtermination)
SPY si incentra sulla valutazione oggettiva dei processi di un'organizzazione. Esso fornisce un giudizio di maturità e individua azioni migliorative.
CMMI si basa su quattro termini:
- Capability — misura di quanto è adeguato un singolo processo, rispetto agli scopi per cui è stato definito. Un processo ad alto livello di capability è seguito da tutti in modo disciplinato, sistematico e quantificabile.
- Maturity — misura di quanto è governato l'intero sistema di processi dell'organizzazione. L'intelligenza dei processi di un'organizzazione si chiama governance.
- Model — insieme di requisiti via via più stringenti per valutare il percorso di miglioramento dei processi dell'organizzazione.
- Integration — architettura di integrazione delle diverse discipline (sistema, hardware, software) e tipologie di attività delle organizzazioni.
È bene notare che mentre la capability è caratteristica di un singolo processo, la maturity è caratteristica di un insieme di processi.
La governance di un'organizzazione ha interesse ad alzare il livello di maturity dell'organizzazione, dato che questo influenza direttamente la capability. CMMI definisce cinque livelli di maturità:
- initial — i processi sono imprevedibili, poco controllati e poco reattivi;
- managed — l'organizzazione applica la "D" di PDCA: i processi sono caratterizzati per i progetti e sono spesso reattivi;
- defined — l'organizzazione applica la "P" di PDCA: i processi sono caratterizzati per l'organizzazione e sono proattivi;
- quantitatively managed — l'organizzazione applica "PC" di PDCA: i processi sono misurati e controllati;
- optimized — l'organizzazione applica PDCA in toto: l'organizzazione si concentra sul miglioramento dei processi.
Nota bene: la "P" di PDCA è pianificazione di miglioramento, non pianificazione di progetto.
Limitazioni di CMMI sono: la sua natura discreta (non continua: quindi potenzialmente frustrante per le organizzazioni); un'eccessiva concentrazione sulle pratiche (cosa si fa e come); un'insufficiente attenzione agli obiettivi (perché lo si fa).
SPICE è nato nel 1992 per armonizzare SPY con ISO/IEC 12207 e ISO 9001; nel 1998 è confluito in ISO/IEC 15504 (creato da ISO a partire da CMMI. Qui scompare il concetto di maturity e, al posto dei cinque gradini di maturità, si usa una scala più fine. Le aziende vengono misurate secondo il fatturato e il personale. La sua metodologia di valutazione è la seguente:
- identificazione dei portatori d'interesse (stakeholders: utenti, sviluppatori, valutatori...);
- scelta tra valutazione e miglioramento;
- definizione della portata (quali processi vanno inclusi nella valutazione?).