L’INCIDENTE DELLA FUNIVIA DI STRESA

E di come la sicurezza deve passare attraverso processi precisi e invalicabili

L’incredulità, gli occhi sbarrati di fronte alle prime notizie.
I brividi veri, quelli che ti scuotono fin dentro le ossa, quando ti rendi conto che potrebbe non essere stata una tragedia imprevedibile, ma c’è il tragico sospetto che sia stata frutto di decisioni od omissioni umane. 

Ero indeciso se scrivere queste parole. 

Non sono un esperto di funivie, non voglio sputare sentenze già troppo proclamate da ogni dove. 

Non voglio condannare e puntare il dito, non spetta a me. 

Vorrei solo analizzare le possibili soluzioni in termini di procedure.

Non quelle “a caldo”. Quelle saranno una danza di controlli a tappeto. 

Abbiamo oltre 1477 impianti a fune in Italia.

In quanti altri luoghi potrebbe ancora accadere?


Quanti altri boati immensi e innaturali potrebbero interrompere la quiete di quei paesi? 

Si susseguiranno verifiche, analisi, manutenzioni straordinarie. 

Se qualcun altro (e mi auguro proprio di no) aveva avuto la malaugurata idea di omettere dei controlli di sicurezza del genere, si sarà spaventato a morte pensando alle ben più gravi conseguenza a cui sarebbe andato incontro. 

Quindi, come ti dicevo, non importa molto la soluzione “a caldo”, ma quella a freddo, quando si saranno calmate le acque. 

Quando il boato assordante avrà finito di riecheggiare nelle nostre orecchie e ci sarà un altro problema all’ordine del giorno. 

Le soluzioni a lungo termine: quelle che davvero possono evitare le disgrazie

Facciamo una piccola premessa. 

Com’è fatta una funivia?


La faccio semplice, semplicissima, senza usare termini eccessivamente tecnici.
C’è un cavo grande come un braccio, il cavo PORTANTE.

Quello non si romperà “mai”, perché è progettato per resistere a forze molto superiori e viene controllato periodicamente. 

Quel cavo rimane fisso, con la funivia letteralmente appesa. 

E infatti non si è rotto quello. 

Poi ci sono i cavi TRAENTI

Sono quelli più sottili che si vedono di fianco. Tirano su e giù la funivia, attaccati ai motori veri e propri. Se quei cavi si rompono è un potenziale pericolo, perché la funivia potrebbe cominciare a scorrere sul cavo portante (ed è quello che è presumibilmente è successo a Stresa). 

Per evitare questo scenario c’è il FRENO

Ganasce che si agganciano con forza al cavo traente quando la funivia è ferma alle stazioni e che vengono rilasciate quando si deve muovere. 

Freno che in caso di pericolo diventa protagonista. 

In caso di brusche accelerazioni, calo di tensione, interruzione della corrente elettrica, guasti… diventa un FRENO DI EMERGENZA che blocca immediatamente la cabina, scongiurando la tragedia. 

Durante le operazioni di manutenzione però il freno potrebbe dare fastidio. Per questo c’è una FORCHETTA che tiene aperte le ganasce. 

SOLO CON LE CABINE VUOTE
SOLO PER IL TEMPO NECESSARIO per fare i controlli.

Solo-con-le-cabine-vuote.

Queste cinque parole mi rimbombano in testa e sono come cinque pugni in faccia. Fanno un male cane. 

A Stresa questa forchetta si sospetta che sia stata lasciata inserita, tenendo aperte le ganasce e impedendo il funzionamento del freno di emergenza, per evitare lavori di manutenzione e tenere fermo l’impianto.
Se questo è vero, da chi è stato fatto e perché, lo determineranno le doverose e minuziose indagini, ma per quello che ho da dire io in questo momento, è sufficiente questa ipotesi.  

Però… non è questo TUTTO il problema, c’è dell’altro. 

Poi, sembra sempre al momento come ipotesi credibile, che la reale causa scatenante è stata la rottura del cavo traente (che andrà comunque indagata perché un cavo non si deve rompere così), ma da sola non avrebbe causato nulla se non l’intervento del freno di emergenza. 

Ed è peggio. 

IL VERO PROBLEMA: la soluzione “a freddo”

Prima di tutto, sarà che sono abituato a pensar male per via del mio lavoro, ma la vera domanda che si fa anche un non addetto ai lavori è:

Quante altre funivie, in Italia e nel Mondo, hanno funzionato per anni con la “forchetta” inserita? 

Quante altre stragi sono state evitate per miracolo? 

E quante altre stragi potrebbero accadere se non si fa nulla? 


Questi pensieri, come ti dicevo, porteranno ad una soluzione “a caldo” che tappezzerà di controlli e verifiche la maggior parte degli impianti e che “metterà la strizza” a chi poteva avere avuto la stessa idea di queste persone.

Ma purtroppo queste sono le classiche lacrime del coccodrillo.

Quel sentimento forte, pesante come un macigno, che porta a voler spaccare tutto e agire immediatamente per impedire che una cosa così orribile possa ricapitare. 

Poi però passa il tempo, quel tempo che ha il potere di sfumare i contorni, di lenire le ferite. Quel tempo che ti permette di sopravvivere. 

Purtroppo è lo stesso tempo che permette che queste disgrazie ricapitino. Magari non nello stesso modo. 

Ma permettere che ricapitino. 

E chiunque abbia un’attività, un’azienda ha il dovere, verso se stesso prima di tutto, e poi verso i suoi dipendenti e clienti, di fare il possibile per limitare le probabilità che accadano questi errori.


PREVENIRE QUESTI ERRORI NEL FUTURO

L’errore umano può capitare. 

Gli esseri umani prima o poi sbagliano, questo è scontato nell’ambito della Safety: ci sono tabelle per ogni attività umana di un pilota, macchinista, che prevedono esattamente ogni quante ore una persona ignorerà un cicalino, una spia rossa, un allarme. 

È matematico, probabilistico: anche involontariamente, un uomo sbaglia. 

Il problema è quando non si tratta di errore ma di scelta consapevole

In questo caso sembra che non ci sia una soluzione. 

