software rigidi

Così funziona il sistema: quando il software complica la vita (e cosa può fare l’AI)



Indirizzo copiato

Un episodio in albergo diventa il punto di partenza per riflettere sui limiti della digitalizzazione: software rigidi, procedure inutili e manutenzione costosa costringono spesso le persone ad adattarsi ai sistemi. L’intelligenza artificiale generativa potrebbe ridurre questa distanza

Pubblicato il 29 lug 2026

Fabrizio Marozzo

professore associato presso il Dipartimento di Ingegneria Informatica



Big Tech borsa
AI Questions Icon
Chiedi all'AI
Riassumi questo articolo
Approfondisci con altre fonti


Ci sono episodi apparentemente banali che raccontano molto più di quanto sembri. Uno di questi mi è capitato durante un periodo all’estero. L’albergo era molto grande, con centinaia di camere e una sala colazioni capace di accogliere ogni mattina moltissimi ospiti. All’ingresso, una dipendente chiedeva semplicemente il numero della stanza. Controllava sul computer che la colazione fosse inclusa e, pochi istanti dopo, una piccola stampante iniziava a lavorare. Stampava tre scontrini praticamente identici. Uno veniva consegnato al cliente. Gli altri due finivano immediatamente nel cestino.

La scena si ripeteva decine, poi centinaia di volte ogni mattina. La cosa che mi colpì non furono tanto gli scontrini, quanto il cestino. Non era stato messo lì per caso. Era posizionato esattamente sotto la stampante, come se facesse parte integrante del sistema. Era evidente che qualcuno, dopo aver osservato quella procedura per giorni, avesse deciso che la soluzione più pratica fosse facilitare l’eliminazione della carta inutile.

Così funziona il sistema

A un certo punto chiesi alla signora come mai venissero stampati tre scontrini se due venivano buttati subito. La risposta arrivò con naturalezza.
«Così funziona il sistema.»

Quattro parole che, probabilmente senza volerlo, descrivono uno dei problemi più diffusi della nostra digitalizzazione. Non era una scelta della dipendente. Non era una scelta dell’albergo. Era il software che imponeva quella procedura, e le persone avevano semplicemente imparato ad adattarsi.

Forse, quando quel programma era stato progettato, aveva perfettamente senso stampare tre copie. Magari una era destinata alla cucina, una alla cassa e una al cliente. Nel frattempo, però, il lavoro si era evoluto, l’organizzazione era cambiata, ma il software era rimasto lo stesso. Modificarlo, probabilmente, costava troppo. E così, ogni giorno, si continuavano a stampare centinaia di scontrini destinati direttamente al cestino.

Quando le persone si adattano al software

Questa scena non riguarda solo un albergo. Riguarda tutti noi.

Quante volte ci siamo trovati davanti a procedure incomprensibili? Campi obbligatori che non hanno alcun senso. Informazioni da inserire più volte. Pulsanti da premere in un ordine preciso. Dati già presenti in un sistema che devono essere reinseriti manualmente in un altro. Operazioni inutili che nessuno riesce davvero a spiegare. Quando si chiede il motivo, la risposta è quasi sempre la stessa.

«Il software funziona così.»

Negli ultimi decenni abbiamo digitalizzato praticamente ogni attività: pubblica amministrazione, sanità, scuole, università, aziende, banche, alberghi. In molti casi abbiamo ottenuto enormi benefici. In altri, però, abbiamo semplicemente trasformato vecchie rigidità burocratiche in rigidità informatiche.

Il paradosso è che il software nasce per adattarsi ai processi delle persone. Sempre più spesso, invece, sono le persone a dover adattare il proprio lavoro al software.

Manutenzione software e sistemi difficili da cambiare

Chi ha studiato Ingegneria del Software conosce bene questo problema. Nei corsi universitari si insegna che sviluppare un programma rappresenta solo una parte del suo costo complessivo. Una quota molto rilevante è legata alla manutenzione e all’evoluzione del software [1]: correggere errori, aggiornare il sistema, adattarlo ai cambiamenti organizzativi e introdurre nuove funzionalità.

