Cresce l’importanza del software in ogni settore. Come non essere travolti dall’Internet of Things?

Nelle scorse settimane Mark Zuckerberg ha presentato Aquila, l’ultimo avveniristico progetto portato avanti da Facebook. Aquila è un drone a energia solare che avrà il compito di portare la connettività Internet laddove oggi non vi è alcun tipo di copertura. Un ponte laser trasporterà il segnale fino al drone che, a sua volta, lo propagherà sulle zone sottostanti.
Aquila è un progetto grandioso per vari motivi, ma ciò che lo rende così speciale è l’ambizione di portare la copertura internet al 100% della popolazione terrestre, ossia ai 4 miliardi di persone non ancora raggiunti dalla rete.
L
a prima conseguenza di questo progetto sarà l’accentuarsi del trend, già in atto, che vede un proliferare incontrollato di device interconnessi. La nuova frontiera dell’Internet of Everything è alle porte e la connessione di tutti gli oggetti di uso comune potrà essere diffusa worldwide.

Questo scenario, a prima vista lontano nel tempo, è anticipato dalla rapida evoluzione della connessione in mobilità e dal moltiplicarsi dei servizi ad essa collegata. Sui moderni smartphone e tablet è possibile accedere a svariati servizi di diversa natura dove transitano dati ad alta sensibilità. L’avvento dei wearables non ha fatto altro che accelerare la presa di coscienza di questa tendenza nella nostra quotidianità.

Anche oggetti considerati ormai consolidati, come autovetture o elettrodomestici, non sono esenti da questo processo e diventano attori protagonisti degli albori dell’Internet of Everything. Ognuno di questi aspetti è un “Game Changer”, un nuovo modo di concepire e utilizzare oggetti o servizi già esistenti che eleva le complicazioni architetturali e progettuali a favore di una sempre maggior facilità di accesso a servizi e informazioni. La domanda che ci si deve porre è dicotomica: siamo sicuramente pronti al prossimo futuro come utenti ma lo siamo anche come fornitori di applicazioni e servizi?

Per prendere un caso di cronaca, i recenti test di hacking condotti su autovetture oppure su mobile app dimostrano che la risposta alla suddetta domanda è “non completamente”. Siamo ancorati a modelli di progettazione, sviluppo e test che mal si adattano a questi nuovi scenari evolutivi. La commistione sempre più forte tra device hardware e software aumenta il grado di complessità di sviluppo, test e manutenzione.

È appurato che i vari Apple Store, e similari, abbiano avvicinato l’utente finale al fornitore di applicazioni e servizi grazie al metodo della valutazione pubblica. L’utente diventa un attore del processo di test e validazione decretando il successo o meno di un’iniziativa di business. Le opinioni dell’utente sono pubbliche e raccolte dai media e governi che sempre di più comprendono l’importanza del software nel nostro mondo. Fino a poco tempo fa ci si indignava per un problema meccanico a bordo di un’autovettura e questo ha fatto sì che i processi produttivi delle componenti fisiche siano diventati molto scrupolosi aumentando la qualità del prodotto finale. Ma il software non è mai stato elevato a pari dignità dell’hardware che lo ospita. Almeno sinora.

Casi come Toyota e il caso recente di Volkswagen portano alla ribalta questi temi.

È richiesta maggior coscienza sul valore e sull’impatto che il software può avere sul nostro ambiente. Quali conseguenze possono avere un baco o una routine software su di una autovettura e come possono impattare l’immagine della casa produttrice, e quali conseguenze possano avere sull’utilizzatore?  È necessaria maggior rapidità nel processo di comprensione delle problematiche degli utenti e di risoluzione delle stesse. Ciò implica maggior coesione e automazione nel lungo processo di gestione e sviluppo applicativo.