C’è lo sdegno, la vergogna, la difficoltà nel capire le dinamiche che hanno spinto ad un gesto così irresponsabile. 

Ma non è vero che non esiste una soluzione. 

Ce ne sono addirittura due. 



LA SOLUZIONE TECNOLOGICA 

In termini tecnici, una funivia dove è installata questa “FORCHETTA” è un 

sistema DEGRADATO

le sue funzionalità di sicurezza non sono presenti o comunque non sono garantite a livello di efficacia, per cui il sistema è pericoloso.
Siccome in caso di una funivia si tratta ancora di sistemi elettromeccanici, viene considerata un “Sistema Semplice”, per il quale si può raggiungere quella che è chiamata Sicurezza di Prodotto o PRODUCT ASSURANCE

Tramite analisi, progettazioni, simulazioni si riesce a rendere il sistema, se non matematicamente, almeno probabilisticamente sicuro. 

Gli incidenti nei sistemi elettromeccanici sono molto rari e il più delle volte causati dagli errori umani di cui abbiamo parlato. 

Posso immaginare quindi che la prima soluzione sarà di tipo tecnologico e meccanico. 

Verrà proprio impedito l’utilizzo di questa famigerata “FORCHETTA”, oppure verrà trovato un altro sistema per far viaggiare la funivia solo con cabine vuote in caso di manutenzione

Oppure dovrà essere modificato il sistema di blocco delle ganasce: facendo come succede in ambito avionico o in altri sistemi, quando questa forchetta è inserita (SE verrà mantenuta nella forma attuale), ci dovrà essere un segnale sonoro, visivo, meccanico che lo evidenzi in maniera inequivocabile, a prova di incapace. 

Hai presente le famose strisce rosse “REMOVE BEFORE FLIGHT” appese fuori da un aereo prima del decollo, da rimuovere appunto prima del volo?

Ecco, quello è il concetto. 

Potrebbe esserci un suono forte e inequivocabile causato dalla presenza della forchetta, oppure andrà fissata ad un grosso cartello o un altro dispositivo rosso, ingombrante e impossibile da ignorare. 

Ci potrebbe essere un sistema di blocco delle porte per evitare che salgano passeggeri. 

In poche parole: 


il sistema degradato deve essere segnalato o reso impossibile da usare, volenti o nolenti

LA SOLUZIONE SOFTWARE

Nel mondo dei sistemi basati su Firmware o Software Embedded, sempre più presenti nelle nostre vite, questo non basta!

Nel campo del codice, che oramai pervade ogni ambito, compreso quello delle funivie immagino così come tutti i sistemi elettromeccanici, purtroppo questo non è sufficiente. La soluzione del “Remove before flight” non è applicabile agli infiniti guasti che possono capitare a un’applicazione con una componente informatica. 

È complessa e con troppi livelli di profondità.
 

Milioni e milioni di righe di codice. 

Applicazioni e programmi che interagiscono tra loro. 

Le variabili da controllare sarebbero quasi infinite e questo le rende davvero difficili da gestire e dominare. 

Ancora peggio se, come purtroppo nel caso della funivia, si travalica il confine dell’errore umano. 

E si precipita nell’inferno della scelta consapevole. 

Tutto si può manomettere se c’è il dolo, l’intenzione pianificata di compiere un gesto preciso. 

Aspetta. So cosa stai pensando. 

Mi hai fatto leggere tutto questo articolo, arrivare fin qua… per dirmi che non esiste una soluzione efficace??” 

La soluzione esiste, non preoccuparti.



LA SICUREZZA DI PROCESSO 

Dopo le soluzioni “a caldo” di cui abbiamo parlato, pian piano si tornerà alla normalità. 

Ma per non rendere inutile tutto questo dolore bisognerebbe intervenire in maniera definitiva, agendo sul PROCESSO

Una cosa del genere non deve accadere perché a bloccarla ci devono essere una serie di impedimenti, diciamo burocratici per intenderci, per evitare che si ripeta in futuro. 

Più il sistema è complesso, più è all’avanguardia e implica quindi la presenza di un software, più la probabilità dell’errore diventa una scheggia impazzita e incontrollabile. 

I sistemi e le procedure che la gestiscono non possono essere gli stessi che a fatica tengono a bada i sistemi elettromeccanici. 

Per questo motivo, bisogna passare dal concetto di Sicurezza di Prodotto a quello di Sicurezza di Processo, in inglese PROCESS ASSURANCE.

 I concetti di base sono pochi e fondamentali: 

1) Controlli incrociati

La regola è molto semplice: uno fa, un altro controlla. 

Il famoso concetto che quattro occhi vedono meglio di due

Con un continuo controllo incrociato, in cui tutti hanno le stesse responsabilità, le probabilità di errore e di sabotaggio, si riducono notevolmente. 

In ambito avionico, si fa da sempre così ed è anche per quello che ci sono due piloti: per controllarsi a vicenda. 

2) Checklist

Ognuno di noi ha la sua esperienza, le sue conoscenze, le sue idee. 

Come si fanno i controlli, cosa si controlla e in quale ordine? 

Ognuno di noi farebbe controlli diversi. 

Da qui nasce la necessità di un deus ex machina che porti alla soluzione predefinita e ottimale. 

Per cui ecco le checklist: liste di controlli da fare e da spuntare, precise, ingegnerizzate, uguali per tutti, in tutto il mondo. 

A prova di errore, a prova di distrazione e stress, a prova di imbecille. L’unico modo per essere sicuri che i controlli vengano fatti, sempre nello stesso modo, da chiunque. 

Rimanendo sempre nell’ambito delle strette procedure che regolamentano gli strumenti degli aerei, ci sono checklist ben precise da seguire per ogni fase del volo (e prima di iniziare il volo). Ci sono lunghe check-list (così lunghe da essere veri e propri quaderni) solo per le operazioni anormali, ovvero come gestire situazioni di emergenza. 

È tutto prestabilito e ben poco è lasciato alla volontà del pilota. 

3) Verifiche indipendenti

L’ultimo passaggio è quello di Enti di Verifica esterni, autonomi, che facciano controlli casuali, a campione, improvvisi. 