Per questo il codice dovrebbe essere progettato per essere facilmente modificabile: ben documentato, comprensibile e modulare. Nella realtà, però, molti sistemi informatici sono cresciuti per decenni accumulando modifiche, eccezioni e stratificazioni. Il risultato è che anche un piccolo cambiamento può diventare costoso e rischioso, e spesso nessuno vuole assumersi la responsabilità di intervenire [2].

È a questo punto che una soluzione palesemente inefficiente può diventare, almeno nel breve periodo, la scelta più conveniente. Può costare meno buttare migliaia di scontrini ogni anno che correggere una funzione del software. Naturalmente gli scontrini rappresentano solo un esempio. Lo stesso fenomeno produce ogni giorno sprechi molto più grandi: ore di lavoro perse, procedure inutilmente complicate, dati inseriti più volte, frustrazione per utenti e dipendenti.

Per questo motivo non mi convince chi sostiene che il problema sia la digitalizzazione in sé. Il problema non è avere un software. Il problema è avere software che, una volta sviluppati, diventano così difficili da modificare da costringere il mondo reale ad adattarsi ai loro limiti.

L’intelligenza artificiale generativa può cambiare la manutenzione

Oggi, però, qualcosa sta cambiando.

L’intelligenza artificiale generativa potrebbe incidere proprio su una delle voci più rilevanti nel ciclo di vita del software: la manutenzione. I modelli di linguaggio sono già in grado di leggere e spiegare il codice sorgente, documentarlo e individuare possibili errori. Possono inoltre suggerire modifiche, generare test e assistere gli sviluppatori nella comprensione di sistemi costruiti molti anni fa [3]. Questo non significa che scriveranno software perfetti. Né che sostituiranno gli ingegneri. Significa, però, che possono ridurre i costi e il lavoro necessari per apportare piccole modifiche che oggi vengono continuamente rimandate.

La prospettiva ancora più interessante riguarda gli utenti. Immaginiamo un impiegato che possa semplicemente scrivere: «Per la colazione vengono stampati tre scontrini, ma ne serve soltanto uno.» Non sta descrivendo una soluzione tecnica. Sta descrivendo un problema nel linguaggio con cui ogni giorno comunica con i colleghi. Un sistema basato su modelli di linguaggio potrebbe comprendere la richiesta, individuare il punto del software interessato, trovare una soluzione o proporre una modifica e assistere gli sviluppatori nella sua implementazione.

Software adattarsi alle persone, non il contrario

I modelli di linguaggio potrebbero rendere molto più diretto il dialogo tra chi usa il software e chi lo realizza. Quel piccolo cestino sotto la stampante probabilmente continuerà ancora per qualche tempo a riempirsi di carta. Ma, osservandolo, mi è sembrato di vedere qualcosa di più di uno spreco. Ho visto il simbolo di un modo di progettare il software così rigido da costringere le persone a cambiare le proprie abitudini. Forse la prossima rivoluzione dell’intelligenza artificiale non sarà fare cose completamente nuove. Sarà permettere ai software di adattarsi alle persone. E forse, un giorno, qualcuno potrà finalmente togliere quel cestino da sotto la stampante.

Note

[1] Hunt, Bob, Bryn Turner, and Karen McRitchie. “Software maintenance implications on cost and schedule.” 2008 IEEE Aerospace Conference. IEEE, 2008.
[2] Curtis, Bill, Jay Sappidi, and Alexandra Szynkarski. “Estimating the principal of an application’s technical debt.” IEEE software 29.6 (2012): 34-42.
[3] Hou, Xinyi, et al. “Large language models for software engineering: A systematic literature review.” ACM Transactions on Software Engineering and Methodology 33.8 (2024): 1-79.

Partecipa alla community

guest

0 Commenti
Più recenti
Più votati
Inline Feedback
Vedi tutti i commenti

Articoli correlati

0
Lascia un commento, la tua opinione conta.x