Processi
Specificità dei processiSe i concetti di base della qualità sono in generale indipendenti dall’ambito produttivo cui viene applicata, i processi della qualità sono invece assolutamente specifici di ogni singolo settore merceologico.
E nel caso del software le particolarità sono, se possibile, ancora più evidenti.
Progettare un sistema di qualità per la produzione del software significa avere molto chiari i concetti e le principali filosofie di conduzione di progetti e di traduzione in attività di progettazione e sviluppo.
La qualità deve essere infatti costruita passo per passo durante tutte le fasi del processo di produzione.
E’ necessario quindi analizzare i processi aziendali, rivisitandoli in funzione dei requisiti previsti dalla norma.
I processi nella produzione del software
I processi individuabili nella produzione del software dipendono dalla tipologia della lavorazione richiesta mentre sono di massima indipendenti dalla tipologia di norma applicabile.
Le diverse normative (ISO, MIL-STD, CMM, ECSS, PSS, etc [link]) possono del resto differire per approccio o punto di vista, ma gli obiettivi di base sono gli stessi.
La norma potrà poi mettere l’accento più su uno o più su un altro aspetto, o raggrupparli in modo diverso, ma in genere sono anche costruibili matrici di 'mappatura' fra insiemi diversi di definizioni e requisiti.
A titolo esemplificativo utilizzeremo come riferimento la classificazione di ISO 12207, che distingue i processi informatici in:
- processi primari, cioè di generazione dei prodotti o servizi,
- processi di supporto, cioè di servizio alle attività principali,
- processi organizzativi, cioè di gestione e controllo.
Di seguito verrà proposta una descrizione d’insieme dei tre raggruppamenti di processi.
Ai capitoli successivi saranno invece descritti più in profondità solamente i processi più pertinenti all’area tecnica.
Processi primari
Sono i processi del core business aziendale, quelli cioè operano direttamente sul prodotto.
Interessano le attività di:
- approvvigionamento di prodotti software o hardware,
- gestione della fornitura al cliente,
- sviluppo dei prodotti software,
- avviamento e utilizzo del prodotto sviluppato,
- gestione della manutenzione del prodotto sviluppato.
L'attività più studiata è sicuramente quella dello sviluppo, nella quale possono essere individuate le sottoattività di analisi e specifica dei requisiti, della progettazione, della codifica, dei test di modulo e di integrazione.
Sarà importante adottare coscientemente un modello del ciclo di vita del software coerente con le risorse e le necessità indicate dalla direzione, e progettare un sistema per la qualità che possa realizzare quel modello personalizzandolo per quanto possibile in funzione della realtà aziendale preesistente.
I documenti di gestione dei processi primari sono in genere dipendenti dal prodotto sviluppato.
Processi di supporto
Sono processi non immediatamente percepibili dal cliente finale, ma fondamentali per la buona riuscita di quelli che abbiamo chiamato processi primari.
Comprendono le attività di:
- documentazione di tutti i processi sviluppati
- gestione della configurazione, cioè controllo delle versioni di documenti e dati
- incontri di riesame, per esami congiunti delle attività svolte
- verifica del software, confrontando quanto sviluppato in ogni fase con le indicazioni tecniche fornite
- validazione del software, ossia confronto di quanto sviluppato con quanto richiesto dal cliente
- accettazione del software da parte del cliente, in genere a seguito di collaudo
- audit, o controlli interni ed esterni
- assicurazione di qualità, con tutte le indicazioni e procedure per guidare il lavoro e ridurre i rischi
- risoluzione dei problemi, sia interni durante lo sviluppo, che esterni su sollecito del cliente.
I piani di lavoro che regolano i processi di supporto sono in genere documenti preparati come standard aziendali e personalizzati solo per i casi che lo richiedano.
Processi organizzativi
Comprendono compiti di pianificazione, controllo ed intervento correttivo sulle attività produttive e di supporto.
Sono costituiti dalle attività di:
- pianificazione e controllo della fornitura
- formazione del personale
- gestione delle risorse hardware e software
- revisione delle procedure e dei processi in funzione del miglioramento continuo.
Sono forse i processi più critici dal punto di vista del successo del progetto, in quanto definiscono e controllano le modalità di gestione, i ruoli e le responsabilità complessive.
Analisi dei processi preesistenti
Il primo passo per progettare un Sistema Qualità consiste nell’analisi dei processi aziendali, che devono essere compresi molto chiaramente sia in profondità (in tutti gli aspetti significativi) che in ampiezza (rispetto i processi correlati).
La descrizione risultante potrà produrre output grafici (tradizionali diagrammi di flusso o moderni Use Case UML) utili nella modellazione del sistema di partenza.
Ogni processo dovrà essere descritto in termini di elementi in ingresso, attività di 'produzione' (in senso lato), attività di controllo, elementi in uscita.
Ogni processo avrà un responsabile e coinvolgerà un certo numero di funzioni aziendali.
I processi individuati saranno poi suddivisi in sottoprocessi principali, ed ognuno di questi in attività elementari.
Scrittura del manuale e delle procedure
A partire dalla conoscenza approfondita delle norme da applicare e da un modello accurato della realtà a cui applicarle, si può procedere nella predisposizione di una prima versione del manuale e delle procedure di qualità.
La preparazione dei documenti di primo livello (Manuale della Qualità) coinvolge generalmente la Direzione che presenterà le linee guida aziendali definendo una specifica politica per la qualità.
I documenti di secondo livello sono invece costituiti da procedure operative volte a standardizzare e documentare i processi analizzati e ridefiniti in funzione dei requisiti della norma.
Una struttura standard prevede in genere la presenza di: scopo, campo di applicazione, definizioni ed abbreviazioni, documenti applicabili e riferiti, overview del documento, ruoli e responsabilità, descrizione dell’attività, allegati contenenti i template dei documenti operativi da produrre.
Possono essere infine presenti documenti di terzo livello, istruzioni operative, costituiti da descrizioni tecniche analitiche delle attività da svolgere.