Controlli non solo e non tanto tecnici, ma appunto di processo
Verifiche che siano state seguite le procedure, documentate le ispezioni, utilizzate le checklist, svolte le verifiche incrociate, firmati i verbali.

LA PROCESS ASSURANCE APPLICATA AL SOFTWARE

Questa strada ci rende più confidenti anche per il SOFTWARE, visto che tutte queste tecniche sono esattamente quelle che si usano per tutto quello che riguarda il SAFETY-CRITICAL (quindi come in questi casi dove è a rischio la vita delle persone), così come nei sistemi BUSINESS-CRITICAL dove i guasti possono provocare rallentamenti, disagi, perdita di dati ed economiche ma non mettono a rischio altri esseri umani.

Aumenteranno i controlli periodici, le ispezioni di organi ed enti indipendenti, le verifiche incrociate di personale esterno, gli organi di controllo, i bollini, i sigilli, le procedure ecc. rendendo di fatto molto difficile che si ripetano avvenimenti del genere. 

Questa è la vera, unica strada che l’aumento della complessità dei sistemi, soprattutto quelli moderni basati sul Software rende necessario: non è più sufficiente la striscia rossa “REMOVE BEFORE FLIGHT“, bisogna accompagnare la inesorabile conversione dei sistemi elettromeccanici in sistemi automatizzati e robotizzati, pieni di software.

Anche nella tua attività, nella tua azienda, puoi proteggerti da danni sia di business che di sicurezza. 

I secondi sono terribili e ti distruggono anche a livello personale e umano. 

Ma i primi non sono meno importanti.
Se il tuo prodotto o servizio viene bloccato da un problema al software come lo risolvi?

Non si tratta della vite o del pezzo di macchinario che puoi trovare e sostituire.
Il software è impalpabile, sfugge dal tuo controllo ed è molto complesso riconoscere e risolvere una sua anomalia.

Può causarti un danno d’immagine.
Può bloccare per giorni la tua produzione con danni economici che ti lascio solo immaginare…

Ma la strada del software può essere regolamentata e resa sicura, con processi determinati e precisi.

Quella che io chiamo la strada “dall’acciaio al bit“, tramite la lunga, faticosa PROCESS ASSURANCE

Prima di arrivare alla tanto chiacchierata ma ancora lontana Intelligenza Artificiale, Robot ecc., un sano e robusto processo, dei controlli periodici rigorosi, degli audit indipendenti e improvvisi sono e saranno per lungo tempo gli unici rimedi per evitare guai di questo genere, e questo vale per qualunque sistema o dispositivo, sia basato sul vecchio “acciaio”, che quelli nuovi e moderni oramai pieni di linee di codice Software. 

Per il disastro di Stresa io, come anche tu, non posso fare nulla. 

Possiamo però fare qualcosa per la tua attività, per prevenire qualsiasi tipo, più o meno grave, di incidente di percorso.

AEiC 2021Ada Europe

International Conference on
Reliable Software Technologies

Virtual event

7-10 Giugno 2021
Mio intervento: Giovedì 10 Giugno ore 13:45

come ogni anno da un bel po’ di anni a questa parte, anche quest’anno sono onorato di essere stato invitato come speaker alla prestigiosa conferenza 

ADA Europe 2021 – AEiC – VInternational Conference on Reliable Software Technologies


A questa fondamentale (e direi UNICA!) conferenza per tutti coloro che utilizzano il prestigioso e robusto linguaggio ADAparteciperanno tutti i maggiori esperti al mondo di Software Quality & Reliable Software Technologies.

Perché devi assolutamente partecipare a questa conferenza

Ancora una volta, perchè si tratta

dello stato dell’arte del Linguaggio Ada e  Reliable Software, dove i massimi esperti parleranno delle più recenti Tecniche, dei Toolpiù moderni, dei Metodi più sicuri

4 giorni di eventi virtuali, dove partecipare senza muoverti da casa: come ti dicevo per l’altra conferenza, quando ti ricapita un’opportunità del genere?

Chi sono gli oratori di questa Conferenza

Oltre a me ci saranno esperti universitari, ricercatori e altre aziende che utilizzano il linguaggio Ada e in generale tecnologie per il Reliable Software
Tutte aziendi appartenenti a settori Automotive, Medicale, Industriale, Elettronico.


Il mio intervento, su:
Software Testing: Manual or Automatic activity?
6 keys to higher Quality Software
sarà:


Giovedì 10 Giugno – ore 13:45


Mi ripeto: è una bella occasione, non te la perdere!

Come posso avere maggiori informazioni e soprattutto ISCRIVERMI?

Per avere l’agenda completa, informazioni dettagliate su come iscriversi, vai direttamente su questa pagina:

AEiC 2021 – Ada Europe 25th
e completa la tua iscrizione.

Per qualsiasi dubbio o domanda scrivi a:
CORSO@SOFTWARESICURO.IT

Massimo   

Partecipa alla Ada Europe Conference – AEiC 2021

Vector Virtual Software Testing Symposium

“SOFTWARE TESTING: Human or Automatic Activity? Six Keys to Higher Quality Software”  

19 Maggio 2021ore 13:00


Registrati e ricevi l’AGENDA e il mio speciale REPORT


quest’anno sono onorato di essere stato invitato come speaker alla prestigiosa conferenza Virtual Software Testing Symposium” organizzata da Vector Informatik, azienda con cui collaboro da oltre 10 anni. A questa speciale giornata parteciperanno tutti i maggiori esperti al mondo di Software Quality, Continuous Integration & Development, AGILE, DevOps e tanti altri argomenti correlati. 

Perché devi assolutamente partecipare a questa conferenza

Semplicemente, perchè si tratta

dello stato dell’arte del Software Testing, dove i massimi esperti parleranno delle più recenti Tecniche, dei Toolpiù moderni, dei Metodi più sicuri

per migliorare la Qualità del Software, la Sicurezza dei prodotti che vendi e diminuire i Tempi e i Costi.
Tutto insieme, nella stessa giornata, senza muoverti da casa: quando ti ricapita un’opportunità del genere?

Chi sono gli oratori di questo Symposium

