Skip to main content

La proliferazione delle tecnologie e l'enorme disponibilità di informazioni hanno cambiato il modo in cui vengono creati e consegnati servizi e beni.

Questi cambiamenti stanno rendendo possibile gestire la qualità del prodotto in ogni fase del processo, eliminando progressivamente i sistemi che percepiscono il controllo qualità come un’attività da effettuare soltanto alla fine del ciclo produttivo. 

Nel settore manifatturiero, in particolare nello sviluppo software, team QE ibridi e remoti si stanno spostando dal quality assurance (QA) al quality engineering (QE). Ma qual è la differenza tra questi due concetti, e cosa sta guidando le tendenze QE?

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

In questo articolo analizzerò metodologie, strumenti e certificazioni del quality engineering per chi sta considerando una carriera in questo campo. 

Che cos'è il Quality Engineering?

Foto di operai di fabbrica che ispezionano un dispositivo
Nel quality engineering, tutti coloro che partecipano allo sviluppo del prodotto sono responsabili della qualità complessiva del prodotto.

Il quality engineering è un metodo relativamente nuovo per garantire prodotti di qualità, applicando controlli rigorosi in ogni fase dello sviluppo. Questo modello parte dal presupposto che tutti coloro che partecipano allo sviluppo siano responsabili della qualità del prodotto nella fase in cui sono coinvolti.

Se questa prospettiva viene applicata a tutte le fasi di sviluppo, si presume che il prodotto finale sarà di alta qualità perché i problemi potranno essere affrontati in tempo reale.

Nel modello QE, il mantenimento della qualità non termina quando il prodotto è completo. Continua con il ciclo di sviluppo, utilizzando tutte le informazioni raccolte in ogni fase del processo per migliorare il ciclo successivo.   

Il quality engineering si concentra sulla qualità del prodotto e pone anche l'accento sull’analisi dei processi di sviluppo per ridurre gli sprechi.

Gli sprechi vengono ridotti minimizzando i costi causati dai difetti. L’idea è che attendere l'identificazione dei difetti solo alla fine, appena prima del rilascio del prodotto, sia costoso.    

QE nello Sviluppo Software 

Foto di designer di programmi che lavora con mockup per lo sviluppo software
Lo sviluppo software spesso utilizza lo sviluppo guidato dai test come parte del processo di quality engineering.

Nello sviluppo software, il QE è strettamente legato alla metodologia test-driven development (TDD).

Alla base di TDD c’è il presupposto che, prima di scrivere il codice applicativo, gli sviluppatori redigano il test che il codice dovrebbe superare. Successivamente eseguono il test, che fallirà poiché il codice non è ancora stato scritto. Il test viene rieseguito dopo la scrittura del codice per verificare se il codice supera il test. 

Il QE, nel contesto dello sviluppo software, è anche legato ai processi DevOps e agili. DevOps unisce sviluppo software e operazioni IT, eliminando i “silos” (situazioni in cui i reparti non condividono informazioni ed obiettivi), favorendo la collaborazione tra team di sviluppo e sicurezza. La sicurezza viene integrata in ogni fase del processo di sviluppo.

I processi agili indicano la capacità di muoversi in modo rapido e flessibile intervenendo sui problemi man mano che emergono durante lo sviluppo.

Il QE nello sviluppo software ha diversi obiettivi: 

  • Individuare i problemi al loro verificarsi e risolverli tramite azioni correttive.
  • Sovrintendere e controllare i processi. 
  • Stabilire metriche e standard.
  • Raccogliere e analizzare dati. 
  • Sviluppare test adeguati.
  • Elaborare soluzioni attraverso il brainstorming. 
  • Verificare che i problemi vengano effettivamente risolti.
Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

La differenza tra Quality Engineering e Quality Assurance

Nel modello tradizionale per garantire la qualità, un team di professionisti del controllo qualità interviene solo dopo che il prodotto è stato completato per individuare eventuali difetti prima della consegna agli utenti.

Questo metodo è generalmente noto come quality assurance. Se il prodotto presenta difetti, viene restituito al team responsabile della parte difettosa.

Un'analisi del modello di assicurazione della qualità mostra che il metodo presenta diverse inefficienze. Ad esempio, a volte questi team di assicurazione della qualità possono individuare difetti che richiedono una riprogettazione del prodotto. Per farlo, sono necessari più tempo e risorse. Questo può anche causare ritardi nel rendere disponibile il prodotto all'utente finale.

Per risolvere le sfide intrinseche dell'assicurazione della qualità (QA), l'ingegneria della qualità (QE) è il nuovo metodo che è stato introdotto. L'idea è che se i team di sviluppo conoscono i requisiti che il prodotto finale deve soddisfare, potranno testare consapevolmente il prodotto mentre lo sviluppano, in modo da non avere brutte sorprese alla fine.