Individuare il difetto, correggerlo, fare un’analisi di impatto, testare la bontà della correzione e rilasciarlo in produzione. Un flusso che può essere molto lungo e complesso. Ci sono aziende che già hanno iniziato un percorso di adeguamento a questo nuovo scenario automatizzando e ottimizzando il processo appena descritto tramite best practices e strumenti.

Ma quali sono i pilastri che dovrebbero sorreggere il cambiamento per non essere travolti dallo tsunami dell’Internet of Everything?

  1. gestione dei requisiti: formalizzare, dettagliare, storicizzare e tracciare i requisiti è il primo passo da intraprendere. In tal modo è possibile capire su cosa impatta un cambiamento in tempi brevissimi ed essere più proattivi nell’evoluzione dei sistemi.
  2. gestione del codice sorgente e build management: se non si è ancora fatto questo passo, è fondamentale creare un repository del codice sorgente per consentire le build automatiche in house sugli ambienti target ottenendo un maggior controllo del codice e una maggior rapidità nel rilasciare e testare le modifiche.
  3. gestire l’utilizzo delle librerie disponibili in rete da parte degli sviluppatori limitando così la possibilità di avere componenti con bachi di sicurezza o di altra natura in sistemi di produzione. Ancora, sincerarsi che dette librerie non contengano licenze non conformi alle policy aziendali e che mettano in pericolo la proprietà dei prodotti dove queste vengono utilizzate.
  4. automatizzare i test di non regressione e quelli funzionali per velocizzare il processo di test e poter eseguire sessioni di test il più frequentemente possibile
  5. eseguire test di performance per essere pronti all’aumento di traffico dovuto all’aumento di oggetti connessi alla rete che generano traffico.
  6. mettere sotto controllo di configurazione e rilascio i database per evitare problemi di rilasci inconsistenti e consentire rapidi rollback all’esigenza.
  7. automatizzare l’ultimo miglio di gestione dei rilasci per consentire una sempre più rapida catena di innovazione e messa in produzione.

Siete pronti ad affrontare questo viaggio per prepararvi al futuro senza rischi?

Segui il nuovo blog Emerasoft per rimanere aggiornato!

www.thegamechangers.it/

LinkedIn: TheGameChangers.it

Twitter: @ITGameChangers

 

Emerasoft può aiutarvi avendo maturato grandi competenze su questi temi, grazie alle esperienze provenienti dal campo su diversi clienti e in diversi mercati. Nel corso degli anni l’offerta di Emerasoft si è arricchita di servizi e prodotti che costituiscono un valido supporto al percorso di adeguamento ai cambiamenti in essere e mirati ad aiutare il cliente nella sua operatività.

Emerasoft offre servizi di assessment, consulenza, formazione, adeguamento a standard di mercato o alle metodologie agili. I consulenti Emerasoft rappresentano l’eccellenza in questo ambito.

Di seguito i prodotti consigliati da Emerasoft, ognuno leader nel proprio settore:

  • Polarion: gestione dei requisiti, dei test, dei defect, orchestrazione e tracciabilità del processo www.polarion.com
  • DBmaestro: gestione della configurazione e release della componente db
  • Nexus Pro by Sonatype: per la gestione delle librerie, individuazione di bachi di sicurezza e di altra natura, e per la gestione delle licenze utilizzate nelle applicazioni www.sonatype.com
  • Perfectomobile: test di app e siti mobile su device fisici www.perfectomobile.com
  • WalkMe: sistema di navigazione facilitata di siti web www.walkme.com
  • SVN, GIT e PlasticSCM: per la gestione del codice sorgente www.plasticscm.com
  • SmartBear: test funzionale e di carico www.smartbear.com
  • Jenkins Enterprise by Cloudbess per la schedulazione di build e deploy www.cloudbees.com
  • Telerik: piattaforma di sviluppo, test e CMS www.telerik.com
  • NeoLoad e NeoSense: performance test e application performance monitoring www.neotys.com
  • LoadGen: test di performance e monitoring di ambienti Citrix www.loadgen.com

Vogliamo confrontarci? sales@emerasoft.com