Oltre a me e agli altri esperti colleghi di Vector Informatik, parteciperanno come oratori anche nostri clienti e partner di aziende al top come: 
GS Lab, Schneider Electric, Roche Diabetes Care, Nippon Seiki, Innovative Vehicle Institute, INFINEON, NVIDIA 
appartenenti a settori Automotive, Medicale, Industriale, Elettronico.
Mi ripeto: è una bella occasione, non te la perdere!

Quali argomenti verranno trattati

Ecco quali sono i temi della giornata:
– Unit, Integration, System Test
– Prevenzione ed Identificazione dei Bug
– AGILEDevOps ed altre metodologie
– Continuous Development, Integration & Testing
– Architettura, Modellazione, Simulazione & Testing
– Certificazione Functional Safety IEC-61508, DO-178C, ISO-26262, ASPICE

Come posso ricevere l’agenda dettagliata e soprattutto ISCRIVERMI?

Per avere l’agenda completa, informazioni dettagliate su come iscriversi e il mio
REPORT speciale sull’Automazione del TEST Software
vai su questa pagina:


REGISTRATI E RICEVI L’AGENDA E IL MIO REPORT SPECIALE

e completa la tua registrazione.

Per qualsiasi dubbio o domanda scrivi a:
CORSO@SOFTWARESICURO.IT

Registrati e ricevi l’AGENDA e il mio speciale REPORT

Massimo

Intervista a Vance Hilderman – CTO di AFuzion ed esperto di Certificazione Avionica

Ognuno di noi ha un Maestro, un “guru”, una persona che nella vita ci ha dato tanto, tantissimo in termini di cultura, di passione, di conoscenza: per me è senza dubbio Vance Hilderman, ora CTO e fondatore di AFuzion, ma in passato mio collega in Artisan Software e poi in Vector Software.

Vance è unico: con il suo approccio umile, cortese e sempre allegro, ha la proprietà magica di rendere comprensibile a chiunque una materia complessa, ostica e delicata come la Certificazione Avionica Safety-Critical: invece di annoiarsi, nelle sue lezioni non solo si impara ma si ride, ci si diverte con i suoi esempi e storie di vita reale, si fanno quiz. E le ore e i giorni di formazione volano: gli studenti (manager, dirigenti, imprenditori) da tutto il mondo sono contenti e hanno imparato di più da lui in poche ore che in anni di esperienza.

In questa intervista, Anna Chiara Cesari e Massimo Bombino di Software Sicuro provano a farsi raccontare da Vance alcuni momenti fondamentali:

– cosa sta succedendo nel mondo, in questo periodo così critico per via del COVID

– cosa stanno facendo le aziende per tutelarsi e reagire

– come la transizione “Dall’acciaio al bit”, dai dispositivi elettromeccanici al firmware, può essere gestita e dominata

– come la Certificazione può aiutare le aziende a raggiungere mercati più ampi

– cosa possono fare le aziende per poter ripartire di slancio appena possibile

Ecco l’intervista

In questo video, Vance ci parla soprattutto della MasterClass di (NON) Programmazione C/C++ Embedded & Realtime, un prestigioso corso di studi in 12 lezioni online, che è perfetto in questo periodo per aumentare le competenze del proprio team aziendale in termini di Progettazione Firmware Embedded e livellare verso l’alto le capacità degli sviluppatori, analisti e tester.

Grazie ai suoi prestigiosi docenti:

Massimo Bombino – CEO & Founder di Software Sicuro, una delle maggiori autorità a livello italiano di Sviluppo Software Embedded & Safety-Critical

Vance Hilderman – CTO di AFuzion, esperto di Certificazione Avionica e di Safety-Critical, con esperienza a livello mondiale

Niroshan Rajadurai – VP di GitHub, guru nel campo degli RTOS (Real-Time Operating Systems), Security, Continuous Integration

Roberto Bagnara – CEO di BUGSENG, membro del MISRA e maggior esperto di Analisi Statica in Italia

Maurizio Menegotto – CEO di Lauterbach Italia, autorità nel campo del Debugging, Emulazione Hardware

e agli argomenti trattati, questa MasterClass è la scelta strategica giusta e il miglior investimento che tu possa fare in questo periodo.

Ecco qua dove potrai trovare maggiori informazioni:


E se tutto quello che sai sulla Programmazione Software… fosse SBAGLIATO?

Ti sei diplomato o laureato in informatica, o magari in ingegneria, con la soddisfazione di iniziare finalmente a lavorare nel campo dello Sviluppo Software. O magari ci sei arrivato da autodidatta, non cambia molto il discorso.

Hai imparato tante belle teorie, metodi, processi ma ora non vedi l’ora di metterle in pratica e di cominciare a programmare sul serio, a CREARE.
Sei entusiasta, in fondo hai sempre pensato:
“Fai un lavoro che ami fare, e non lavorerai un giorno della tua vita”


E a te programmare è sempre piaciuto… ti sei lanciato nel tuo lavoro, a quei tempi ti sembrava quasi un sogno, no?
Non pensavi di aver trascurato niente… ma non ti sei reso conto probabilmente di alcuni errori subdoli, di alcune decisioni deleterie che sei stato indotto a fare.

La situazione pian piano è scivolata fuori controllo… 

Man mano che è passato il tempo però, ti sei reso conto che la quotidianità piano piano si è dimostrata completamente diversa da come te la aspettavi. 

Sai benissimo che nella vita di tutti i giorni, è di fatto impossibile concentrarsi sul proprio lavoro… su quello per cui hai studiato, hai sognato, o per giunta dovresti essere pagato. 

Difficile realizzare software innovativi. Impensabile fare vera ricerca e sviluppo di nuovi prodotti. 

In realtà molto probabilmente la tua giornata è fatta di una burocrazia che rasenta o supera quella della Pubblica Amministrazione:

  • Riunioni inutili, con ordini del giorno banali ma che ti portano via montagne di tempo
  • Telefonate continue sul cellulare che squilla anche fuori dall’ufficio, la sera e i weekend quando ti stai rilassando
  • La casella di email piena di rogne e richieste urgentissime da risolvere al più presto
  • I tuoi colleghi o collaboratori che sembra non siano in grado di risolvere nulla da soli e pendono dalle tue labbra
  • I tuoi capi o soci che pretendono ogni giorno di più risultati, risposte certe, consegne garantite
  • I clienti che si pretendono, lamentano e minacciano ritorsioni, penali, annullamenti, 

