scenari

Intelligenza artificiale e software 2.0, così cambierà il ruolo dello sviluppatore

Il Software 2.0 utilizzerà l’automazione per sfruttare la sinergia tra gli sviluppatori e le macchine su cui lavorano. In questo scenario, alcune figure legate all’ingegneria del software potrebbero avvicinarsi a ruoli simili a quelli di “data enabler”. Vediamo i possibili sviluppi

Pubblicato il 23 Dic 2019

Andrea Benedetti

Senior Cloud Architect Data & AI, Microsoft

software-house

Ci avviamo verso il software 2.0, “potenziato” dall’AI e soprattutto dal deep learning. Il codice sarà più a prova di bug, perché – tra l’altro – l’analisi via AI servirà ridurre il tasso di errori e vulnerabilità sfruttabili dal cyber crime.

Ma così cambierà anche il ruolo dello sviluppatore, dato che l’AI si occuperà di compiti basilari nella programmazione.

La rivoluzione immaginata già qualche decennio fa entra in una fase ancora nuova e tutta da “scrivere” e che darà vita a un nuovo paradigma di creazione del software, trasformando il ruolo dello sviluppatore senza farlo scomparire.

Così il software si è “mangiato” i mercati tradizionali

La rivoluzione comincia da lontano: l’AI potrebbe essere il tassello definitivo verso un’ulteriore “softwarizzazione” di tutti i settori.

Nel 1999, Lawrence Lessig, giurista e avvocato statunitense, professore ad Harvard, scriveva nel suo libro “Code and Other Laws of Cyberspace”, che “il codice è legge” (code is law) dove, con codice, si riferisce alle righe di istruzioni che compongono un programma informatico, un software.

E, diversi anni dopo, nel 2011, di Marc Andreessen (famoso nell’universo IT per aver co-creato il browser Mosaic e per aver co-fondato Netscape, poi venduta ad AOL per una cifra pari a 4,2 miliardi di dollari) che scrisse un articolo molto interessante – e molto attuale – dal titolo “Why Software is eating the world” in cui, la sottolineatura fondamentale può essere riassunta da questo inciso: “Companies in every industry need to assume that a software revolution is coming“.

A dimostrazione di quanto espresso, può essere interessante notare come proprio nel 2011, quando scrisse l’articolo, nessuna delle società più grandi (come capitalizzazione di borsa) era una software company ma, piuttosto, un’azienda tradizionale (nelle prime posizioni c’erano: JPMorgan Chase, HSBC Holdings, General Electric, Exxon Mobil, Royal Dutch Shell. Compagnie petrolifere, istituti bancari, aziende manufatturiere, dunque).

Oggi, dopo qualche anno, possiamo guardare questa stessa classifica con i dati aggiornati al 30 settembre 2019 e trovare che le prime quattro posizioni sono occupate da aziende tecnologiche: Microsoft, Apple, Amazon, Alphabet, seguite da Berkshire Hathaway, un’azienda “tradizionale” (subito dopo, in sesta posizione, troviamo un’altra azienda tech: Facebook).

Nel giro di otto anni, insomma, il panorama è completamente cambiato.

Jeff Immelt, nell’ottobre del 2014, all’epoca Presidente & Amministratore Delegato di General Electric, dichiara pubblicamente durante la keynote di una conferenza: “If you went to bed last night as an industrial company, you’re going to wake up this morning as a software and analytics company“, sottolineando quello che potremmo definire il concetto di internet industriale: ovverosia la convergenza tra il sistema produttivo tradizionale e le tecnologie informatiche grazie a:

  • potenza di elaborazione raggiunta dai calcolatori,
  • quantità di dati disponibili,
  • possibilità di sfruttare sensori (IoT) a basso costo
  • nuovi livelli di connettività consentiti dalla rete.

