Lo stato attuale dell’Information Technology: i possibili sviluppi

Oggi tutti noi viviamo nella consapevolezza che non è possibile ignorare l’Information Technology: la tecnologia informatica ormai pervade la nostra vita quotidiana fino a diventarne parte integrante. Nessuno di noi oggi pensa di fare a meno di un telefonino, di un computer o di una televisione digitale.

In questo articolo vediamo qual è lo stato attuale dell’Information Technology e quali sono i possibili sviluppi in un futuro immediato e forse non molto lontano…

Il settore dell’Information Technology, o più in generale il settore delle Tecnologie dell’Informazione e della Comunicazione (Information and Communication Technologies – ICT) è in forte espansione sia in ambito privato che soprattutto all’interno del ciclo di vita di una impresa. Qual è lo stato attuale? Cosa abbiamo oggi a disposizione?

Per capire lo stato attuale dell’Information Technology, è necessario suddividere il panorama dell’ICT in tre ambiti principali:

  1. Soluzioni software esistenti (ad esempio pacchetti applicativi finalizzati alla gestione contabile amministrativa, alla gestione integrata dell’impresa, alla gestione dei movimenti bancari, alla gestione dell’e-commerce B2B e B2C, etc.).
  2. Software per la gestione di apparecchi hardware e delle reti.
  3. Sviluppo di soluzioni software personalizzate.

Vediamo ora nel dettaglio ciascun punto.

Soluzioni software esistenti

Vi sono imprese che hanno sviluppato una piattaforma software per uno specifico ambito e vendono il sistema informatico già pronto all’uso. Le principali categorie di pacchetti software esistenti sono:

  • Enterprise Resource Planning (ERP).
  • Software Configuration Management (SCM).
  • Customer Relationship Management (CRM).
  • Piattaforma di Acquisizione Clienti (PAC).
  • Pacchetti Contabili e Amministrativi.
  • Portali di e-commerce.

Il mercato di riferimento è quello delle imprese che vogliono adottare una soluzione software immediata ed a costi relativamente contenuti. I software ERP, SCM, CRM ed i pacchetti Contabili e Amministrativi sono ormai consolidati e presenti sul mercato da diversi anni. Con l’avvento e la diffusione di internet, sono nati e si sono diffusi dei veri e propri motori di e-commerce che permettono di realizzare portali di e-commerce completi ed immediatamente utilizzabili a costi molto contenuti. Le PAC sono piattaforma di Web Marketing per l’acquisizione automatica dei clienti. Una soluzione software PAC è composta dai moduli:

  • generatore di Optin Page;
  • generatore di Landing Page;
  • generatore di Sales Page;
  • autoresponder;
  • back-office di gestione.

Le piattaforme software esistenti possono essere combinate tra di loro ed essere utilizzate in forma integrata. Il limite è rappresentato dal fatto che per utilizzare una soluzione software esistente, le imprese interessate, devono adeguare il proprio modello di business.

Nella categoria delle soluzioni software esistenti, rientrano anche tutti i pacchetti applicativi di proprietà di un’impresa e fruibili da un utilizzatore finali tramite internet o telefonino.

Software per la gestione di apparecchi hardware e delle reti

I software per la gestione di apparecchi hardware e delle reti sono quelli che ci permettono di utilizzare un computer o un telefonino, un televisore o una radio, un cancello automatico e cosi via. La gestione di un hardware o di una rete, viene sempre fatta da un software che renda fruibile l’apparecchio all’utente finale interconnettendolo con altri utenti posizionati anche a distanza.

Sviluppo di soluzioni software personalizzate

Sono sempre più le aziende che adottano soluzioni software personalizzate e spesso sono quelle più orientate all’innovazione. In un contesto globale in continua evoluzione, si può ottenere un vantaggio strategico solamente se si affronta il cambiamento da leader anziché da seguaci, e l’unico modo attraverso il quale le aziende possono diventare leader è l’innovazione. Il mercato di riferimento è quello delle imprese interessate a migrare verso il digitale, senza perdere o adeguare il proprio modello di business. Le aziende, per essere competitive, hanno infatti bisogno di sistemi informatici modellati sui requisiti del loro business. La sfida è, dunque, la trasformazione digitale ed il trend del mercato di riferimento è positivo.

