Salta al contenuto

Rinnovare un software vecchio

Modernizzo software datati, preservando le funzionalità necessarie e pianificando migrazione dei dati, test e continuità operativa.

Funziona, finché nessuno lo tocca

Il programma che usi per gli ordini l'ha scritto anni fa un programmatore che oggi non si trova più. Gira su un computer in ufficio con un sistema operativo non più aggiornato, e si apre solo da lì. La modernizzazione di un software legacy, cioè di un programma vecchio ancora in uso, ti sembra un salto nel buio. Intanto lo tieni acceso così com'è.

Ogni richiesta di modifica riceve la stessa risposta, «non si può fare». Per esempio, un'azienda di ricambi vorrebbe mostrare il catalogo ai rivenditori online. Poi scopre che il database del vecchio programma non si lascia leggere da nessun altro software.

Esempi di funzionalità

Le funzionalità vengono definite in base alle tue esigenze, agli strumenti già in uso e alla fattibilità dei collegamenti necessari. La proposta iniziale specifica cosa è incluso nel progetto e cosa può essere aggiunto in seguito.

Un'analisi di quello che fa oggi

Studio il vecchio programma e i suoi dati, comprese le regole nascoste nel codice, anche quando la documentazione non c'è. Ne esce un elenco di cosa fa, che diventa la base del programma nuovo.

Dati recuperati e ripuliti

Leggo i dati dal vecchio database e li porto nel programma nuovo. I doppioni e i campi vuoti te li segnalo prima del passaggio, così decidi tu come sistemarli.

Le stesse regole, su tecnologie attuali

Il programma nuovo deve calcolare come il vecchio, e lo verifico confrontando i risultati dei due sugli stessi dati. Se una regola non serve più, la togliamo dopo averne parlato.

Si apre dal browser

Il programma rinnovato può aprirsi dal browser, anche fuori dall'ufficio, con un account per ogni persona. Il computer che lo teneva in vita si può spegnere.

Aperto verso gli altri programmi

Al programma nuovo posso dare una API, cioè un punto da cui altri programmi possono leggere e scrivere i dati. Così le richieste rimaste ferme per anni, come il catalogo online, si possono valutare.

Come lavoriamo

  1. Fotografiamo il programma com'è

    Mi mostri il programma in uso e mi dai una copia dei dati. Ogni funzione finisce in un elenco, comprese quelle usate una volta l'anno.

  2. Decidiamo cosa tenere

    Non tutto quello che fa il vecchio programma serve ancora. Le funzioni che nessuno usa si tolgono, e quelle da migliorare si annotano.

  3. Sposto una parte alla volta

    Dove possibile il vecchio e il nuovo convivono per un periodo. Sposto una parte, la usi con dati veri, poi passo alla successiva.

  4. Il vecchio si spegne quando i conti tornano

    Prima di spegnere il vecchio programma confrontiamo i risultati dei due su un periodo di lavoro vero, documento per documento. Quando coincidono, archivio una copia completa dei vecchi dati.

Rinnovare un software vecchio: cosa sapere prima di partire

Quando è il momento di intervenire

Il segnale più chiaro è un programma che gira su un computer che nessuno osa aggiornare. Un altro è la risposta che ricevi a ogni richiesta di modifica, quando è sempre «troppo complicato».

Conviene muoversi prima di un guasto. Rinnovare un programma che funziona ancora lascia il tempo di confrontare il vecchio e il nuovo con calma. Farlo dopo un guasto costringe a ricostruire in fretta, con il lavoro fermo.

Cosa serve per partire

Mi servono una copia dei dati e la possibilità di vedere il programma in funzione, anche solo in videochiamata. Se esistono il codice sorgente o vecchi manuali, aiutano anche quelli, e conviene cercarli subito. Aiuta anche una persona che usa il programma ogni giorno e sa come si comporta nei casi strani.

Prima di toccare qualsiasi cosa, faccio una copia completa dei dati. Il vecchio programma resta com'è finché il nuovo non ha dimostrato di fare lo stesso lavoro.

Domande frequenti

Conviene rinnovarlo o rifarlo da zero?

Dipende da quanto le regole del vecchio programma sono ancora giuste. Se il modo di lavorare è cambiato poco, conviene portare le stesse regole su tecnologie nuove. Se è cambiato molto, conviene ripensarlo, e lo valutiamo dopo l'analisi.

Il vecchio programma non ha documentazione. Si può fare lo stesso?

Sì, capita spesso. Ricostruisco le regole dai dati, dal comportamento del programma e da chi lo usa ogni giorno.

Dobbiamo fermarci durante il passaggio?

L'obiettivo è evitarlo. Preparo il passaggio in anticipo e sposto i dati definitivi in un momento tranquillo, per esempio un fine settimana. Il vecchio programma resta consultabile finché serve.

Che fine fanno i dati storici?

Li porto nel programma nuovo se servono al lavoro di tutti i giorni. Quelli più vecchi possono restare in un archivio consultabile a parte, senza appesantire il programma nuovo.

Quanto costa modernizzare un software vecchio?

Dipende da quanto è grande il vecchio programma e da come sono tenuti i suoi dati. Per questo guardo prima il programma e una copia dei dati, poi ti mando una proposta scritta voce per voce.

Quando conviene modernizzare un software?

Quando gira solo su un computer o un sistema che non si aggiorna più, quando nessuno sa più modificarlo, quando non si collega ai programmi nuovi o quando non si può usare fuori dall'ufficio. Più si aspetta, più diventa difficile recuperare dati e regole.

Descrivimi il progetto

Parliamo delle tue esigenze e delle soluzioni possibili. Se il progetto è adatto, ricevi una proposta con attività, tempi e costi.

Torna all’inizio della pagina