Nonostante QE e QA abbiano lo stesso obiettivo di garantire prodotti di qualità, ci sono alcune differenze tra le due: 

  • La QA mira a mantenere la qualità del prodotto finito, mentre la QE predispone il sistema che il prodotto deve rispettare nelle diverse fasi.
  • La QE richiede che tutti i team coinvolti nello sviluppo del prodotto prestino attenzione alla qualità, mentre la QA in genere lascia questo compito a un team che interviene quando il prodotto è completo.
  • La QE vede la qualità come uno sforzo sia dall'alto verso il basso che dal basso verso l'alto, mentre la QA considera la qualità solo come un processo dall'alto verso il basso.
  • La QE si concentra sull'avere i giusti strumenti di test per ogni fase dello sviluppo, mentre la QA segue un approccio "taglia unica".
  • La QE mira a mantenere agilità e flessibilità, mentre la QA guarda alla situazione nel suo complesso.

Il passaggio dalla QA alla QE può essere definito come un cambiamento culturale all'interno dei team di sviluppo, ma quali sono le tendenze che guidano questo cambiamento? 

La multinazionale di servizi professionali Accenture Plc., attraverso un rapporto intitolato Quality Engineering in the New, offre una panoramica delle tendenze che stanno spingendo il passaggio verso la QE rispetto alla QA. Secondo Accenture, “gli approcci tradizionali al test del software sono stati profondamente sconvolti con l’avvento di DevOps e dell’automazione intelligente, così come dalla proliferazione delle applicazioni digitali.”  

Il rapporto Accenture continua osservando che “i test si sono evoluti attraverso la quality engineering, che inizia in anticipo come parte della pianificazione iniziale delle applicazioni e stabilisce un ciclo di feedback continuo per anticipare e agire su ciò che è sconosciuto.” I rapporti suggeriscono che è arrivato il momento di disimparare la maggior parte di ciò che sappiamo.  

Per Nitin Mehra, direttore dell'ingegneria presso il motore di ricerca di lavoro americano Indeed, l'introduzione di concetti come lo sviluppo agile “ha ribaltato il modello [assicurazione della qualità] per quanto riguarda le tempistiche di sviluppo software e la sua distribuzione.” Mehra osserva che questo ha “costretto i team ad adattarsi a un processo che incoraggiasse più rilasci piccoli anziché pochi più lunghi”, impattando significativamente il modo in cui vengono eseguiti i test.