Insomma, lentamente ti sei ritrovato nel corso degli anni dentro un incubo, in cui ti senti quasi drogato, fuori controllo, facendo azioni di cui fatichi a rendertene conto. 
Quali errori stai commettendo? E perché?  

Cosa stai sbagliando senza rendertene forse conto? 

Già, ma quali sono questi errori che ti rovinano la vita? 
Cosa sono quei passi falsi che creano le premesse per il disastro?
E perché sembrano tutti inevitabili?
Posso vederti come se avessi la sfera di cristallo, non per altro ma perché ci sono passato pure io: 

  • Hai cominciato ad accettare lavori fuori target, per i quali la tua azienda non è specializzata, perché avevi bisogno di lavorare  
  • Hai fatto o accettato offerte fatte sul nulla, costruite sul vuoto, basate su chiacchiere, specifiche ridicole, telefonate  
  • Hai buttato nel team programmatori senza esperienza, neo-laureati, incompetenti, senza il tempo di poterli formare adeguatamente  
  • Hai accelerato artificialmente fasi critiche del progetto, come il TEST, tagliando su tempi e costi correndo enormi rischi  
  • Hai buttato sul mercato prodotti instabili, codice bacato, software incompleto per dover consegnare qualcosa a tutti i costi
      

 E potrei andare avanti all’infinito, no?   
Probabilmente annuiresti sempre anche tu: perché come ti dicevo, ci sono passato troppe volte prima di te.   
E finora non era chiaro per me chi erano i colpevoli di tutto ciò… davo la colpa a me stesso, poi ci ho ragionato sopra e ho pensato:   
Chi mi ha corrotto? Chi mi portato in questo Inferno?          

Chi sono i “corruttori” del mondo del software? 

Ci ho dedicato un’intera carriera a pensare agli errori fatti mi sono confrontato con gente molto più esperta di me, ho dedicato una mailing list:

QUELLO CHE LE AZIENDE (SOFTWARE) NON DICONO

che molto probabilmente già riceverai (altrimenti clicca QUI) e ho individuato tra gli altri, questi “agenti del Male” che ti hanno manipolato e condotto verso la situazione attuale:       

  • FORNITORI senza scrupoli, che in maniera deliberata ti hanno fornito un servizio pessimo, discontinuo, mettendoti in difficoltà con i tuoi clienti
  • CLIENTI pretenziosi, arroganti, che sono andati ben oltre il loro ruolo, allargando le pretese oltre ogni ragionevole livello, solo perché più forti nella trattativa;
  • MANAGER incompetenti e legati solo al loro ruolo, carriera e stipendio, incuranti delle necessità tecniche, formative e quotidiane del tuo team
  • COLLABORATORI impreparati, svogliati, demotivati che non riesci a far rendere neanche lontanamente come dovrebbero
  • VENDITORI, aziende che ti piazzano tool, app, diavolerie, ritrovati che dovrebbero toglierti problemi ma che te ne creano di nuovi

e via discorrendo. In poche parole:

SEI CIRCONDATO SU TUTTI I FRONTI

e non ti sei neanche reso conto in questi anni di come, dove e perché sei finito in questa situazione. 

Ci sei cascato, sei stato usato, manipolato, strapazzato a destra e manca e ora ti trovi in una situazione di stallo, dove non c’è una chiara via di uscita a quello che vorresti fare tranquillamente:

PRODURRE DEL BUON SOFTWARE, STABILE, CORRETTO, CON TEMPI E RISORSE RAGIONEVOLI   

La situazione probabilmente è grave ma non è spacciata: c’è ancora margine di manovra. Ma devi agire ora.   

Non ti posso biasimare per il passato, ma ora devi cambiare   

C’è da ripetere quello che ti ho detto sopra: 

IO TI CAPISCO (FIN TROPPO) BENISSIMO! 

Ci sono passato pure io, mi sono sentito tutte le colpe addosso di cose che non avevo fatto io, per ritardi, per errori gravi nei prodotti consegnati, per clienti e team insoddisfatti… pensavo di caricarmi tutto sulle spalle e ci è voluto un po’ per rendermente conto che non era (del tutto) colpa mia, come non lo (del dutto) colpa tua.

Ma ora però… devi agire. Al più presto. Altrimenti, sì che ne avrai la totale responsabilità.

Se non cogli ora l’occasione di dare una raddrizzata a tutto il modo che hai di lavorare, allora sì che avrai sprecato una grande opportunità e non potrai altro che dare la colpa a te stesso


Quindi, come ritrovare la  via perduta della Programmazione Software?

Semplice, si fa per dire: devi pensare al tuo peccato originale, al momento in cui hai perso la strada.​​​

Qual è il Peccato Originale della Programmazione Software? 

Devi tornare alle origini: quel particolare apparentemente insignificante che hai perso, quella piccola falla che negli anni si è allargato, quel piccolo dettaglio che mancava era semplicemente questo:

RISPETTARE IL PROCESSO

Ogni volta che hai pensato al Processo di Sviluppo Software come un’attività creativa, autonoma, manipolabile a piacere senza seguire un processo, hai fatto un piccolo passo verso l’Inferno del software, verso la dannazione.

Ora, mi sono dilungato fin troppo e non è questo il momento e il luogo adatto per ricordarti quanto è complessa la realizzazione di un Progetto Software, ci sono sicuramente dei percorsi e dei metodi che ti permetterammo però di ritornare alle origini:

correggere questi Peccati Originali e riprogettare tutto il Ciclo di Vita di Sviluppo in maniera ottimale

Ed è proprio di questo che ti voglio parlare oggi.

La mia MasterClass di (NON) Programmazione Software 

Questa è la strada che ho preparato per te: imparando dai miei errori (e dei miei guru, come Vance Hilderman, guru della Certificazione Avionica e CEO di AFuzion e Niroshan RajaduraiEvangelist della Software Factory e Vice-President Specialista Security di GitHub), insegnandoti tutte le “Lesson Learned”, traendo vantaggio dalle migliori Best Practisesinsegnate dalle aziende più avanzate al mondo: 

