Le tecnologie negli ultimi decenni hanno subito una rapidissima evoluzione, e il loro impatto sulla società e le vite di tutti noi sono evidenti a tutti. Più o meno ovunque sono disponibili reti wireless, di pari passo con la diffusione di dispositivi che sono in grado di accedere alla rete anche in modo autonomo. Non si tratta più solo di personal pc ed ormai neanche più solo di smartphone o tablet: stiamo per assistere alla diffusione degli wearable devices, che insieme a tutti gli altri dispositivi, veicoli e così via contenenti software, sensori, attuatori e componenti in grado di fornire connettività in rete, vanno a costituire la rete delle Internet Of Things (IoT). Ciò rappresenta al contempo un confortante orientamento all'innovazione ed una fonte di criticità laddove non si sarebbe mai immaginato prima potesse esserci. Il software vulnerabile è una delle cause principali di tantissimi incidenti che coinvolgono il concetto di "sicurezza", proprio a causa della complessa natura del software. Così se in un notiziario TV viene annunciato che la metropoli è nel caos, poiché un cyber-attack ha causato un black-out energetico, che ha comportato il disservizio per 18 ore continuative di trasporti , banche e uffici pubblici (e ciò è accaduto nella realtà, non stiamo facendo un esempio accademico), ci possiamo rendere conto di quanto seria sia l'attenzione da porre su questi aspetti.
Nei progetti software la riduzione delle vulnerabilità software è possibile ed estremamente utile, sebbene non sia un compito banale. Anni ed anni di esperienza nelle software house più importanti ci hanno consegnato metodi e procedure efficaci per migliorare il processo di sviluppo del software. Mediante l’utilizzo di questi principi si ha la possibilità di ridurre il costo totale di sviluppo. Infatti il debito tecnico viene a ridursi naturalmente quando un maggior investimento in fase di progettazione e realizzazione del software porta alla riduzione di rischi di vulnerabilità che se affrontati a posteriori causerebbero un incremento dei costi disastroso. L’intero ciclo di sviluppo del prodotto ne beneficia. In aggiunta a ciò è da considerare che minor rischi e minor costi portano ad un miglioramento dell’immagine dell’azienda, che riuscirà così a stabilire con i propri clienti un rapporto di fiducia che diviene un vero e proprio asset aziendale, il valore aggiunto che quell’azienda è in grado di fornire rispetto ai competitors, la chiave per sbaragliare la concorrenza con un’arma portentosa: la fiducia incrollabile nel brand.