Dai punti di vista sopra riportati emerge chiaramente che l'introduzione di tecnologie come l'intelligenza artificiale (la simulazione dell'intelligenza umana nelle macchine) e l'automazione (sistemi che funzionano con il minimo intervento umano) stanno guidando la transizione dalla QA verso la QE. L'intelligenza artificiale (AI) e l'automazione consentono di raccogliere informazioni storiche che possono aiutare i team a individuare i problemi più rapidamente, o prima che si verifichino, e correggerli.

Metodologie e Strumenti di Quality Engineering 

Come per ogni nuovo sistema, implementare la QE può essere un compito impegnativo che richiederà tempo, risorse e impegno; per questo è fondamentale avere lo strumento giusto per ogni compito specifico. Abbiamo identificato alcune metodologie standard e strumenti QE che possono aiutare i team di sviluppo nell'implementazione della QE:

Sistema di Gestione della Qualità (QMS)

Photo of a set of file folders with one folder labelled Quality Standards ISO 9001
ISO 9000 è uno degli standard più diffusi per la gestione della qualità.

Che si parli di QE o QA, la qualità del prodotto rappresenta una parte fondamentale dell’equazione. Ecco perché uno degli strumenti principali che ogni organizzazione che vuole gestire la qualità dovrebbe avere è un sistema di gestione della qualità (QMS). Il QMS garantisce che la documentazione e i processi per raggiungere la qualità siano formalizzati. Indicherà inoltre i vostri obiettivi di qualità e chi è responsabile del loro raggiungimento. 

Uno degli standard più popolari utilizzati nella gestione della qualità è la famiglia ISO 9000. Ad esempio, l’ISO 9001 viene descritta dall’Organizzazione Internazionale per la Standardizzazione (ISO) come lo standard che “stabilisce i criteri per un sistema di gestione della qualità ed è l’unico standard della famiglia che può essere certificato.” L’organizzazione afferma che questa certificazione può essere utilizzata da organizzazioni di qualsiasi dimensione e in qualsiasi campo. 

Pianificazione Avanzata della Qualità del Prodotto 

La Pianificazione Avanzata della Qualità del Prodotto (APQP) è uno strumento che migliora la comunicazione tra la gestione della catena di fornitura e i clienti per facilitare e gestire i cambiamenti nei prodotti e nei processi esistenti. Attraverso questa comunicazione, gli sviluppatori raccolgono informazioni sui requisiti dei clienti e su come i prodotti possono soddisfare tali requisiti.  

Per quanto riguarda la QE, l’APQP può aiutare gli sviluppatori a farsi un’idea delle parti dei loro prodotti che funzionano bene e di quelle che devono essere modificate o migliorate. Può anche essere utilizzato per risparmiare sui costi eliminando le parti che non interessano agli utenti. 

Controllo Statistico di Processo

Il Controllo Statistico di Processo (SPC) offre ai team di sviluppo una metodologia riconosciuta dall’industria per controllare e misurare la qualità nel processo di sviluppo o produzione. Il metodo sfrutta i dati di qualità ottenuti dal processo di misurazione del prodotto.

Lo SPC determina quelli che vengono chiamati limiti di controllo e limiti di specifica. Quando il processo procede secondo la progettazione, i dati rimangono entro i limiti di controllo, mentre i dati che rientrano nei limiti di specifica mostrano che le esigenze del cliente vengono soddisfatte. Quando i dati cadono al di fuori di questi limiti, allora è necessario intervenire.

Strumenti per la Risoluzione dei Problemi

Per i team che seguono il modello QE, gli strumenti per la qualità svolgono un ruolo fondamentale nella risoluzione dei problemi individuati in ogni fase dello sviluppo. Kaoru Ishikawa, il defunto teorico organizzativo giapponese e Professore presso la Facoltà di Ingegneria dell’Università di Tokyo, ha introdotto i Sette Strumenti Classici della Qualità nel suo libro Guide to Quality Control, pubblicato nel 1991. Ancora oggi, molti dei sofisticati software QE disponibili seguono il modello di base di Ishikawa.  

Diagramma causa-effetto: Cerca di identificare i fattori responsabili di un determinato risultato. Ogni motivo di imperfezione è considerato come una fonte di variazione. Le cause vengono categorizzate per identificare e classificare queste fonti di variazione.

Foglio di controllo: Si tratta di un documento in cui i dati vengono registrati in tempo reale, di solito nel luogo in cui vengono raccolti.  

Diagramma di controllo: Funziona principalmente con il diagramma di controllo statistico di processo, noto anche come diagramma di Shewhart. Generalmente monitora i processi per garantire che siano sotto controllo e che non sia necessario intervenire. I dati raccolti possono anche essere utilizzati per prevedere come il processo si comporterà in futuro.

Istogramma: Aiuta a raggruppare i dati in una serie di intervalli per categorizzarli, offrendo una visione generale della distribuzione dei dati. Nella risoluzione dei problemi, può supportare nell’identificare le aree che richiedono maggiore attenzione. 

Diagramma di Pareto: Comprende sia un grafico a linee che delle barre. Viene principalmente utilizzato per individuare i fattori più importanti in un dato insieme. È di solito impiegato per il controllo della qualità per indicare le cause principali dei difetti, dei reclami dei clienti o delle raccomandazioni, o altri fattori simili. 

Diagramma di dispersione: Viene utilizzato per confrontare due variabili. Mostra generalmente come le variabili sono correlate e come possono influenzarsi a vicenda.   

Campionamento stratificato: Un metodo di campionamento che può essere usato per suddividere diversi segmenti della popolazione in gruppi prima di esaminarli. Nella risoluzione dei problemi, questo può garantire che tutte le componenti relative al problema vengano pienamente considerate.  

Certificazioni di Quality Engineering

Se QE ti sembra una carriera che potrebbe piacerti, devi conoscere alcune informazioni riguardo alle certificazioni QE. Secondo Study.com, un sito web che fornisce informazioni su programmi educativi, “Un ingegnere certificato della qualità è disponibile per ingegneri esperti che desiderano fare carriera.” Il sito aggiunge: “Oltre all’esperienza, la persona che cerca la certificazione deve anche avere un’eccellente comprensione dei sistemi di qualità, delle matematiche e la motivazione ad apprendere i dettagli più fini dell’ingegneria della qualità.” 

La certificazione di ingegnere della qualità viene concessa in base alle qualifiche scolastiche e all’esperienza lavorativa. Il Corpo di Conoscenze del Certified Quality Engineer è responsabile dell’individuazione delle specifiche aree di competenza che dovrai dimostrare prima di poter essere certificato. L’American Society for Quality (ASQ) amministra gli esami di certificazione per ingegnere della qualità due volte l’anno.  

Iscriviti per ulteriori approfondimenti

Migliora la crescita del tuo SaaS e le tue capacità di leadership. Iscriviti alla nostra newsletter per ricevere gli ultimi approfondimenti per CTO e aspiranti leader tecnologici. Ti aiuteremo a crescere in modo più intelligente e a guidare con maggiore forza grazie a guide, risorse e strategie dai migliori esperti!