potrai ripercorrere tutta la Scienza e l’Ingegneria che sono dietro allo Sviluppo Software e finalmente liberarti di quei freni, quelle “maledizioni”, quel Peccato Originale che ti porti dietro da fin troppo tempo.  

Vai a questa pagina e leggi attentamente l’offerta che ho preparato per te:

MasterClass di (NON) Programmazione C/C++ – Embedded & Realtime

MasterClass di (NON) Programmazione Software Business- e Safety-Critical

Comunicazioni importanti

Ciao!

quanto studente della Masterclass riceverai regolarmente tutte le comunicazioni relative alle date del corso, il materiale didattico online e qualunque altra informazione.

Pianificazione Date   

Ecco le date pianificate al momento:


Lezione 01: Giovedì 6 Agosto 2020 – ore 14

  • Replica: Giovedì 27 Agosto 2020 – ore 14 

Lezione 02: Giovedì 10 Settembre 2020 – ore 14 

  • Replica: Martedì 15 Settembre 2020 – ore 9.30 

Lezione 03: Giovedì 24 Settembre 2020 – ore 14 

  • Replica: Martedì 29 Settembre 2020 – ore 9.30 

Lezione 04: Giovedì 8 Ottobre 2020 – ore 14 

  • Replica: Martedì 13 Ottobre 2020 – ore 9.30 

Lezione 05: Giovedì 22 Ottobre 2020 – ore 14 

  • Replica: Martedì 27 Ottobre 2020 – ore 9.30 

Lezione 06: Giovedì 5 Novembre 2020 – ore 14 

  • Replica: Martedì 10 Novembre 2020 – ore 9.30  

Lezione 07: Giovedì 19 Novembre 2020 – ore 14 

  • Replica: Martedì 24 Novembre 2020 – ore 9.30 

Lezione 08: Mercoledì 2 Dicembre 2020 – ore 14 

  • Replica: Mercoledì 9 Dicembre 2020 – ore 9.30  

Lezione 09: Giovedì 17 Dicembre 2020 – ore 14 

  • Replica: Martedì 22 Dicembre 2020 – ore 9.30 

Lezione 10: Giovedì 7 Gennaio 2021 – ore 14 

  • Replica: Martedì 12 Gennaio 2021 – ore 9.30 

Lezione 11: Giovedì 21 Gennaio 2021 – ore 14 

  • Replica: Martedì 26 Gennaio 2021 – ore 9.30  

Lezione 12: Giovedì 4 Febbraio 2021 – ore 14 

  • Replica: Martedì 9 Febbraio 2020 – ore 9.30 

Lezioni passate

Se hai iniziato il percorso dopo l’inizio delle lezioni, ti verranno mandati i link per riascoltare le lezioni già trascorse.   


Registrazione delle lezioni

Ovviamente, se hai acquistato il manuale e le registrazioni su DVD, non avrai problemi a riascoltarle, altrimenti contatta l’assistenza se decidi di acquistarle ora  e ti faremo una buona offerta.   
In ogni caso, alla fine del corso ti verranno spedite le slides stampate

Materiale didattico online   

Il materiale didattico cartaceo verrà spedito appena possibile, nel frattempo ti fornisco del materiale preliminare da studiare.  
La prima cosa che puoi fare è riguardare la Lezione ZERO della MasterClass

Masterclass di (NON) Programmazione Software: Lezione ZERO 

Il passo successivo è quello di di leggere il mio libro:

 Massimo Bombino “SOFTWARE SICURO: il libro” 

perché ti darà una visione d’insieme sul mondo del Software Safety & Business Critical e ti aiuterà a capire molti degli argomenti che verranno trattati nella Masterclass. 

Poi potresti passare a una lettura tranquilla, le mie Newsletter 1 e 2:

Newsletter “SOFTWARE SICURO” n.1

Newsletter “SOFTWARE SICURO” n.2

dove pubblico alcuni articoli divulgativi ma interessanti sul mondo del software critico. 
Infine, alcuni estratti del corso Requisito Perfetto che ti verrà comunque inviato via posta: 
10 Comandamenti del REQUISTO PERFETTO

Caso di Studio REQUISITO PERFETTO 

Argomento fondamentale e propedeutico a tutto il programma della Masterclass, per cui studialo bene! 

Se, invece, non sei ancora iscritto e vuoi iscriverti oppure ricevere informazioni dettagliate…

MASTERCLASS DI (NON) PROGRAMMAZIONE SOFTWARE BUSINESS- E SAFETY-CRITICAL

Oppure

ASSISTENZA@SOFTWARESICURO.IT

Benvenuto a bordo!
Massimo Bombino
      

MasterClass di (NON) Programmazione Embedded & Realtime

Il 1° Corso di NON programmazione: non solo le basi della scrittura del codice, ma soprattutto le Best-Practises, gli errori più comuni, la scelta della piattaforma, la gestione del real-time e dell’embedded e tutti gli altri aspetti più critici

Programmazione per: 

  • Sistemi Embedded
  • Real-Time
  • Microcontrollori
  • IoT (internet of Things)
  • App mobili

Per chi è questo corso?

Un corso quindi intensivo ed essenzialmente per:

  • PROGRAMMATORI E ARCHITETTI SOFTWARE o aspiranti tali: può essere tranquillamente il tuo primo corso di programmazione, senza saperne nulla prima. Magari fosse stato il mio primo corso! Quante notti insonni, quante incazzature, quante problematiche avrei evitato… Ma contiene così tanti concetti avanzati e poco insegnati, frutto della mia esperienza personale che oramai supera e di molto i 30 anni (sì, ho iniziato a programmare il BASIC e il PASCAL tipo a… 12-13 anni!) in centinaia di progetti e di clienti in tutto il mondo, dal gestionale all’aerospaziale, che tutto quel che ho appreso e concentrato in questo può essere di grandissima utilità anche a chi ha magari un sacco di anni di esperienza…. perché ti potrebbe evitare le testate contro il muro prese da me e dai miei colleghi e partner in questi anni in ambienti estremamente severi e critici
  • E’ anche un corso per MANAGERal di là degli aspetti tecnici di dettaglio, è un compendio di best practises, consigli strategici, impostazioni iniziali corrette ed errori da evitare. Come capirai continuando a leggere, grazie al distillato di esperienza personale nelle aziende e progetti in cui ho lavorato da dipendente, consulente e formatore, non è solamente un classico corso di programmazione, è una vera e propria guida strategica alla progettazione e scrittura di Software Sicuro. Per cui è fondamentale che siano concetti che padroneggi anche tu, per poterli implementare con il tuo team.

