E’ disponibile la registrazione di un webinar dedicato a uno degli strumenti più potenti e sottovalutati del mondo dello Sviluppo Software:
La Modellazione e Simulazione (dei Requisiti Software)
Presentato da Massimo Bombino, una delle autorità di riferimento del software Business- e Safety-Critical in Italia, il webinar parlerà di tematiche già trattate nel libro Software Sicuro, ma in particolare insisterà sul fatto che
le normali tecniche di scrittura dei Requisiti Software soffrono di un ENORME problema perché sono:
POCO FORMALI
SOGGETTIVE
NON CONTROLLABILI
Per questo motivo, infatti, da oramai tanti anni esistono strumenti molto potenti non tanto per la scrittura, ma per la MODELLAZIONE e la SIMULAZIONE. Ma di cosa? Proprio dei REQUISITI SOFTWARE!
In questo webinar sono stati introdotti alcuni concetti fondamentali come:
MODELLAZIONE: LINGUAGGI E TECNICHE
REQUISITI: COME MODELLARLI?
SIMULAZIONE: VERIFICA ANTICIPATA
SysML, UML, MARTE, DoDAF/MODAF
MATLAB Simulink, Ansys SCADE
e vengono presentati tutti i pro e i contro e potresti scoprire come la modellazione e simulazione potrebbero darti enormi vantaggi. Tu pensa come potresti essere avanti rispetto alla concorrenza, conoscendo queste strategie di Modellazione e Simulazione… che saranno poi ben esposte nel corso M.E.D.S. Milano e Roma (Primavera 2021).
A CHI E’ RIVOLTO?
– IMPRENDITORI che ha a che fare con il software, direttamente o all’interno dei prodotti che crei
– MANAGER che gestisce un gruppo di lavoro che scrive o integra del software
– TECNICI che vuole imparare delle metodologie avanzate che migliorano la qualità e velocizzano il lavoro di scrittura del software
Registrati al canale YouTube per guardare gli altri video ed essere avvisato quando ne escono altri!
Come sanno bene tutti gli studenti (e in parte anche i lettori dei miei articoli), io sono un grande appassionato di metafore: in tutti i miei corsi, cerco di trovare sempre il modo più semplice ma non banale, preso dalla vita di tutti i giorni o da esempi facilmente comprensibili, di spiegare tutti i concetti più ostici e complicati relativi al meraviglioso mondo dello sviluppo software.
Per questo motivo, vorrei farti capire con un esempio preso dalla fantascienza che cosa potrebbe mancare al tuo Processo di Sviluppo Software per renderlo ancora più ingegneristico, efficiente e soprattutto profittevole: le Multi-Dimensioni.
Le 2 dimensioni dei normali Processi di Sviluppo Software
Esatto, parliamo del mondo dello sviluppo di codice in generale:
se vieni dal mondo tecnico come me, sono solamente due le “dimensioni” con le quali sei abituato naturalmente a confrontarti nei tuoi progetto software.
Dal tuo punto di vista, vedi solamente un mondo bidimensionale, piatto: se sei veramente bravo hai il potere di vederlo tri-dimensionale, ma stai correndo il grande rischio che dei “nemici” arrivino da altri pianeti o da altre Dimensioni, che non riesci a vedere perché ti manca un “SUPER-POTERE”.
Infatti tornando un attimo seri, sono ben 5 i Pilastri di un progetto software completo sotto tutti gli aspetti, ingegnerizzato nei dettagli e che considera tutti i possibili fattori di rischio, compresi quelli economici.
Vediamo intanto in dettaglio quali sono quegli aspetti che sicuramente conosci già bene:
No, il titolo non è una provocazione ma un caso reale che ti spiegherò fra poco: tu pagheresti
un aggiornamento software 500 milioni di dollari?
E che cosa dovrebbe mai combinare di buono (o di cattivo!) la nuova versione di un applicativo per costare così tanto? Ma soprattutto, come si è arrivati in soli 30 minuti a un disastro del genere in un’azienda americana, Knight Capital, che è stata sull’orlo della bancarotta per questo motivo ed è stata costretta a reperire in poche ore ingenti risorse economiche, licenziare alcuni dipendenti e vendere degli edifici di proprietà a causa di questo tracollo finanziario provocato da un software?
Se passi davanti a un negozio IKEA, ti potrà capitare di trovare questo strano dispositivo.
È una scatola di plexiglas trasparente, contenente una poltrona IKEA, uno strano braccio robotico con due grandi pistoni che spingono la sedia e un contatore. È una specie di esperimento di simulazione di una persona di 80 kg. seduto e in piedi, ripetuto per migliaia e migliaia di volte.
Probabilmente hai guardato il bancone, hai visto un numero come 999.999-1.000.000- … e hai fatto un po’ di matematica mentale…
“Probabilmente io e la mia famiglia potremmo sederci e alzarci in media 10 volte al giorno, 3.650 totali all’anno … quindi questa sedia durerà almeno 300 anni “
E con la giusta fiducia nella sua robustezza, hai deciso di comprarla.
Ora pensiamo a un software critico per la sicurezza: ti potrebbe essere richiesto di certificare secondo il severo standard DO-178C, fino al livello A. Bene, guardando questa o altre normative di sicurezza correlate, potresti trovare che associato al livello A, hai una probabilità di errore 10E-9 ore di volo. Ok, ancora matematica… significa:
1 miliardo di ore senza problemi, o meglio 115.740 anni
Centoquindicimila anni! Sembra abbastanza buono, non è vero? Tranne il fatto che… per il software, in realtà non funziona così. Cosa significa veramente DAL-A? Letteralmente, significa Design Assurance Level: garanzia del DESIGN.
Ma la vera probabilità di un guasto del software è molto più alta … alcuni esperti dicono che la probabilità è 1 ovvero il 100%! Potresti essere abbastanza sicuro che il tuo software fallirà! Pensa al tuo sistema operativo desktop o mobile … puoi immaginare un’app per il tuo smartphone o computer che resista migliaia di anni senza crash o bug?
E pensi che il software avionico possa essere reso così solido per millenni? Possa davvero essere rilasciato fin dall’inizio totalmente senza bug?
Mi capita molto spesso di parlare con molti di voi professionisti che si occupano di sviluppo software a vari livelli (sviluppatori, manager, imprenditori) e spesso mi confronto con una preparazione tecnica ineccepibile, eccezionale: molto spesso migliore della mia!
Avendo lavorato pure io per oltre vent’anni nel puro sviluppo software critico, in settori come telecomunicazioni, aerospaziale, automazione industriale e altri ancora, soprattutto agli esordi e per parecchi anni a seguire, mi sono sempre sentito sicuramente un vero “nerd” su tanti argomenti, nel senso positivo di sviluppatore appassionato e sempre aggiornato su qualunque novità e innovazione, con la sensazione di essere imbattibile nel mio settore. Anche se poi purtroppo ho dovuto smettere di seguire alcune di queste tecnologie, perché rimanere aggiornati risulta sempre più difficile, in quanto si spende un sacco di tempo per altre attività più “noiose” e burocratiche e nel frattempo la tecnologia corre molto veloce.
Infatti, chi lavora da anni quotidianamente immerso in un settore specifico, applicando sempre più spesso la stessa tecnica, un tool, un linguaggio sviluppa una padronanza tale della materia da avere letto più o meno tutto quello che esiste sull’argomento, sperimentato varie soluzioni e alla fine si sente circondato da un’aura di sicurezza, di confidenza che d’altra parte è del tutto motivata, sia dalla teoria che dai fatti. Difficile se non impossibile prenderli in fallo: d’altronde, anche nel tuo specifico caso… sei giustamente convinto che, nel tuo lavoro, te la cavi piuttosto bene e non hai bisogno di consigli, giusto?
Ecco, questo è un po’ quello che mi capita quotidianamente, lavorando con tanti clienti diversi in vari settori:
spesso uno si ritrova un po’ chiuso nel suo habitat tecnologico e informativo, convinto di sapere esattamente quali sono i propri punti di forza e le debolezze sulle quali lavorare e sviluppa una sorta di diffidenza, di chiusura verso apporti esterni di esperienza, di consigli, se non addirittura di corsi o consulenze che vengono ritenute inutili e superflue
con il rischio di essere inavvertitamente esposti ai rischi continui e inaspettati legati allo sviluppo del Software e la conseguenza di mettere in pericolo il proprio Business (da cui il concetto di Business-Critical)
In realtà, ci sono almeno due aspetti aggiuntivi che nulla tolgono alla competenza e capacità tecnologica nel proprio settore specifico, ma che sono fondamentali per gestire i variegati rischi relativi allo sviluppo di codice e di conseguenza per poter rispondere alla incredibile complessità dello sviluppo software, che rimane l’attività umana intellettiva più complessa in assoluto: in termini di numero di giorni/uomo, un qualunque software applicativo neanche troppo sofisticato batte senza problemi la complessità, la varietà, il tempo impiegato nella creazione anche di grandi opere come la Divina Commedia o la Cappella Sistina.
Di seguito, cercherò di spiegarvi come la mia esperienza costellata di errori, di passi falsi, di pessime esperienze sia stata implementata con una serie di suggerimenti, di strategie prima appresi da studi teorici, da Master, da approfondimenti, poi sperimentati negli anni su vari fronti e infine distillati in un metodo che potrebbe rivelarsi fondamentale su come fare a cambiare rotta e a gestire tutti gli aspetti critici dello sviluppo applicativo.
Vediamo quali sono questi due approcci fondamentali ma che chi è troppo immerso negli aspetti puramente tecnologici e specifici del settore tende a trascurare, preso com’è dalla quotidianità e dalla fretta di consegnare, di soddisfare il cliente, di rispondere al management.
Ridicola,
se ci ripensi, la sensazione che hai provato alla fine del tuo percorso
scolastico, Maturità, Esame di Laurea o Dottorato che sia: quella di aver finito finalmente di studiare.
Non avevi coscienza, in quel preciso istante, del tuo futuro prossimo e degli anni a venire:
una quantità impressionante di ulteriori corsi di formazione, tecnici, professionali, di aggiornamento
Corsi
che hai dovuto seguire per essere sempre informato sullo stato
dell’arte della tecnologia, per poter accedere ad un certo ruolo, per
ottenere una promozione, per avere i crediti necessari nella tua
professione, il tutto più o meno volontariamente se non addirittura
costretto dalla tua azienda.
Bene, ora fai mente locale e dimmi TRE CORSI TECNICI, SCIENTIFICI che ti sono serviti VERAMENTE nel tuo lavoro,
per miglioralo drasticamente, per rivoluzionarlo o addirittura per
cambiarlo del tutto. Che hanno stravolto seriamente la tua vita
professionale. Che ti hanno aperto un mondo finora sconosciuto e che hai
poi in seguito deciso di approfondire e far diventare tuo.
Fai
molta fatica, vero? Sì, sei stato bombardato tuo malgrado come me da
decenni di corsi professionali, tecnici, workshop, seminari, bla bla bla
pallosissimi, nozionistici, pieni di un sacco di informazioni inutili
da applicare nel breve termine, con il solo vantaggio che ti hanno
permesso di staccare per qualche giorno, mettere l’auto-responder alla
mail e spegnere il telefonino, solo per essere distratto per qualche ora
dal tuo lavoro quotidiano, dal tuo capo, dai clienti rompiscatole.
Ma
pochissimi, se ci sono stati, sono stati eventi di formazione che hanno
rappresentato veramente una pietra miliare, uno spartiacque tra il
prima e il dopo.
Esatto, il 99.99% (ad essere ottimisti) dei corsi in circolazione soffrono di 3 grandi classici difetti. Proviamo a vedere se sei d’accordo su questi, poi se mi segui ti faccio fare un ulteriore salto in avanti.
Questo video servirà a presentare il nuovo corso M.E.D.S. sul metodo più innovativo e strategico mai visto in Italia nel campo del software critico: Method for Efficient Development of Software
Presentato da Massimo Bombino, una delle autorità di riferimento del software Safety-Critical in Italia, e da Giuseppe Randazzo, esperto di sofware per la robotica, il webinar parlerà di questo nuovo metodo M.E.D.S. e di come si stia affermando, grazie anche al libro Software Sicuro, come
l’unico modo di gestire un progetto software in maniera efficiente, sicura e soprattutto remunerativa
Infatti, non sarà solamente un corso tecnico, anche se ovviamente verranno trattate alcune tematiche avanzate, ma si tratterà di un vero e proprio corso che si rivolge principalmente a MANAGER NEL MONDO DEL SOFTWARE: quindi a tutti coloro che gestiscono team (o intere aziende) dove il software giochi un ruolo fondamentale nel fornire le funzionalità del prodotto.
I 5 principi fondamentali del corso M.E.D.S:
STRATEGIA
ECONOMIA
GESTIONE
SUPPORTO
PROCESSO
sono l’unico modo per tenere sotto controllo non solo gli aspetti tecnici (dove sicuramente sei già bravo, ma qualcosa da imparare c’è sempre anche e soprattutto dagli eccellenti co-docenti come appunto Giuseppe Randazzo e… un importantissimo ospite che verrà svelato nel webinar!), ma soprattutto aspetti di marketing specifico per il software, di posizionamento sul mercato, di costi e di ritorno dall’investimento, di gestione di team anche distribuiti geograficamente, della gestione dell’imprevistoe altre tematiche di sicuro mai affrontate in Italia, almeno non in uno stesso corso.
Tu pensa come potresti essere avanti rispetto alla concorrenza, applicando queste tecniche… che saranno poi ben esposte nel corso M.E.D.S. Milano (PRIMAVERA 2021).
Il video “Presentazione corso M.E.D.S.” è disponibile sul nostro canale YouTube:
Oramai è sulla bocca di tutti: un secondo aereo 737 MAX
della Boeing è caduto nel giro di pochi mesi in Etiopia, pochi mesi dopo quello
di fine 2018 in Indonesia. A questo si è aggiunto poi un mancato incidente
sullo stesso identico aereo etiope, il giorno prima, che è stato evitato per
puro caso dall’intervento di pilota a riposo che si trovava per caso nello
stesso aereo e che è corso in cabina per evitare una tragedia, fornendo una
delle chiavi di volta per comprendere meglio le due tragedie.
Non è mia abitudine commentare incidenti appena avvenuti,
perché le indagini per stabilirne le vere cause possono durare anche mesi: ma
questa volta forse forse si sa già chi potrebbe essere il colpevole: infatti,
in tutti gli incidenti sia quelli realmente accaduti che in quello mancato, si
è evidenziato come i piloti stessero combattendo invano contro i sistemi a
bordo del loro stesso aereo: precisamente,
lottavano contro un sistema “demoniaco” di stabilizzazione chiamato M.C.A.S.,
basato su un software di correzione delle manovre potenzialmente pericolose che
paradossalmente ha contribuito a creare i presupposti delle due tragedie.
Bene, abbiamo finalmente
il responsabile?
Il software ha
veramente ammazzato centinaia di persone?
Gli aerei non sono più
sicuri?
Forse, ma la realtà invece è molto diversa da quella che
appare in prima istanza. E la lezione imparata oggi, può essere utile anche a
te e alla tua azienda…
Seguimi in queste considerazioni in cui cercherò di non
scendere troppo nel tecnico e vedrai che questa analisi ti sarà molto utile,
qualunque tipo di software tu stia producendo.
Cosa è successo?
Allora, al di là del motivo originario per cui sia successo
un fenomeno del genere, appare evidente dalle scatole nere e dall’episodio
dell’incidente mancato che l’aereo sembrava essere completamente impazzito: dai
cambi di quota repentini, dalle manovre effettuate dai piloti, dalle loro voci
registrate nel cockpit sembrava proprio che l’avionica di bordo avesse deciso
di puntare l’aereo con decisione verso terra, quasi a scansare un imminente
pericolo.
Il problema è che questo pericolo non c’era e che puntare
verso terra subito dopo il decollo, ancora a bassa quota e bassa velocità, è molto
intuitivamente una cosa molto pericolosa… e se fatta in maniera repentina e
più volte, può provocare una tale instabilità e perdita di quota da provocare i
disastri poi avvenuti.
Ma perché quindi questo tipo specifico di aereo ogni tanto
(troppo spesso!) impazzisce, fa quello che vuole, punta il muso verso terra
ammazzando tutti? E perché i piloti sono impotenti in tutto questo?
Soprattutto: è vero che non potevano fare nulla per evitare
il disastro? Qui ci sono molti, molti dubbi…
Aereo o bus?
Parte tutto da una famosa diatriba ben nota tra addetti ai
lavori o appassionati di aerei: Boeing o Airbus?
Il motivo del contendere è un oggetto ben preciso: UN JOYSTICK.
Esatto: gli Airbus da molti anni non si guidano più con la classica cloche a due mani che tutti conoscono, ma con un joystick identico a quello dei videogiochi. Quando è stato introdotto il concetto di Fly-by-Wire, il controllo degli elementi di comando di un aereo tramite sistemi elettronico e non più solamente meccanico-idraulici, è stato un salto quantico, nella sensazione di guida di un aereo e nell’avionica in generale, con un sacco di critici e un crescente numero di appassionati, le cui opinioni ovviamente si ribaltano radicalmente nel momento in cui si parla del Boeing che invece ha una cloche di guida più tradizionale:
Ma anche l’avionica di un Airbus è molto diversa: per non
farla troppo lunga e tecnica, esiste una cosa in tutti gli aerei chiamata “INVILUPPO”,
che rappresenta una specie di cuscinetto di sicurezza intorno alla
posizione dell’aereo, una zona di
prudenza in cui il velivolo deve sempre trovarsi per essere in una condizione
stabile senza rischi. Un insieme di dati complessi di velocità,
inclinazione, accelerazione con dei limiti che non devono mai essere
oltrepassati per non mettere in pericolo l’aereo stesso e il suo equipaggio.
Ecco, la grande differenza tra i due colossi dell’aria è che negli
Airbus, l’avionica di bordo esercita un controllo molto forte per assicurare che l’aereo si trovi sempre correttamente
all’interno dell’inviluppo e che soprattutto evitare che il pilota faccia mai,
neanche volontariamente, delle azioni o delle manovre pericolose, a meno di
disabilitare volontariamente alcune funzionalità del cosiddetto “pilota
automatico”.
Di fatto, l’aereo guida quasi sempre da solo, scegliendo in
ogni condizione la manovra migliore per evitare (in teoria) qualunque tipo di
problema. Questo fatto, secondo alcuni, rende i piloti di Airbus così abituati
all’aereo che manovri quasi sempre da solo ed eviti autonomamente qualunque
rischio, da diventare pigri e disimparare come si guida veramente un velivolo
manualmente, tanto da essere chiamati “bus drivers”, guidatori di (Air)bus.
Un pilota Boeing invece, con la cloche tradizionale, prima
di tutto ha una sensazione tattile e visiva di quello che sta facendo lui e il
co-pilota, visto che le cloche si muovono insieme. Ma soprattutto, anche se
alcuni sistemi elettronici di ausilio alla guida sono stati introdotti pure in
questi aerei, può escludere istantaneamente il pilota automatico con una
semplice pressione sui comandi più decisa del solito, e riprendere totale
controllo dell’aereo. Questo significa ovviamente esserne anche capaci e
infatti i piloti di Boeing normalmente vengono ritenuti più abili proprio a
guidare l’aereo in maniera manuale e a “sentirne” il comportamento, visto
che lo praticano molto più spesso, piuttosto che fidarsi e lasciarlo pilotare da
solo.
In prima istanza, estremizzando verrebbe da dire che gli
Airbus sono più sicuri perché automatici e i Boeing invece necessitano di
piloti migliori… in maniera MOLTO superficiale, potremmo per un momento anche
dire così.
Ok, ma… non è successo ESATTAMENTE il contrario? Non è
stato un aereo Boeing a cadere e per colpa di un sistema automatico? Quindi
il contrario di quello che uno si sarebbe aspettato, no?
Beh, ma è PROPRIO quello il problema…
Cos’è il M.C.A.S. e perché non è ancora il vero colpevole
Allora, il nuovo Boeing 737 MAX, come suggerisce il
nome stesso, era la versione più grande dello stesso modello di aereo di grande
successo e dalla grandissima affidabilità, dotato anche di più potenti.
Il problema è che la potenza dei motori, la loro posizione,
i cambiamenti introdotti potevano creare delle situazioni di pericolo, di
uscita dal famoso “inviluppo”, in particolari condizioni di volo a bassa velocità
e angoli di volo elevati che potevano portare ad uno stallo del velivolo. Per
evitare questo grave tipo di pericolo, la Boeing ha avuto la grandissima
pensata (!!!) di introdurre un sistema anti-stallo elettronico chiamato M.C.A.S.
(Maneuvering Characteristics Augmentation System), molto simile a
quelli presenti negli aerei Airbus.
Lo scopo era preciso e anche lodevole, anche se diabolico
nella sua attuazione: far volare senza pericolo il nuovo MAX ai
piloti già addestrati con il vecchio 737 NG.
Sembra tutto ok, no? Un sistema per rendere i nuovi velivoli
più sicuri… andando un po’ a inseguire Airbus nell’automatizzare i sistemi di
volo e a ridurre il carico di lavoro e la richiesta di maggior abilità dei
piloti.
Allora è vero che il software ha fallito? No: sono stati dei
sensori.
La colpa è dei sensori… anzi no
Per funzionare, questo sistema M.C.A.S. ha bisogno, tra gli altri dati, dell’Angolo di Attacco (AoA)
forniti da alcuni sensori… che detta in maniera molto semplice indicano
l’inclinazione dell’aereo. Bene, sono stati questi dispositivi ad avere avuto
un malfunzionamento e ad aver dato indicazioni del tutto errate che hanno fatto
impazzire l’autopilota.
In poche parole, i sensori segnalavano che l’aereo si era
impennato in maniera pericolosa… e cercavano di ributtare giù il muso.
Peccato che non fosse vero, l’aereo stava volando dritto… e come in un vero
incubo, il software di bordo continuava a far perdere quota all’aereo
nonostante i ripetuti interventi del pilota per rialzarlo.
Vi immaginate che incubo? Siete alla guida di un aereo pieno
di passeggeri che impazzisce e vuole precipitare verso terra… voi provate a
raddrizzarlo per decine e decine di volte ma niente, punta inesorabile verso la
morte.
Finalmente: colpa dei sensori? E no, c’è un motivo per il
crash… e ancora una volta non sarà quello definitivo.
Un problema di soldi (o di progetto)
Questo sistema M.C.A.S.aveva in realtà a sua volta un meccanismo di diagnosi interna di tutte
le sue componenti, inclusi questi sensori di angolo di attacco, chiamato DLC.
Una volta che questo sistema avesse segnalato un problema, i piloti sapevano (in teoria…) che
avrebbero dovuto disinserirlo (attenzione che torneremo su questo punto) e
tornare a guidare in maniera manuale, come erano stati addestrati a fare.
Peccato che questo dispositivo fosse… opzionale e costoso,
per cui alcune compagnie aeree più “povere”, non l’hanno acquistato. E guarda
caso, sia gli aerei della flotta Indonesiana che di quella Etiope non erano
dotati di questo sistema di diagnosi e di allarme, per cui i piloti si
sono trovati in balia di un aereo che faceva di testa sua, inventandosi una
situazione di pericolo che non c’era e anzi andandola a creare. Tutto questo
per una questione di soldi.
Certo uno potrebbe dire: ma cavoli, in un sistema così delicato e potenzialmente salva-vita, non dovrebbe
essere integrato di default un sistema
di auto-diagnosi che vada a verificare che tutto funzioni correttamente,
dai sensori agli attuatori, dai computer al display?
Per cui anche il costruttore ha le sue colpe… avrebbe
dovuto rendere il nuovo sistema di guida automatico sicuro in tutte le
situazioni, anche in quelle di guasto.
Facciamo il punto della situazione prima di annunciare chi
è… il “maggiordomo”, il colpevole vero di questi tristissimi incidenti.
La catena di eventi scatenanti
Quindi, abbiamo questa catena di eventi che sembra piuttosto
chiara:
l’aereo
737 MAX è più grande e monta motori più veloci di quelli precedenti
essendo
più potente, potrebbe creare situazioni in cui l’impennata del muso provocherebbe
situazioni di grave instabilità di volo (stallo)
per
evitare questo problema ed evitare
stress (e nuovo addestramento) ai piloti, è
stato introdotto un sistema anti-stallo chiamato M.C.A.S.
i sensori
dell’Angolo di Attacco (A.o.A.)
erano guasti e fornendo informazioni inventate, facevano intervenire a
sproposito il M.C.A.S. facendo
precipitare l’aereo nonostante le correzioni disperate dei piloti
esisteva
un sistema di diagnostica di tali sensori che avrebbe avvertito i piloti di disinserire ilM.C.A.S. ma le compagnie aeree indonesiani
ed etiope non l’hanno comprato perché troppo caro
Sembra tutto chiaro, ma io come in un giallo ho disseminato degli
indizi per il colpevole finale, quello vero.
Infatti, se sei stato attento, ti sarà venuta in mente la
domanda fatidica:
Perché i piloti non hanno disinserito il M.C.A.S.?
Eh già, questa è la VERA domanda. Quella fatidica.
La possibilità di disinserire quella trappola mortale c’era,
ma i piloti non l’hanno utilizzata nei due voli fatidici. Mentre nel volo
etiope del giorno precedente, un pilota a riposo tra i passeggeri ha capito
cosa stava succedendo e si è precipitato in cabina per salvare piloti, aereo e
passeggeri. Un eroe? No: semplicemente UN PILOTA
INFORMATO E ADDESTRATO.
Infatti, i piloti di entrambi gli aerei precipitati, così
come molti altri piloti Boeing in giro per il mondo, avevano uno o più di
questi gravi problemi di addestramento:
NON SAPEVANO CHE ERA STATO INTRODOTTO IL M.C.A.S.
NON SAPEVANO COME FUNZIONAVA E QUANDO SCATTAVA
NON NE CONOSCEVANO LE REAZIONI ANOMALE IN CASO DI GUASTO
NON SAPEVANO NEANCHE
COME DISINSERIRLO!!
Vabbè, dirai, cose da PAZZI!! Sembra una follia totale, un
film horror, sapere che banalizzando,
bastava schiacciare un
bottone, premere un pulsante per disinserire il software mortale M.C.A.S.
Brivido di terrore.
E veniamo all’ultimissima domanda: perché i piloti non sono
stati addestrati??
La fretta di arrivare sul mercato
Esatto: è presto per la conferma definitiva, ma sembra che
il mancato o scarso addestramento sia stata una
strategia precisa per far diventare velocemente operativi i nuovi piloti sul
mercato.
Infatti, alcune voci di CBS News raccontano che
ai piloti sono stati fatti soltanto 56 minuti
di formazione su un iPAD per il nuovo 737 MAX
Allucinante.
Hanno preso un aereo sicuro, storicamente affidabile, dei
piloti bravi e competenti, che sapevano pilotare in condizioni anche rischiose
in modalità manuale… e gli hanno infilato dentro un nuovo sistema, un
software, un “tool” che doveva rendere la loro vita più facile, ma li ha
ammazzati perché non ne sapevano niente. Roba che mi provoca i brividi freddi
solo a pensarci.
Ancora una volta, così come per il sistema di diagnosi DLC
non acquistato, per risparmiare i costi… i tempi… per comprimere il
famigerato TTM (Time to Market), il vero killer di queste
due tragedie.
E tu? Lo sai benissimo, se hai letto altri articoli miei,
che ti tirerò in mezzo con una bella “lezione” su quanto appreso oggi da
applicare alla tua azienda.
La (mancanza di) cultura uccide
Pensaci un attimo, quante volte nella tua azienda, nel tuo
team per problemi di budget e/o di tempo:
hai
introdotto dei cambiamenti in azienda senza informare tutti?
hai
acquistato un tool senza comprare il corso adeguato?
hai
cambiato delle procedure senza informare e formare tutte le persone coinvolte?
hai magari
migliorato dei processi ma senza coinvolgere chi ne era affetto?
Ecco: tutte queste volte, tu hai potenzialmente corso il
rischio di:
di AMMAZZARE I TUOI
CLIENTI, se il tuo software è SAFETY-CRITICAL
di FAR FALLIRE I TUOI
CLIENTI (E TU CON LORO), se il tuo sistema è BUSINESS-CRITICAL
Conclusioni
Ti è piaciuto questo articolo? Scopri la mia newsletter gratuita dove periodicamente troverai:
analisi dettagliate di incidenti critici
(apparentemente) causati dal software
strategie ottimali per produrre software Safety-
e Business-Critical
consigli su come adottare delle tecniche sicure
ed efficaci nei tuoi progetti
Lascia la tua email per avere immediatamente accesso alla mia newsletter:
Se ci sei passato, saprai benissimo che la Certificazione Avionica Safety-Critical del Software ha una brutta fama… quella di letteralmente un bagno di sangue.
Sono tantissime le cose che devi fare di più rispetto a un normale progetto… vediamo alcune tanto per intenderci:
Avere un processo formale, rigido e ben definito
Rispettare formalmente tutte le fasi del ciclo di vita e le transizioni fra di esse
Soddisfare tutti gli obiettivi richiesti tramite attività, documenti, evidenze, checklist
Dotarsi dei migliori strumenti nonché di fornitori o sub-contractor adeguati
In poche parole… questo vuol dire solamente tre cose:
SOLDI, SOLDI e ancora SOLDI
E ovviamente tempi molto più lunghi, ritardi che si dilatano in maniera esponenziale così come i rischi di insuccesso e via discorrendo.
Esiste una via più rapida ed efficiente alla Certificazione Avionica?
E’ possibile riuscire ad essere più efficienti , senza sacrificare nessuno degli obiettivi Safety-Critical? Si possono accorciare i tempi, senza scordare nessuno degli obblighi dati dagli standard? Come si possono contenere i costi e rimanere compliant? Come ci può aiutare in tutto questo il M.E.D.S. (Method for Efficient Development of Software)?
Ne parlerò a Monaco, alla conferenza Aerospace Testing Europe durante la Aerospace Tech Week:
Come ogni anno, sono invitato a presentare delle soluzioni più efficienti per la Certificazione Avionica (e di conseguenza tutte le altre), quest’anno mi concentrerò su un compito apparentemente “impossibile”: dimostrare proprio come la Metodologia AGILE, che in teoria mal si presta al mondo “sicuro”, in realtà se ben usata può aiutare le aziende come la tua a vincere la sfida col Software Certificato, aiutandoti a essere più snello e rapido senza nessun sacrificio sulla Safety.
In poche parole, come il M.E.D.S. riesce a mettere insieme il Safety- e il Business-Critical.
Scopri la mia “sfida” impossibile partecipando alla mia presentazione a Monaco il 7 Marzo alle 14!