Siamo nell’era della trasformazione digitale, in cui ogni processo viene rivisto e ottimizzato tramite il supporto di tecnologie informatiche. E per ogni processo, si intendono tutti i processi aziendali e industriali, ma anche quelli correlati alla persona, nella vita quotidiana.
Normalmente i sistemi di trasformazione digitale hanno alcune caratteristiche comuni che li contraddistinguono:
- Sono basati su infrastruttura cloud: la raccolta globale dei dati relativi al processo è infatti il presupposto per la sua ottimizzazione, anche attraverso l’uso di intelligenza artificiale.
- Sono di tipo “omnichannel”, cioè la fruizione del servizio deve essere possibile in multicanalità: ad oggi si devono considerare almeno i browser e i principali dispositivi smartphone e tablet, ma nel prossimo futuro anche chatbot intelligenti e ar/vr.
- Sono integrati con i principali canali di accesso del mondo digitale e quindi con:
- I social network
- I sistemi di notifica e le email
- I motori di ricerca
La rivoluzione digitale #
Vediamo ora quali sono le principali problematiche da affrontare per lo sviluppo di un sistema di trasformazione digitale:
Infrastruttura cloud e scalabilità: un sistema di trasformazione digitale è quasi sempre basato su una infrastruttura cloud pubblica. È possibile configurare e gestire manualmente questi sistemi utilizzandoli a livello IAAS (infrastructure as a service), ma è consigliabile l’adozione di una piattaforma PAAS (platform as a service) che gestisce il cloud in modo automatico e in cui sono presenti procedure di disaster recovery, di gestione della scalabilità e di controllo dell’integrità del sistema. Per ottimizzare i costi di runtime del servizio è importante avere a disposizione un servizio di test di carico in grado di simulare i diversi livelli operativi che dovranno essere garantiti.
UX Design e multicanalità: i sistemi di trasformazione digitale sono spesso indirizzati ad un pubblico eterogeneo e distribuito. Occorre quindi una accurata progettazione della user experience in modo da rendere più semplice possibile la fruizione del servizio da parte degli utenti finali. Occorre infine prevedere lo sviluppo di un set di applicazioni che vanno dall’interfaccia web alle applicazioni mobile, ma anche quelle per i sistemi di back office e di controllo del sistema.
Integrazioni con altri sistemi informatici: un sistema di trasformazione digitale non vive mai isolato, anzi spesso nasce proprio per permettere la condivisione di dati che altrimenti rimarrebbero inutilizzati perché chiusi. In questo senso dovranno essere predisposte le opportune API sia come generazione che come consumo, ma occorrerà anche affrontare l’integrazione del mondo on-premise che di solito non ha contatti con il mondo del cloud.
Distribuzione ed aggiornamenti: una puntuale distribuzione dell’applicazione nell’infrastruttura cloud e negli app store è un elemento chiave del successo dell’operazione. È fortemente consigliabile che l’infrastruttura PAAS utilizzata abbia un sistema automatico di aggiornamento che includa anche gli schemi di database, altrimenti si possono perdere ore di downtime ad ogni release del prodotto. Nel contempo si deve predisporre un sistema automatico di aggiornamento delle applicazioni mobile in tempo reale, superando il tradizionale ciclo di distribuzione tramite app store.
Controllo del corretto funzionamento del sistema: sia durante le fasi di beta test che di effettivo utilizzo del sistema, è necessario dotarsi di un sistema di controllo che consenta di verificarne il corretto funzionamento. Per quanto riguarda i server nel cloud si consiglia di dotarsi di un sistema di analisi dei log e uno strumento di debug realtime; per quanto riguarda le applicazioni di un sistema di analytics per raccogliere sia i dati di utilizzo che le eventuali anomalie di funzionamento. Infine può essere molto utile un sistema di raccolta feedback in-app, che consente agli utenti di farci sapere cosa pensano della nostra app senza dover per forza utilizzare le recensioni negli app store.
Sicurezza informatica: questo argomento è oggi sempre più in evidenza, dato che la creazione di un sistema sicuro è un argomento complesso e costoso. Da questo punto di vista è consigliabile l’utilizzo di un sistema di sviluppo che massimizzi l’adozione di tecniche di programmazione sicura by design.
Instant Developer Cloud #
Instant Developer Cloud è la piattaforma cloud nativa nata proprio per rispondere alle esigenze delle software company e dei professionisti che vogliono creare sistemi di trasformazione digitale. Contiene tutti gli strumenti per sviluppare, distribuire e gestire tali sistemi in maniera integrata ed ottimizzata e permette di risolvere in modo efficiente tutte le problematiche indicate in questo capitolo.
Instant Developer Cloud abilita le aziende che sviluppano software ad entrare nel mondo della trasformazione digitale già da oggi, richiedendo un insieme minimo di competenze e mettendo a disposizione in modalità PAAS (platform as a service) tutti gli strumenti e i componenti necessari per il successo della propria iniziativa di trasformazione digitale.
Nei paragrafi successivi verranno analizzate la composizione della piattaforma e la struttura delle applicazioni, e al termine di questo articolo vengono riportati i prerequisiti e i supporti formativi con cui affrontare l’apprendimento dei vari componenti di Instant Developer Cloud.