Il software, in pochissimi anni, ha “mangiato” sia mercati tradizionali (librerie, pubblicità, distribuzione musica, recruiting, comunicazioni) sia singoli processi o porzioni di catene di valore (logistica e distribuzione, ottimizzazione dei prezzi, gestione immagini satellitari, intrattenimento nei trasporti).

Tutto quello che il software fa (già) meglio e prima di noi

Molti sistemi di analisi, reportistica e presentazione dei dati, da diverso tempo, sono già in grado di sfruttare meccanismi di Intelligenza Artificiale per scrivere riepiloghi e relazioni testuali semplicemente sfruttando i numeri e i grafici a disposizione, convertendo così i dati in narrazioni, sfruttando componenti di natural language generation (NLG).

Si potrebbe rimanere sorpresi nel sapere quanti media, tra cui The New York Times, Associated Press, Reuters, Washington Post e Yahoo! Sport (o anche altre tipologie di aziende come Commerzbank, Groupon, Forbes, USAA), utilizzano già l’IA per generare, in maniera automatica, alcuni dei loro contenuti sfruttando gli stessi meccanismi di NLG citati poco sopra.

Come avviene per altri utilizzi dell’IA, questa generazione di contenuti consente alle imprese di poter elaborare set di dati di grandi dimensioni in modo più efficiente di quanto possano fare le persone.

La rapidità con cui si ottiene questo risultato è di sicuro incredibilmente maggiore rispetto a quanto sarebbero in grado di fare gli umani.

Oggi, gli assistenti virtuali sono in grado di affiancarci e aiutarci nel fare diverse operazioni. Si pensi all’organizzazione di una riunione in un momento libero nelle agende di tutti i partecipanti, alla gestione della grafica delle presentazioni basandosi su quanto stiamo scrivendo permettendoci, così, di concentrarci più su quanto vogliamo dire, piuttosto che su come vogliamo costruirne l’impaginazione e il layout.

Scriviamo mail sui nostri telefonini che sono in grado sia di correggere i nostri errori ortografici, sia di suggerirci la successiva parola da scrivere.

L’IA sta permettendo a qualsiasi settore e industria di poter sfruttare le potenzialità che mette a disposizione.

Molte aziende stanno automatizzando processi aziendali (Business Process Automation, BPA) modificando la loro strategia operativa per risolvere punti deboli presenti in aree come il marketing, le vendite, il customer care o l’assunzione di personale; oppure stanno inserendo dei Robotic Process Automation (RPA) per eliminare la necessità, demandata a operai umani, di svolgere attività ripetitive.

Ironia della sorte, i vantaggi dell’IA vengono applicati anche a quei lavori che tipicamente vengono utilizzati proprio per la realizzazione dei sistemi automatizzati.

Il software 2.0: il ruolo dell’AI

Come ha avuto modo di dire più volte Andrej Karpathy, già ricercatore di OpenAI e oggi direttore dell’AI di Tesla, il cosiddetto “Software 2.0” utilizzerà l’automazione per sfruttare una sinergia tra gli sviluppatori e le macchine su cui lavorano: “Le reti neurali non sono solo un’altra modalità di classificare, rappresentano l’inizio di un cambiamento fondamentale nel modo in cui scriviamo il software. Parliamo di software 2.0”.

La scrittura e lo sviluppo del software è tipicamente un processo iterativo: un programmatore scrive alcune righe di codice, le verifica e quindi, basandosi sui risultati ottenuti, procede con le successive righe di codice.

Questo tipo di processo è esattamente ciò che i sistemi di intelligenza artificiale possono automatizzare, prendendo il posto occupato dalle fasi di iterazione degli sviluppatori permettendo, così, di liberare tempo affinché possa essere utilizzato per attività a più alto valore come concentrarsi su come realizzare soluzioni nuove e innovative.

