“I tecnologi hanno la responsabilità di garantire che la tecnologia non solo faccia ciò che dovrebbe, ma non faccia ciò che non dovrebbe”.

Scrivo questo perché i dettagli della causa degli incidenti aerei del Boeing 737 Max stanno appena iniziando ad apparire sui media. Spero che noi che ci occupiamo di tecnologia saremo stimolati da questa tragedia ad aumentare il nostro livello di professionalità.

Due aerei si sono schiantati prima che lo schema fosse osservato e la maggior parte della flotta mondiale di 737 Max è rimasta a terra. Il volo dell'Ethiopian Airlines otto giorni fa e l'aereo della Lion Air in ottobre si sono schiantati entrambi pochi minuti dopo il decollo.

Sembra che un sistema progettato per prevenire un incidente possa aver effettivamente contribuito a provocarlo.

C'è un nuovo sistema di sicurezza in questi aerei progettato per prevenire lo stallo (causato quando un aereo si dirige ripidamente verso l'alto). Questo sistema di sicurezza si chiama MCAS e può istruire automaticamente il sistema di pilota automatico a cambiare la rotta dell'aereo, per dirigersi verso il basso.

Un singolo sensore nel muso dell'aereo informa MCAS dell'angolo attuale dell'aereo. Quello che potrebbe essere successo è che il sensore si è guastato, ha dato segnali errati al MCAS e questo ha poi influenzato il comportamento dell'aereo, con conseguenze disastrose.

Secondo questo rapporto della BBC è probabile che il software MCAS venga declassato per evitare che MCAS abbia un'influenza così forte sul comportamento dell'aereo.

E ci saranno cambiamenti nelle persone e nei processi “Ci saranno anche cambiamenti ai sistemi di allarme della cabina di pilotaggio, il manuale operativo dell’equipaggio di volo sarà aggiornato e ci sarà una formazione computerizzata per i piloti”.

Secondo questo articolo del Seattle Times alcuni dei rischi erano noti e forse c'era una certa pressione commerciale per accelerare le approvazioni per il volo. Forse un fallimento gestionale?

Cosa possiamo imparare da questo?

Esplorare la causa principale

L'utilizzo efficace di qualsiasi software implica una combinazione di: persone, processi e tecnologia. Un fallimento come questo potrebbe essere dovuto a una combinazione di errori all’interno di ciascuna di queste aree.

Persone: I piloti erano addestrati a rilevare e gestire la circostanza di un sensore guasto che informava erroneamente il MCAS dell'angolo dell'aereo? Chi sapeva che un sensore guasto avrebbe potuto causare questo problema? Cosa potrebbero/hanno fatto a riguardo? Il rischio di uno scenario di fallimento era noto ma liquidato come “improbabile”?

Processi: Le istruzioni operative del pilota sono state adattate per includere controlli sufficienti del corretto comportamento del sistema MCAS? I piloti sono stati informati, o tenuti a sapere, che ciò poteva accadere e sono stati informati su come gestirlo?

Complessità: Man mano che la tecnologia su cui facciamo affidamento diventa sempre più sofisticata, diventa anche più complessa. Nei sistemi complessi facciamo affidamento solo su poche persone che comprendono profondamente la capacità end-to-end della tecnologia per costruirla correttamente. I manager e gli utenti potrebbero non avere, né avere, il tempo per comprendere appieno le complessità del software che utilizzano o di cui sono responsabili. Normalmente il software può funzionare come dovrebbe, ma i sistemi complessi corrono un rischio maggiore di non funzionare correttamente in tutte le circostanze.

Quando è stata l'ultima volta che hai sentito dire "dovremmo adottare un approccio ai test basato sul rischio" come modo per abbreviare i tempi?

Tecnologia: Questa è l'area che molto probabilmente sarà sotto esame. La colpa era della tecnologia? Perché un sistema basato su un solo sensore ha potuto rischiare la rotta dell'aereo? Potrebbe essere rilevato un guasto del sensore? Avrebbe dovuto esserci più di un sensore, nel caso in cui uno si guastasse? Perché alla logica del software è stato consentito di fare affidamento su un singolo input?

Se lo scenario accaduto fosse stato previsto dai progettisti dell'aereo, avrebbero potuto proporre che il pilota potesse ignorare tale circostanza. In tal caso potremmo avere un fallimento nelle persone e nei processi, non nella tecnologia.

La tecnologia potrebbe essersi comportata in modo non corretto, ovvero non conforme alle specifiche, nel qual caso si sarebbe verificato un errore nell'implementazione e nel test.

In alternativa, la tecnologia avrebbe potuto comportarsi secondo le specifiche, ma le specifiche erano sbagliate. Se così fosse bisognerebbe riconsiderare i requisiti. I requisiti erano corretti?

Impatto

L’impatto sulle famiglie che hanno perso i propri cari non può essere misurato. Oltre alla perdita del familiare, subiranno anche conseguenze finanziarie dirette e indirette. Poi c’è il costo per Boeing, il ritardo nelle vendite, il possibile risarcimento alle compagnie aeree per la perdita di reddito poiché la maggior parte della flotta di 737 è a terra. E poi c’è il costo per l’intero settore aereo e per altri settori collegati che dipendono dai viaggi aerei. L’impatto di questa situazione è nell’ordine di molti miliardi di dollari. E potrebbe dipendere da specifiche/requisiti inadeguati, da un errore nella codifica/test, da un errore nella gestione o da una combinazione di questi fattori.

Conclusione

In un'organizzazione con una reputazione di così alta qualità come Boeing è improbabile che una singola disciplina commetta un simile errore. È probabile che la causa principale di questo disastro non risieda nelle aree sopra indicate.

Questi eventi dovrebbero ricordare a chiunque sia coinvolto nella fornitura di tecnologia che le loro attività possono avere gravi conseguenze. Man mano che diventiamo sempre più dipendenti da una maggiore sofisticazione dei sistemi, la necessità di professionalità diventa sempre più importante.

Solo adottando standard di qualità eccellenti per tutti gli aspetti di gestione, specifiche, progettazione, test e implementazione (che includono persone e processi) la tecnologia può essere pienamente affidabile.

I tecnologi hanno a responsabilità professionale per garantire che la tecnologia non solo faccia ciò che dovrebbe, ma non faccia ciò che non dovrebbe. Ciò può essere raggiunto solo attraverso un approccio rigoroso alla qualità.