Sticky

Reliable Systems Design and Production – STREAMING

Reliable Systems Design and Production

15-17 Dicembre 2020 

Ore 9.00-17.30

Università degli Studi di Udine 
Centro Internazionale di Scienze Meccaniche

Buongiorno,
dopo qualche mese dove gli eventi sono stati cancellati oppure riconvertiti in streaming, sono qua di nuovo a segnalare a te e tutti i miei iscritti questo convegno per il quale ho avuto l’onore di essere invitato come relatore:


Reliable Systems Design and Production

organizzato dall’Università degli Studi di Udine e che si terrà in STREAMING, nei giorni 

15-17 Dicembre 2020 dalle ore 9.00 alle ore 17.30

La scorsa edizione è stata rimandata a causa del COVID, per tale motivo questa volta il corso si terrà esclusivamente via streaming online.
Ecco l’importante parterre di relatori con cui avrò l’onore di condividere la “cattedra virtuale”:

Dott. Tullio Vardanega, professore dell’Università di Padova
Ing. Riccardo Bernardini, professore dell’Università di Udine

Il Convegno ha l’obiettivo di far conoscere ai giovani e ai professionisti quanto possano essere fatali gli errori dovuti al Software, l’importanza delle Certificazioni ed i nuovi sistemi ad alta affidabilità per lo sviluppo di Reliable Software in ambiente Critico.
Un convegno che vuole spiegare quanto sia efficace e produttivo sfruttare lo sviluppo di Reliable Software in tutte le aziende che utilizzano processi avanzati e non, per setacciare ed evitare che un piccolo errore possa compromettere l’intero sistema. 
Il convegno è suddiviso in tre giornate in cui ognuno di noi presenterà i differenti aspetti del Critical o Reliable Software:
DAY 1: Ing.Massimo Bombino, l’importanza delle Certificazioni Safety-Critical Software, al fine di evitare errori fatali. Presentazione di alcuni casi studio e della Certificazione avionica DO-178C: pianificazione, standards, processo, checklists e risultati finali. 
DAY 2: Ing. Riccardo Bernardini, introduzione e nozioni fondamentali di Crittografia. Verranno presentate le tecniche più comuni di attacco e le corrispondenti strategie di difesa.

DAY 3: Dott. Tullio Vardanega, presenterà sia nella teoria sia nella pratica con esercizi specifici il Ravenscar Profile (RP) un sottoinsieme delle funzionalità del linguaggio Ada progettato per Critical Software.

Qui trovate il programma da scaricare e le istruzioni su come iscriversi:

Reliable Systems Design and Production – Università di Udine – 15-17 Dicembre 2020 – FLYER Programma  

Per ulteriori domande, approfondimenti, iscrizioni:

assistenza@softwaresicuro.it

Ci vediamo il 15-17 Dicembre 2020 alle 9.00 online!

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

Cultura Aziendale e Team Management per aziende Software

Giovedì 19/03/2020 ore 14.00

Continuano i nostri webinar dedicati ad argomenti meno tecnici e più manageriali e gestionali, ma non per questo da trascurare per chi è uno sviluppatore: stavolta parliamo di Cultura Aziendale e di Gestione del Team.

Già, come spiegato negli ultimi webinar e articoli, la componente prettamente tecnologica basata sulla scelta di tool, linguaggi, compilatori, metodologie ecc. non ci deve far perdere di vista un concetto assolutamente banale ma fondamentale:

Senza le persone adeguate, ben selezionate e formate, con un ruolo e una responsabilità ben precisi, anche le migliori aziende muoiono

Il fattore umano

La componente umana gioca un ruolo importantissimo in un’azienda di qualunque dimensione ma diventa vitale in una PMI: nel momento soprattutto in cui il “titolare” non è più solo e deve assumere e formare delle persone nei vari reparti, iniziano a saltar fuori una serie di problemi veramente imprevedibili per chi non è stato formato adeguatamente su queste tematiche.

Già, infatti anche le migliori scuole di Business hanno una fortissima lacuna:


Non esiste una vera e propria formazione che insegni a selezionare, formare, inserire, motivare e far rendere al massimo i propri collaboratori, tutto insieme

Sì per carità qualche aspetto è toccato da alcuni corsi specifici che uno si può trovare a seguire in alcune realtà aziendali, ma NESSUNO di questi corsi affronta dei temi che sono tipici della realtà moderna fatta di team distribuiti su varie aree geografiche, collaboratori remoti in “smart-work”, grande dinamicità del mercato, gestione delle emergenze.

Quali sono i problemi specifici che un corretto approccio di gestione del Team e della Cultura devono garantire?

Gli aspetti fondamentali di Cultura e Team