Il tradizionale ciclo di vita di uno sviluppo software inizia, generalmente, con la definizione dei requisiti (una specifica tecnica), quindi passa alla progettazione e al suo sviluppo. Una volta costruito un prototipo, vengono utilizzati dei test per controllarne funzionamento e qualità. Infine, una volta superati tutti i precedenti passaggi, avviene prima il passaggio in produzione e, successivamente, viene iniziata la fase di (continua) manutenzione.

Le metodologie agili possono accelerare questi cicli, grazie alla scelta di set di funzionalità ridotte su cui concentrarsi, per sprint di 2-4 settimane anziché costruire per intero tutto il software in un unico progetto.

Questo processo, sia agile che non, è essenzialmente sempre lo stesso.

Tentando di semplificare, oggi vengono creano segmenti di codice e di istruzioni con una serie di regole: se accade X, allora Y, altrimenti Z.

Siamo noi a istruire la macchina, riga per riga mentre, grazie a tecnologie come il deep learning (tecniche di apprendimento automatico che, simulando il comportamento del nostro cervello, insegnano ai computer a svolgere un’attività naturale per l’uomo), ormai i computer vengono educati più che programmati.

AI, un nuovo paradigma di creazione del software

Il “software 2.0” potrà invece basarsi su una rete neurale in grado di apprendere quali istruzioni o quali regole sono necessarie per ottenere il risultato desiderato, sostituendo la necessità (per le persone) di “scrivere” istruzioni.

In questo scenario, alcune figure legate all’ingegneria del software potrebbero avvicinarsi a ruoli simili a quelli di “data enabler”, professionisti in grado di comprendere sia i dati necessari agli sviluppi che quelli che si attendono come risposta/soluzione per poterli farli gestire dagli algoritmi di IA.

Per anni abbiamo utilizzato sistemi di refactor automatici (tecniche applicate per migliorare alcune caratteristiche non funzionali del software come leggibilità, manutenibilità, riusabilità, estensibilità, …) per risparmiare tempo nella riscrittura di codice.

Domani, l‘automazione basata sull’intelligenza artificiale potrà essere utile agli sviluppatori di software, così come ha dimostrato nel tempo il “pair programming”, una tecnica di sviluppo software nella quale due programmatori lavorano insieme a un’unica postazione di lavoro, un processo di costante collaborazione con altri colleghi: una cooperazione che permette di fondere e condividere esperienze differenti con approcci differenti, con l’obiettivo di fare meglio quanto già viene fatto.

Mi piace immaginare un assistente in grado di determinare il tipo di funzione che sto scrivendo e, quindi, che possa essere in grado di suggerirmi, in maniera automatica, come completarla basandosi sul mio stile e utilizzando un’analisi predittiva di alto livello.

Mi piace pensare che sarò e saremo in grado di ridurre il tempo utilizzato per scrivere implementazioni, per poter aumentare quello dedicato alla comprensione e alla risoluzione dei problemi che devono essere corretti.

Mi immagino riunioni in cui viene discussa una necessità (“mi serve una videata dove poter far inserire i dati di…”) e una macchina che, comprendendo cosa si vuole ottenere, inizi a realizzare un prototipo e delle istruzioni da cui partire.

Definendo con pattern uno schema ricorrente o una struttura ripetitiva (in generale, indica la ripetizione di una determinata sequenza), il suo rilevamento automatico potrebbe essere reso automatico e approfondito così da identificare e classificare i tipi di errore (pattern detection: una sotto area dell’apprendimento automatico, consiste nell’analisi e identificazione di schemi al fine di identificarne la classificazione).

Algoritmi di deep learning potrebbero, in questo modo, contrassegnare errori noti e accelerare il processo di debug, l’attività che consiste nell’individuazione e nella correzione dei malfunzionamenti.

Oltre a suggerire il completamento del codice, una volta appresi i modelli necessari, un sistema di intelligenza artificiale potrebbe generare codice mettendo insieme alcuni moduli predefiniti, un po’ come costruire oggetti sempre diversi avendo a disposizione differenti mattoncini Lego.

