Nella notte del 17 aprile, intorno alle 2, il sistema informativo dell’Internal Revenue Service (l’agenzia governativa statunitense che raccoglie i pagamenti delle tasse) si è fermato. Era l’ultimo giorno per il pagamento delle tasse, sono state necessarie più di 24 ore per il ripristino e prorogare i termini per la denuncia dei redditi. Un danno di immagine non indifferente.
Ma la notizia di per sé non è grave se non fosse che le avvisaglie sulle deficienze del sistema ci fossero da anni e l’agenzia chiedesse da molto tempo (fin dal 2004) soldi necessari ad una riscrittura completa.
Il sistema informativo dell’IRS risale letteralmente agli anni ’60, sia l’hardware che il software è rimasto a quell’epoca e vive di continue “patch” e aggiustamenti che gli consentono ogni anno di andare avanti. Il software è talmente pieno di aggiustamenti e fix che l’ex commissario dell’agenzia (uscito un anno fa) ha dichiarato che è impossibile recuperare qualcosa. Il sistema è scritto interamente in Assembler e va riscritto completamente, all’inizio di quest’anno l’IRS ha anche lanciato un allarme cyber security visto che nei suoi archivi ci sono 262 milioni di record di cittadini statunitensi. Anche l’hardware è rimasto agli anni ’60.
Ovviamente la notizia ha spopolato sui media statunitensi ed è diventata parte del dibattito politico tra repubblicani e democratici. I primi fautori del taglio alla spesa pubblica (in particolare al sistema fiscale) e i secondi fautori dell’innovazione (anche se in questi anni hanno molto governato).
Debito tecnico, che cos’è e i pericoli dell’eccessivo risparmio sull’IT
Perché parlarne in Italia? Questa notizia, come un anno fa la notizia del fermo del sistema delle prenotazioni di British Airways, ci aiuta a riflettere sul tema del “Debito Tecnico”. Che cos’è il debito tecnico? Ogni intervento “quick and dirty”che fa funzionare l’esistente e rimanda la necessaria reingegnerizzazione complessiva. Questo accumula una sorta di “debito” con “interessi” che possono essere pesanti in termini di costi per riscrivere il tutto. Howard G. Cunningham, un programmatore USA, ha chiamato questo modo di operare Technical Debt sottolineando che prima o poi gestire le cose “alla giornata” determina costi che devono essere pagati con gli interessi. British Airways li ha pagati, come li hanno pagati quegli enti pubblici e quelle aziende che sono stati colpiti da Wannacry e ancora di più da NotPetya.
L’IRS ha chiesto di avere i soldi per riscrivere il sistema ma il taglio al budget federale ha impedito che questa spesa venisse considerata, si è così proceduti da decenni a fare modifiche e aggiustamenti affinché tutto funzionasse al meglio. Dal 2010 l’IRS conosce anche un consistente taglio del budget di circa il 40%. Ma non è che non siano stati spesi soldi negli ultimi anni, sono state finanziate molte iniziative sul lato del portale e dei servizi web che hanno permesso di dare gli utenti la sensazione che si trovassero su un sistema al passo con i tempi. Un modo di procedere tanto utilizzato anche da noi, nel pubblico e nel privato. La storia di IRS ci insegna che se entro certi limiti è opportuno lavorare a soddisfare gli utenti con il front-office, è anche necessario costruire infrastrutture di back-end moderne ed efficienti.
Il Debito Tecnico può essere utilizzato per qualche tempo come strumento per dare servizi, concentrarsi su una parte del Sistema Informativo senza doverlo smontare tutto e riducendo le possibili fonti di errori inaspettati ma non bisogna esagerare, lavorare mantenendo la situazione sotto controllo, pianificare con cura le duplicazioni di realizzazione, le fasi incrementali, la documentazione ecc. Soprattutto bisogna sapere che è necessario un team affiatato e ben organizzato di persone preparate, altrimenti ogni fase rischia di produrre altra “polvere sotto il tappeto” fino a diventare ingestibile.
L’IRS nel frattempo ha lanciato un nuovo allarme e ha chiesto di poter assumere nuovo personale e pagarlo con un contratto più alto della media della PA, per poter attirare tecnici in grado di avviare il progetto di riscrittura e migrazione. Migrazione resa costosa proprio dal così numero di anni che non avviene.
Si è ridotta la spesa in IT? In termini economici si, sono stati spesi meno soldi (o almeno si presuppone perché mantenere in vita un sistema fatiscente spesso costa tanto) ma si è accumulato un debito relativo alla obsolescenza che poi andrà pagato in termini di importanti interventi per riscriverlo, assumere le persone in grado di far funzionare il nuovo, formazione, ecc. Il debito tecnico ha un costo che è dato dal costo del sistema più una forma di tasso interesse dato dal numero di anni che non vengono effettuati interventi, più anni passano e più costa riscrivere.
Un po’ come avere un prato e non curarlo mai, alla fine sarà impossibile recuperarlo e andrà affrontato un costo di intervento di una ditta di giardinaggio che dovrà intervenire con costi molto più alti e un periodo lungo nel quale il giardino sarà inagibile. O una vecchia casa abbandonata, una città lasciata senza governo e servizi, il proliferare di buche nelle strade.
Riscrivere e ripensare significa anche assumersi dei rischi. Può fallire il progetto, può metterci sotto stress, può andare fuori budget. Ci sono non pochi casi nei quali il CIO decide di evitare di affrontare un progetto complesso per quieto vivere, per non rischiare nulla o quasi. Finché funziona lasciamolo andare. Anche questo approccio genera debito tecnico se è governato solo dalla paura del cambiamento e del rischio e non da considerazioni di buon senso.
Ridurre i costi abbassando i servizi o rendendoli progressivamente inadeguati non significa risparmiare ma potrebbe significare invece spostare i costi dall’oggi al domani e con un considerevole aggravio. Lasciare i costi in carico a chi viene dopo con tutti gli interessi. Magari meno costi in contabilità ma più costi reali, pronti ad esplodere se si avverasse uno di questi rischi non gestiti perché “tanto funziona”. Il costo della fatiscenza può essere molto più alto di quello della buona gestione.
Cloud e rischi
Con la diffusione del cloud questo rischia di diventare ancora più un problema. I costi del cloud spesso sono costi di abbonamento annuali e una pressione sulla riduzione costi finirà per concentrarsi ancora di più sui sistemi interni dell’IT Operation non potendo in molti casi rimettere in discussione contratti pluriennali con i fornitori. Un impatto che rischia di aggravare molte situazioni. Nella PA italiana, esposta ad un controllo forte della spesa corrente, addirittura esplosivo visto che la spesa corrente deve rimanere stabile se non calare mentre qualche investimento è concesso.
Negli ultimi anni in molte organizzazioni pubbliche e private si è dovuti andare verso un taglio deciso delle spese IT, questo ha generato un deterioramento dei servizi e una obsolescenza. Questo dove si è ridotta la spesa semplicemente tagliando e rimandando gli interventi necessari. Dove invece si è proceduti a ripensare la gestione dei sistemi, automatizzare le procedure e ripensare l’organizzazione, utilizzare al meglio la tecnologia messa a disposizione per recuperare efficienza si è raggiunto non solo l’obiettivo di risparmio ma soprattutto si è mantenuta o aumentata la capacità di affrontare l’evoluzione tecnologica.
È stato adottato un approccio nel quale è stato fissato un taglio al budget senza entrare nel merito, imporre semplici riduzioni in percentuale rispetto all’anno precedente. In questi casi si è generato l debito tecnico ed ora sarà più costoso recuperare, sempre che nel frattempo non avvengano avvenimenti che mettano a rischio l’intera azienda.
È stato calcolato che il fermo di alcuni giorni del sistema di prenotazione di British Airways sia costato intorno a 180 milioni di sterline, una cifra ben maggiore di quanto sarebbe costato riscrivere il sistema e metterlo in sicurezza.
Sarebbe necessario poter valutare nei libri contabili non solo il costo economico ma anche l’accumulo del debito tecnico, quel costo determinato dal rendere progressivamente fatiscenti i servizi e gli strumenti per soddisfarli. La PA ne soffre particolarmente ma non solo essa.
È necessario riprendere a spendere per investimenti e gestione dei sistemi informativi, sono strumenti sempre più necessari alla vita delle aziende e ai cittadini. È necessario riprendere spendere sugli esperti, sulle risorse da utilizzare, sulla formazione e sul know-how. Stiamo accumulando debito tecnico e il suo tasso di interesse è tanto maggiore quanto più veloce è l’evoluzione della tecnologia.
Non basta qualche investimento ogni tanto, senza magari considerare che sarà necessario un costo per gestirne il risultato, per mantenerlo in buono stato. È necessario che ci sia una buona spesa e che essa sia continua, guidata da capacità di gestione economica e da prassi consolidate nel mercato ed esperienza nelle persone coinvolte.
Le aziende e la Pubblica Amministrazione devono prenderne coscienza presto e saper cogliere la reingegnerizzazione come opportunità di fare un salto in avanti. Talvolta anche il Debito Tecnico può essere un buon consigliere.