Questi sono i concetti fondamentali che verranno discussi per la prima volta tutti insieme in uno stesso contesto:

  • Selezione del personale: come si fanno a selezionare i migliori talenti? Con il Curriculum Vitae? Con colloqui individuali? NO! Non funziona più nulla di tutto ciò…
  • Valori Aziendali: i valori della tua azienda sono chiari, diffusi, accettati e rispettati? Le nuove persone che iniziano a lavorare con te sanno a cosa vanno incontro esattamente?
  • Resa dei collaboratori: riesci a formare, motivare, far rendere i tuoi collaboratori al meglio? Oppure hai degli opportunisti scalda-sedi e ciuccia-stipendio che se ne andrebbero alla prima occasione?
  • MANUALE OPERATIVO: hai creato, implementato e stai mantenendo la componente critica fondamentale della gestione un’azienda di qualunque dimensione?
  • Cultura Aziendale: quali sono gli strumenti, i mezzi, le tecniche che hai per diffondere e far vivere la cultura interna della tua azienda, anche per collaboratori remoti? Oppure lasci che siano il pettegolezzo, l’invidia, la voglia di scalata aziendale a motivare nel modo sbagliato le persone?

Un webinar dal contenuto incredibilmente strategico, delle informazioni che ci metteresti 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

Webinar “Cultura Aziendale e Team management per aziende Software”

Giovedì 19/03/2020 ore 14:00

Per vedere le registrazioni dei webinar precedenti vai su…

https://www.softwaresicuro.it/Mautic/webinar-2019-registrazioni

Grazie

Massimo

Il Software ai tempi del Coronavirus

“Never to launch a war that one has not already won”

Carl von Clausewitz

“Non cominciare una guerra che non sai già di avere vinto”, diceva il generale prussiano von Clausewitz, autore di un vero e proprio compendio sull’arte della guerra: “On War”, un’opera enciclopedica in 10 volumi sulla strategia bellica, sicuramente una delle più studiate e largamente applicate nella preparazione dei conflitti ma non solo, anche in altri settori tra cui quello aziendale e del marketing strategico.

Quali sono due “guerre” che non vale la pena al giorno d’oggi iniziare, a meno che uno ovviamente vi sia costretto? Beh presto detto: i due lavori che non vorrei trovarmi a dover affrontare in questo periodo sono il Ministro della Sanità di un immaginario paese (ai tempi del CORONAVIRUS, tristemente attuale mentre sto scrivendo) e il Software Quality Assurance Manager. Penserai che sono ammattito, giusto? Che il virus abbia conseguenze psicotiche? Forse hai anche ragione, ma continua a leggere…

Read More

World Software Quality Report: questo non è un paese per tecnici!

Webinar “FOCUS & POSITIONING”

Giovedì 27/02/2020 ore 14.00

Stavolta un webinar chiaramente dedicato a un argomento non tecnico: con il rischio che venga bollato come “noioso” e poco eccitante per un programmatore/sviluppatore, in realtà l’argomento è estremamente spinoso e riguarda tutti quanti, più da vicino di quanto tu possa immaginare.

In molti si chiedono in che cosa investono le aziende per garantire la qualità dei loro prodotti. Alcuni spunti di riflessione arrivano dal recente World Quality Report 2019, una finestra sul mondo del Quality Assurance (QA) e Test. Il report misura l’importanza delle attività di QA e Test per circa 1.700 CIO e altri professionisti senior di 32 paesi, su 8 aree di applicazione.

Un report sempre molto attuale ed efficace nel descrivere quelli che sono i trend, le esigenze e le sfide del mondo dello Sviluppo Software di Qualità. Su una cosa in particolare poi mi trovo totalmente d’accordo… sul fatto che l’IT non debba assolutamente essere solo nella ricerca della Qualità ma debba essere accompagnato da altre figure aziendali, in una visione aziendale olistica.

La novità è che la Qualità tende a non essere più un’attività isolata dello Sviluppo Software, ma assume contorni sempre più sfumati e pervade tutti i processi aziendali di sviluppo del prodotto. Il report tenta inoltre di tracciare gli investimenti in Quality Assurance e Test ma trova difficoltà in questo compito a causa del nuovo carattere pervasivo della Qualità. Però… questo secondo me è il grosso limite dello studio: quel coraggio in più nell’analizzare la situazione da vari punti di vista non convenzionali.

Infatti, quali sono le soluzioni proposte?

Soluzioni tecniche… sempre e solo tecniche… AI, reti neurali, security, automazione…

Ecco, il rischio è sempre il solito, quello tipico di tutti noi tecnici cioè quello di

fare i nerd e continuare ad avvitarci su noi stessi, in maniera ricorsiva, senza guardarsi intorno e soprattutto senza uscire dalle mura dell’IT e del Software

cercando di capire cosa fanno le aziende di successo nel mondo e soprattutto in altri settori.

Molto spesso i problemi che si trova ad affrontare un reparto R&D di un’azienda sono semplicemente irrisolvibili perché fallaci fin dalla base… perché manca totalmente una cultura aziendale adeguata, o perché la stessa azienda ha un posizionamento sul mercato totalmente sbagliato, perché opera in un settore e in una categoria già affollati o ancora peggio che non interessano a nessuno.

E questo perché noi esperti di sviluppo software e attività affini non abbiamo il coraggio di dialogare con (o di assumere!) altre figure aziendali considerate del tutto estranee e “sporche” rispetto al puro mondo dei bit.