Perché un altro corso?

Ma se già programmi da tempo, perché mai dovresti rifare un corso di programmazione dopo anni dall’ultima volta che ne hai fatto uno?

Semplice: perché questo è il corso che avrei voluto fare io all’inizio della mia carriera ma non esisteva (e non esisteva fino ad ora!), invece di quello che “passava il convento”:

 – manuali strettamente tecnici e didascalici

 – corsi strutturati come un mero elenco di costrutti, strutture e dichiarazioni…

 – prove su prove su prove, errori inspiegabili, crash disastrosi

 – rifacimento di intere applicazioni e architetture per colli di bottiglia e problemi strutturali

 – notti insonni, straordinari al lavoro, ritardi, problemi col cliente…

Oltre ad essere un corso tecnico, molto intenso e fitto di informazioni, è fondamentalmente un corso strategico: ti insegna il mindset corretto, l’impostazione iniziale, le scelte chiave, l’approccio necessario ad evitare grossi guai futuri.

Non sto a ripetere la frase del grandissimo Michael Jordan, di cui è uscito di recente il film a puntate “The Last Dance” su fatto che lui stesso, per diventare il più grande, ha imparato dai propri errori.

Quello che otterrai in questo corso senza respiro è proprio l’elenco delle cazzate meravigliose che ho commesso io (o visto commettere), delle scelte in apparenza intelligenti e poi rivelatesi disastrose, di tutti i “mai più!” che ho dovuto esclamare nella mia carriera e di conseguenza tutto quello che avrei dovuto fare (ed è il caso che cominci almeno a fare TU).

Cos’ha di diverso questo corso? 

La differenza di questo rispetto ad altri N-mila corso esistenti al mondo, è proprio il fatto che è PREVENTIVO: non ti spiega all’inizio una serie di tecniche in fila, tra cui alcune estremamente pericolose e inefficienti, per poi scoprire solo dopo mesi o anni (se va bene in un corso avanzato, più spesso sulle tue spalle le conseguenze disastrose di certe scelte).

Ci sono cose nei linguaggi storici e moderni che sono estremamente rischiose e vanno usate con estrema cautela: perché allora insegnarle? Perché imparare a fare la nitroglicerina in casa, quando rischi di saltare in aria te, la tua casa, la tua famiglia e tutto il vicinato?

Fin da primo giorno, scoprirai non solo i dettagli tecnici, ma anche e soprattutto:

– Le scelte strategiche che devi fare prima di scrivere la prima linea di codice (linguaggio, sistema operativo, microprocessore, architettura, …)

 – I compromessi e le conseguenze di certe decisioni di base che si ripercuoteranno in futuro

 – Quali tecnichecostruttimetodi sono sicuri e affidabili e quali invece richiedono cautela e pianificazione, o sono da evitare del tutto

 – Quali sono le Best-Practises, le linee guida, gli standard internazionali per lo sviluppo di Software più sicuri e affidabile

 – Come evitare le sirene del marketing di tool e altre diavolerie che ti fanno andare fuori strada promettendo risultati irraggiungibili 

– Gli errori più comuni, i trabocchetti, gli effetti collaterali da evitare a tutti i costi

Senza tutte queste informazioni fondamentali a completamento delle nozioni tecniche, sarebbe come insegnarti a cosa serve ogni singolo bottone, leva e manovella di un jet di linea, senza avere comunque la minima idea di cosa voglia dire pilotare un aereo.

Che tipo di applicazioni potrai sviluppare?

  •  Che tipo di applicazioni potrai sviluppare dopo un corso del genere? 
  • Serve per fare app per telefonino o un software aeronautico questione di vita o di morte?
  • Meglio per programmare un gestionale oppure un delicatissimo dispositivo medicale?

Questo è un modulo formativo ESSENTIALS: quindi pur essendo ad altissima densità di informazioni rimane comunque un corso base, non è dedicato a un dominio specifico, un linguaggio preciso, un’architettura particolare. Non fa moltissima differenza se sviluppi app per telefonini, dispositivi embedded, sistemi gestionali.

I principi di base dello Sviluppo di Software Sicuro sono ESATTAMENTE GLI STESSI e vanno solo calati nella realtà tecnica in cui operi.

Per questo motivo, si tratta di un corso che ti potrebbe rendere già autonomo ed essere in grado di programmare quello che vuoi, ma richiede poi degli approfondimenti specifici, più tecnici e di dettaglio, che sarò lieto di suggerirti.

Detto questo, posso consigliarti questo corso se ricadi in uno di questi casi:

– Se sviluppi applicazioni che devono avere un alto grado di affidabilità e sicurezza (es. che trattano dati sensibili, transazioni economiche, oppure con tantissimi utenti)

– Se lavori in un settore Safety-Critical dove la sicurezza non è un optional (aerospazio, medicale, automotive, …) 

– Se vuoi in generale incrementare l’Affidabilità e l’Efficienza del tuo processo di Sviluppo Software

– Infine, se lavori in maniera totalmente dedicata al Cliente per cui vuoi fornire un Software che massimizzi la Customer Satisfaction

Con questo bagaglio culturale immenso, condensato fitto fitto in una manciata di moduli di formazione, ti renderà già un programmatore evoluto e con un livello di esperienza e di padronanza della programmazione software che nessun altro corso “teorico” potrebbe mai darti.

Partecipa alla prima lezione gratuita 

Oggi Giovedì 27/08/2020 ore 14:00

Potrai seguire tranquillamente la lezione dal tuo PC o dal tuo telefonino o tablet, ovunque tu sia.  