Questa scelta, però, non è esente da problematiche. Lo sviluppo software è un’attività complessa ed in continua evoluzione. La realizzazione di un progetto software, specialmente in ambito Enterprise, può risultare molto onerosa se non si adottano metodologie e strumenti adeguati. In (Sessions, 2008), l’autore quantifica il danno economico dei fallimenti software su scala mondiale: “in un anno nel mondo il costo dei fallimenti dei progetti IT è di 6.200 miliardi di dollari, di cui 1.200 nei soli Stati Uniti”. Egli individua nella “complessità” la causa principale del fallimento della produzione software in campo Enterprise. Allo stato attuale dell’Information Technology, lo sviluppo di una soluzione software personalizzata è onerosa ed anche rischiosa.

Ma quali sono i possibili sviluppi dell’Information Technology? Premesso che il settore è in rapida espansione e che la rivoluzione digitale è stata di una tale e tanta rapidità da non avere uguali nella storia, mentre è facile ipotizzare che per i primi due ambiti ci continuerà ad essere una evoluzione dei software esistenti, non è facile prevedere il futuro per lo sviluppo di software personalizzato.

Abbiamo appena detto che la realizzazione di un progetto software, specialmente in ambito Enterprise, può risultare molto onerosa se non si adottano metodologie e strumenti adeguati. Dal punto di vista delle metodologie si sono ormai consolidati alcuni approcci che caratterizzano sempre più l’Ingegneria Informatica: la Model Driven Engineering (MDE) e la Model Driven Architecture (MDA) rappresentano l’approccio più attuale per lo sviluppo dei sistemi informativi aziendali. Allo stesso modo lo Unified Process (UP) risulta essere il processo più utilizzato per la produzione industriale di software e si basa sullo Unified Modelling Language (UML) un linguaggio di progettazione rigoroso e formale che ben si adatta sia alla modellazione del business che dei sistemi software.

Per sviluppare software, anche di elevata complessità, negli ultimi anni, si sono sviluppati strumenti (spesso chiamati Framework, un’architettura logica di supporto su cui un software può essere progettato e realizzato, spesso facilitandone lo sviluppo da parte del programmatore) con l’obiettivo di ridurre drasticamente il numero di righe di codice da scrivere. La loro naturale evoluzione è la generazione di codice (da cui la dizione Inglese: “Low Code”), attraverso la quale si possono offrire vantaggi in termini di Time To Market e costi di sviluppo propri della soluzione a pacchetto insieme alla flessibilità delle soluzioni personalizzate.

Grazie all’utilizzo di linguaggi formali per la modellazione del business aziendale e del sistema software da realizzare, oltre che di architetture software evolute, si stanno sempre più sviluppando ed imponendo metodologie di sviluppo dei Sistemi Informatici Aziendali orientate alla generazione automatica del codice. Questo vuol dire che si stanno configurando dei quadri metodologici di riferimento e prodotti software, composti da un processo metodologico e da un insieme di strumenti software, strettamente integrati tra loro, che consentano lo sviluppo di Sistemi Informatici Aziendali (sia Web che Mobile) di qualità, mediante tecniche generative (“Low Code”) basate sul Model Driven. Oltretutto soluzioni di questo tipo si intravedono in un orizzonte anche relativamente vicino. Per generare applicazioni gestionali con tecniche Model Driven l’articolazione logica delle soluzioni prossime è così articolata:

La Metodologia è lo strato che supporta il processo metodologico alla base dello sviluppo software. La ricerca industriale effettua un’indagine critica sulle metodologie più diffuse per arrivare a proporne una nuova, innovativa, in linea con l’approccio “Low Code”, tenendo presente l’altro elemento cardine, ossia l’approccio Use Case Driven basato sullo UML. La Modellazione infatti sarà basata su due elementi cardine: l’utilizzo dell’UML per rappresentare la realtà aziendale e l’utilizzo di standard affermati per quanto riguarda la modellazione delle interfacce grafiche e le regole di business. La Generazione è lo strato responsabile della trasformazione dei modelli in codice, secondo il paradigma Model Driven. La generazione del codice del Sistema Informatico viene fatta a partire da Stereotipi nell’accezione UML con un approccio One Click Deployment: l’obiettivo è quello di automatizzazione le attività di messa in esercizio (o “deployment”) attraverso pochissimi passaggi approssimabili ad un singolo click.

Chissà che in un futuro meno prossimo non riusciamo a creare un software semplicemente parlando ad un computer e dicendo quello che vogliamo?

A presto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

quattro × uno =