Non parliamo con gli esperti di marketing e non ci mettiamo a studiare con loro delle soluzioni efficaci per risolvere i problemi dei clienti PRIMA di creare una nuova soluzione che magari non serve a nessuno, invece che proporre prodotti che non risolvono nessuna esigenza e alla fine, anche se tecnicamente perfetti e bug-free, non si venderanno (vedi SONY BetaMax, IBM OS/2, ecc…)

Così come noi manager di R&D Software o IT non dialoghiamo con le controparti aziendali economiche e finanziarie… non abbiamo idea dei costi, di parametri come il T.C.O. (Total Cost of Ownership) di un progetto, per cui continuiamo a selezionare fornitori che ci costeranno troppo in futuro come supporto, clienti che non portano nessun margine anzi ci danno problemi di cashflow e così via, perché l’economia e il marketing vengono considerati una materia noiosa e inutile.

Noi tecnici, sviluppatori, manager, CIO dobbiamo rimetterci a studiare o almeno ad apprendere i concetti basilari di marketing, di posizionamento, di focus, di economia, di R.O.I. (Ritorno dall’Investimento), di T.C.O… solo così si può pensare di costruire un’azienda, un brand o anche solo un progetto che possa stare in piedi, al di là dei meravigliosi tecnicismi che si usano per tenere insieme un novello moderno Frankenstein tecnologico, che però non serve a nessuno e ci si rivolta contro.

In questo webinar troverai finalmente le risposte a queste domande:

  • Quali sono i ragionamenti da fare possibilmente PRIMA di entrare sul mercato?
  • Come mi devo comportare rispetto alla mia concorrenza, diretta e indiretta?
  • Meglio concentrarsi su pochi prodotti e servizi, o trovare il modo di accontentare tutti?
  • Come posso estendere la varietà di prodotti che vendo o realizzo, senza danneggiare me stesso?

Le tematiche che verranno affrontate infatti non sono di stampo esclusivamente tecnico ma sono divise in tre macro-aree:

MARKETING-FIRST

Le 3 ere delle aziende di produzione software e l’impatto con il mondo tecnico e dei Requisiti

POSITIONINING

Analizzare il mercato, la concorrenza e posizionarsi nella testa del cliente

FOCUS

Concentrare tutta la potenza di fuoco del tuo marketing su pochi (ma buoni) servizi e prodotti, in modo da massimizzare il ritorno economico e il successo aziendali

Anche se sei un tecnico, dammi retta: iscriviti senza indugio a questo webinar e se fai parte del livello M.E.D.S. DAL-B potrai farmi anche delle domande durante lo stesso.

Per registrarti a questo webinar:

Webinar “FOCUS & POSITIONING per aziende Software

Giovedì 27/02/2020 ore 14:00

Massimo

WEBINAR 2019: registrazioni disponibili

Dopo il successo del 2019, ecco le registrazioni dei webinar effettuati:

07-28 Marzo: Requisito Perfetto (da cui il video-corso) 

21 Maggio: Verifica e Validazione del Software Automotive con ISO-26262 
 
 

04 Luglio: Presentazione Metodo M.E.D.S. 25 Luglio: Il grande inganno del Test Software

19 Dicembre: Modellazione e Simulazione dei Requisiti Software

Sappi che ho voluto pianificare altri 5 incontri per la prima metà del 2020, dedicati ad approfondire gli argomenti da voi più richiesti.

DI SEGUITO, LE DATE DEI PROSSIMI WEBINAR:

  • 16/01: Metriche KPI
  • 20/02: Focus Positioning per aziende Software
  • 19/03: Team Management Cultura Aziendale
  • 16/04: Strategie Avanzate di Testing Continuous Integration
  • 25/06: Approfondimento su Requisito Perfetto

A CHI SONO RIVOLTI I MIEI WEBINAR?    


– IMPRENDITORI che hanno a che fare con il software, direttamente o all’interno dei prodotti che creano

– MANAGER che gestiscono un gruppo di lavoro che scrive o integra del software

– TECNICI che vogliono imparare delle metodologie avanzate che migliorano la qualità e velocizzano il lavoro di scrittura del software

TI ASPETTO AI PROSSIMI INCONTRI!  

Registrati al canale YouTube di SOFTWARE SICURO per guardare gli altri video:

Canale YouTube SOFTWARE SICURO

Clicca invece qui per conoscere meglio CHI SONO IO E QUALI SONO I MIEI PROGETTI RICONOSCIUTI SIA A LIVELLO NAZIONALE SIA INTERNAZIONALE!
Per ogni tuo dubbio, perplessità e curiosità, scrivi pure a:
assistenza@softwaresicuro.it
Massimo

Il tuo processo di Sviluppo Software è… BI-dimensionale?

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:

Read More

Sicurezza di prodotto o di processo?

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? 

NON È COSÌ

ed ora ti spiego perché.

Read More

Stai proteggendo il tuo Business dai rischi dello Sviluppo Software?

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.

Read More

Presentazione corso M.E.D.S.

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:

  1. STRATEGIA
  2. ECONOMIA
  3. GESTIONE
  4. SUPPORTO
  5. 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 (Autunno 2020).

Il videoPresentazione corso M.E.D.S.” è disponibile sul nostro canale YouTube:

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