LEZIONE ZERO – 1° Corso di (NON) Programmazione

Business- e Safety-Critical Software

Lezione ZERO!

E’ in corso la Lezione ZERO del mio nuovo Corso di (NON) Programmazione:    


l’unico corso che ti insegna DA ZERO i trabocchetti, i segreti, le migliori pratiche della Programmazione Embedded & IoT, per ambienti Business e Safety-Critical

Sei curioso? Partecipa GRATIS alla LEZIONE ZERO!

  Già, nulla di meglio che vedere con mano quelli che saranno:    

  • la filosofia di base del corso, che lega come un fil-rouge tutto quello che faccio nella mia vita lavorativa
  • i contenuti del corso, presentati in maniera approfondita
  • le esercitazioni pratiche che gli studenti dovranno svolgere
  • il caso di studio che ci accompagnerà durante tutto lo svolgimento del corso
  • le abilità e le competenze che acquisirai con un programma del genere
  • i primi concetti di programmazione che devi conoscere ancora prima di scrivere anche solo una riga di codice
  • la sessione di Domande e Rispostein modo da toglierti ogni dubbio

Così capirai se il corso fa per te e per il tuo team (come spero), oppure se sei già un esperto di tutte queste tematiche per cui, fortunatamente, non ne hai bisogno.  

Quando? Oggi, Giovedì 9 Luglio ore 14

Esatto: tra poche ore,  un webinar in diretta accessibile non solo agli studenti già iscritti, ma a tutti quanti. 
Un po’ prima delle 14, collegati qui:


Corso di (NON) Programmazione: Lezione ZERO

Ci vediamo oggi alle 14!
Massimo

Prima volta che usi GoToMeeting? Fai un breve controllo se il tuo PC/Smartphone/Tablet è compatibile:   
https://link.gotomeeting.com/system-check

WEBINAR – Requisito più che perfetto

E’ disponibile la registrazione del Webinar di giovedì 25 Giugno dedicata ad a uno degli strumenti più potenti e sottovalutati del mondo dello Sviluppo Software.


https://youtu.be/PiRtjLRqmFM

Che cos’è un Requisito?

Beh, innanzitutto: che cos’è esattamente un “requisito?

I requisiti (perchè di solito sono centinaia o migliaia) sono un Contratto, un Capitolato, un Accordo Formale tra due entità:

  • cliente e fornitore   
  • designer e implementatore
  • sviluppatore e tester
  • produttore e certificatore

Rappresentano un modo molto piu’ sintetico e comprensibile di esprimere delle specifiche tecniche, con un linguaggio e una  forma che siano immediatamente recepiti dalla controparte.

Inizieresti a realizzare una casa con un progetto “approssimativo”?
Senza fare calcoli strutturali e simulazioni?
Senza un capitolato che specifichi bene tutti i costi previsti?  

In una sola sessione, veramente vedrai

tutto quello che ti farà mettere il turbo al tuo processo di Sviluppo e Test Software, eliminando colli di bottiglia facendoti fare un salto quantico

https://youtu.be/PiRtjLRqmFM

Un webinar dal contenuto incredibilmente strategico, delle informazioni che ci avresti messo mesi o anni a ritrovare, mettendo insieme decine di corsi diversi. Ma il M.E.D.S. (Method for Efficient Development of Software) è questo:

Farti evitare le trappole e gli errori commessi dagli altri e darti le migliori tecniche, le Best Practises, le soluzioni che funzionano veramente.  Puoi trovare TUTTE le registrazioni dei webinar finora effettuati qui: 


Registrazioni webinar SOFTWARE SICURO

Registrati al Canale YouTube per guardare gli altri video ed essere avvisato quando ne escono altri!

Canale YouTube SOFTWARE SICURO

Grazie!
Massimo 

1° Corso di Programmazione Software Business- e Safety-Critical

Il 1° Corso di NON programmazione: non solo le basi della scrittura del codice, ma soprattutto le Best-Practises, gli errori più comuni, la scelta della piattaforma, la gestione del real-time e dell’embedded e tutti gli altri aspetti più critici.
Programmazione per Sistemi EmbeddedReal-TimeIoT (Internet of Things)App mobili

Me l’avete chiesto veramente in tanti, tantissimi: ho capito che c’era un tassello fondamentale che mancava nella mia offerta di consulenza e corsi.

Infatti, man mano che parlavo con voi ho capito che c’era tutta una serie di concetti che io davo per scontati, avendoli appresi in diversi contesti e applicazioni internazionali in oltre 30 anni di carriera, che quindi non potevano essere necessariamente noti a tutti.

Per cui, eccolo qua: il mio Corso di Programmazione Business- e Safety-Critical, anzi il primo corso al mondo di NON Programmazione!

E se segui, capirai cosa vuol dire e perché è diverso da tutti i corsi che hai fatto finora, per cui non è il caso assolutamente di perdertelo: infatti, tieni conto che è il distillato di tutta la mia esperienza, è il corso che avrei voluto avere a disposizione quando ho cominciato a lavorare ma non c’era (e pure adesso, direi che è il primo nel suo genere).

Si torna alle basi: questo corso farà sicuramente parte di quello che io chiamo gli ESSENTIALS, ossia tutti quei corsi, infoprodotti, programmi di apprendimento dei concetti di base che ho deciso di creare, per dare la possibilità anche a te di fare molto più velocemente il percorso che ho fatto io, senza ripetere gli stessi errori.

Esatto, questo è il punto chiave: evitare tutti gli errori che ti portano ad avere un Software NON Sicuro.

Dove trovare informazioni?

Troverai a questo indirizzo tutte le informazioni sul corso:

  • A chi si rivolge?
  • Perché un altro corso?
  • Cos’ha di diverso dagli altri corsi?
  • Che tipo di applicazioni potrai sviluppare dopo questo corso

Se sei interessato a partecipare, contattami:

Grazie
Massimo Bombino

La tua azienda sta producendo pessimo software, bruciando prezioso budget in una spirale che presto ti manderà gambe all’aria. Te ne sei già accorto? E cosa stai facendo per evitarlo?
Tech Nerd theme designed by Siteturner