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

WEBINAR Modellazione e Simulazione dei Requisiti Software

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 Bombinouna 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!

Canale YouTube SOFTWARE SICURO


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

Un software da 500 milioni di dollari?

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?

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

Christine, la macchina (a guida autonoma) infernale

Come forse avrai letto, a Marzo 2018 un’auto a guida autonoma di Uber ha investito una donna di 49 anni in Arizona, uccidendola


Esatto: come nei migliori (e peggiori) film di fantascienza se non horror, una macchina dotata di intelligenza artificiale apparentemente è impazzita e ha ucciso un essere umano, uno dei peggiori incubi dell’evoluzione tecnologica dell’uomo. La cosa come immagini ha creato grande scalpore e polemiche, provocando la sospensione di qualunque test su strada. 


In questo articolo, cerco di spiegarti in maniera semplice cosa è successo, di chi è precisamente la colpa (e non è quello che raccontano i giornali, neanche la stampa specializzata!), qual è l’errore di fondo e cosa c’entra un vecchio col cappello. 


Capirai perché tutto questo ha a che fare con i progetti software, con il gioco del poker e soprattutto comprenderai che, molto probabilmente, c’entri anche tu. Sì, proprio TU.


Ma andiamo con ordine. 

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
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