Provando a ragionare su quali sono gli aspetti che potrebbero beneficiare da subito degli approcci di intelligenza artificiale, potremmo considerare:

  • prototipazione rapida, per passare da requisiti a interfacce visuali
  • assistenti intelligenti alla programmazione, per avere supporto / raccomandazioni / debug
  • gestione degli errori, identificando errori comuni e gestendoli automaticamente nella fase di scrittura del codice
  • refactoring automatico, gestendo pulizia del codice per migliorare leggibilità, collaborazione e manutenzione
  • analisi e precisione delle stime, potendo prevedere tempi di sviluppo e budget necessari in maniera più precisa
  • decisioni strategiche, suggerendo quali caratteristiche e funzionalità priorizzare nello sviluppo

Siamo certamente ancora agli inizi e ci vorranno anni prima che queste tecnologie possano essere utilizzate in maniera approfondita e su ampia scala.

Il punto vero è aver presente che il deep learning e l’intelligenza artificiale in genere, non è e non potrà essere la soluzione a tutti i problemi ma, certamente, può metterci nella condizione di avere ambienti più ricchi e con più competenze. E questo può solo essere un bene per tutti.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

EU Stories - La coesione innova l'Italia

Tutti
L'ANALISI
INIZIATIVE
PODCAST
Video&podcast
Analisi
VIDEO&PODCAST
Video & Podcast
Social
Iniziative
INNOVAZIONE
EU Stories | Dalla produzione industriale a fucina di innovazione: come il Polo universitario della Federico II a San Giovanni a Teduccio ha acceso il futuro
L'INIZIATIVA
DNSH e Climate proofing: da adempimento ad opportunità. Spunti e proposte dal FORUM PA CAMP Campania
INNOVAZIONE
EU Stories, il podcast | Laboratori Aperti: riqualificazione e innovazione in 10 città dell’Emilia-Romagna
Da OpenCoesione 3.0 a Cap4City: ecco i progetti finanziati dal CapCoe.  Il podcast “CapCoe. La coesione riparte dalle persone”
Capacità amministrativa e coesione: il binomio vincente per lo sviluppo dei territori
FORUM PA PLAY: come unire sostenibilità e investimenti pubblici. Speciale FORUM PA CAMP Campania
Scenari
Il quadro economico del Sud: tra segnali di crescita e nuove sfide
Sostenibilità
Lioni Borgo 4.0: un passo verso la città del futuro tra innovazione e sostenibilità
Podcast
Centro Servizi Territoriali: uno strumento per accompagnare gli enti nell’attuazione della politica di coesione. Il podcast “CapCoe. La coesione riparte dalle persone”
Podcast
EU Stories, il podcast | Politiche di coesione e comunicazione: una sinergia per il futuro
Opinioni
La comunicazione dei fondi europei da obbligo ad opportunità
eBook
L'analisi della S3 in Italia
Norme UE
European Accessibility Act: passi avanti verso un’Europa inclusiva
Agevolazioni
A febbraio l’apertura dello sportello Mini Contratti di Sviluppo
Quadri regolamentari
Nuovi Orientamenti sull’uso delle opzioni semplificate di costo
Coesione
Nuovo Bauhaus Europeo (NEB): i premi che celebrano innovazione e creatività
Dossier
Pubblicato il long form PO FESR 14-20 della Regione Sicilia
Iniziative
400 milioni per sostenere lo sviluppo delle tecnologie critiche nel Mezzogiorno
Formazione
“Gian Maria Volonté”: dalle aule al mondo del lavoro, focus sui tirocini della Scuola d’Arte Cinematografica
TRANSIZIONE ENERGETICA
Il ruolo del finanziamento BEI per lo sviluppo del fotovoltaico in Sicilia
Formazione
“Gian Maria Volonté”: dalla nascita ai progetti futuri, focus sulla Scuola d’Arte Cinematografica. Intervista al coordinatore Antonio Medici
MedTech
Dalla specializzazione intelligente di BionIT Labs una innovazione bionica per la disabilità
Finanza sostenibile
BEI e E-Distribuzione: investimenti per la sostenibilità energetica
Professioni
Servono competenze adeguate per gestire al meglio i fondi europei
Master
Come formare nuove professionalità per governare e gestire al meglio i fondi europei?
Programmazione UE
Assunzioni per le politiche di coesione: prossimi passi e aspettative dal concorso nazionale. Il podcast “CapCoe. La coesione riparte dalle persone”
innovazione sociale
Rigenerazione urbana: il quartiere diventa un hub dell’innovazione. La best practice di San Giovanni a Teduccio
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
INNOVAZIONE
EU Stories | Dalla produzione industriale a fucina di innovazione: come il Polo universitario della Federico II a San Giovanni a Teduccio ha acceso il futuro
L'INIZIATIVA
DNSH e Climate proofing: da adempimento ad opportunità. Spunti e proposte dal FORUM PA CAMP Campania
INNOVAZIONE
EU Stories, il podcast | Laboratori Aperti: riqualificazione e innovazione in 10 città dell’Emilia-Romagna
Da OpenCoesione 3.0 a Cap4City: ecco i progetti finanziati dal CapCoe.  Il podcast “CapCoe. La coesione riparte dalle persone”
Capacità amministrativa e coesione: il binomio vincente per lo sviluppo dei territori
FORUM PA PLAY: come unire sostenibilità e investimenti pubblici. Speciale FORUM PA CAMP Campania
Scenari
Il quadro economico del Sud: tra segnali di crescita e nuove sfide
Sostenibilità
Lioni Borgo 4.0: un passo verso la città del futuro tra innovazione e sostenibilità
Podcast
Centro Servizi Territoriali: uno strumento per accompagnare gli enti nell’attuazione della politica di coesione. Il podcast “CapCoe. La coesione riparte dalle persone”
Podcast
EU Stories, il podcast | Politiche di coesione e comunicazione: una sinergia per il futuro
Opinioni
La comunicazione dei fondi europei da obbligo ad opportunità
eBook
L'analisi della S3 in Italia
Norme UE
European Accessibility Act: passi avanti verso un’Europa inclusiva
Agevolazioni
A febbraio l’apertura dello sportello Mini Contratti di Sviluppo
Quadri regolamentari
Nuovi Orientamenti sull’uso delle opzioni semplificate di costo
Coesione
Nuovo Bauhaus Europeo (NEB): i premi che celebrano innovazione e creatività
Dossier
Pubblicato il long form PO FESR 14-20 della Regione Sicilia
Iniziative
400 milioni per sostenere lo sviluppo delle tecnologie critiche nel Mezzogiorno
Formazione
“Gian Maria Volonté”: dalle aule al mondo del lavoro, focus sui tirocini della Scuola d’Arte Cinematografica
TRANSIZIONE ENERGETICA
Il ruolo del finanziamento BEI per lo sviluppo del fotovoltaico in Sicilia
Formazione
“Gian Maria Volonté”: dalla nascita ai progetti futuri, focus sulla Scuola d’Arte Cinematografica. Intervista al coordinatore Antonio Medici
MedTech
Dalla specializzazione intelligente di BionIT Labs una innovazione bionica per la disabilità
Finanza sostenibile
BEI e E-Distribuzione: investimenti per la sostenibilità energetica
Professioni
Servono competenze adeguate per gestire al meglio i fondi europei
Master
Come formare nuove professionalità per governare e gestire al meglio i fondi europei?
Programmazione UE
Assunzioni per le politiche di coesione: prossimi passi e aspettative dal concorso nazionale. Il podcast “CapCoe. La coesione riparte dalle persone”
innovazione sociale
Rigenerazione urbana: il quartiere diventa un hub dell’innovazione. La best practice di San Giovanni a Teduccio
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati