La seconda parte le ha lasciato un elenco di una pagina: i file critici, i loro responsabili, cosa dipende da essi e se ne esiste un backup. Quell'elenco le dice cosa trasferire. Questa parte le dice cosa non deve essere trasferito così com'è.

L'idea comune è che la migrazione sia un passaggio tecnico: esportare un file, importarlo nel nuovo sistema, fatto. Tecnicamente è vero, e in pratica è il modo più rapido per trasformare un piccolo problema in uno costoso. Un foglio di calcolo è tollerante per natura: accetta qualsiasi cosa si digiti in qualsiasi cella e lascia a lei il compito di interpretarla. Un sistema no: si aspetta che una data sia una data, che un numero sia un numero e che un cliente sia un'unica entità con una scheda. Così, quando si trasferiscono dati sporchi, il disordine non sparisce; riaffiora in report che non tornano, fatture che non si collegano al loro cliente e saldi che non coincidono. Poi arriva la frase che chiude molti progetti: il nuovo sistema non funziona.

Perché la pulizia deve venire prima della migrazione e non dopo

Rimandarla è allettante per una buona ragione: la pulizia è un lavoro noioso che non compare in nessuna presentazione, mentre la schermata di un nuovo sistema sì. Così si decide di migrare ora e pulire dopo. Ma appena i dati entrano, iniziano a muoversi: si emettono fatture su clienti duplicati, gli ordini si collegano ad articoli duplicati e i report si costruiscono su cifre incomplete. Ogni nuova transazione aggiunge uno strato sopra l'errore che rende la correzione più difficile e rischiosa, perché modificare un record su cui si sono mosse transazioni finanziarie non ha nulla a che vedere con il modificare una cella in un file.

I dati sporchi sono in generale una causa ricorrente di progetti di sistemi bloccati, e li abbiamo descritti insieme alle altre cause in perché i progetti ERP falliscono e come far riuscire il suo. La conclusione pratica è che la pulizia costa meno finché i dati restano in un file statico, e costa di più quando vivono già in un sistema in funzione.

I cinque difetti presenti in quasi ogni foglio

Non sono errori esotici; sono il risultato naturale di uno strumento che permette tutto. Ne troverà la maggior parte nel suo stesso file:

  • Una stessa controparte con più nomi. Lo stesso cliente compare tre volte: una con la ragione commerciale, una con il nome del titolare e una come abbreviazione digitata da qualcuno di fretta. Nel file sono righe vicine che qualsiasi lettore capisce. In un sistema diventano tre clienti distinti, ciascuno con il proprio saldo e la propria storia, così la scheda del rapporto si spezza e nessuno dei tre le dà il quadro completo. Lo stesso difetto colpisce articoli e fornitori.
  • Formati di data misti. Un'unica colonna che contiene una data come giorno/mese, un'altra come mese/giorno e una terza scritta come testo, per esempio dopo le feste o fine mese. Finché a leggerla sono solo persone passa, ma qualsiasi ordinamento, calcolo di durata o report temporale basato su quella colonna restituirà una risposta sbagliata con sicurezza, il che è più pericoloso che restituire un errore visibile.
  • Numeri memorizzati come testo. Un importo digitato con il simbolo della valuta dentro la cella, una quantità con l'unità di misura nella stessa casella o una cifra che inizia con uno spazio di troppo. All'occhio sembra un numero e per la macchina non lo è, quindi non si somma, non si confronta e non migra; e di solito lo si scopre nel primo report finanziario dopo la migrazione.
  • Colonne che nessuno sa definire. Una colonna chiamata note, stato o temp, aggiunta anni fa per uno scopo ormai concluso, a volte compilata e a volte vuota. Di solito viaggia perché nessuno osa cancellarla, così entra nel sistema come un campo senza definizione e senza responsabile, e continua a comparire sugli schermi confondendo chi verrà dopo di lei.
  • Celle colorate che portano un significato. La più pericolosa dell'elenco. Il giallo significa scaduto, il rosso sospeso, il verde incassato. Non è formattazione, sono dati; ma dati custoditi nel colore e nella memoria di chi lo ha applicato. Quando il file viene esportato, il testo viaggia e il colore va perso, così lei perde informazioni con cui gestiva l'attività ogni giorno, senza che venga emesso alcun avviso.

L'unica regola: ogni significato fuori dalla cella deve diventare un campo

Se di questa parte tiene a mente una sola frase, che sia questa: qualsiasi significato custodito in un colore, nella posizione di una riga o nella testa di qualcuno deve diventare una colonna scritta prima di viaggiare. La prova è semplice e implacabile: esporti il file in testo semplice senza alcuna formattazione e si chieda quali informazioni sono andate perse. Tutto ciò che scompare in questa prova è esattamente ciò che ora deve diventare un campo.

La conversione in sé non è un lavoro tecnico; è un esercizio di definizione. Non basta creare una colonna di stato: bisogna fissarne i valori ammessi e risolvere quelli che si sovrappongono. Sospeso e annullato sono uno stato o due? In quale momento esatto un record diventa scaduto? Sono domande su come funziona l'azienda, non sulla programmazione, e sono la cosa più preziosa che un titolare ricava dalla fase di pulizia, perché rispondervi con chiarezza una volta chiude discussioni che prima venivano risolte a voce ogni volta.

Il punto di vista di Origami

Siamo un'azienda tecnologica che realizza sistemi per le imprese saudite, e trattiamo la fase di pulizia come parte della progettazione del sistema anziché come un lavoro amministrativo che la precede. Il motivo è che ogni difetto nei dati rivela una regola aziendale non scritta: un cliente duplicato rivela che non esiste un identificativo concordato per una controparte, e una cella colorata rivela uno stato operativo reale che nessuno ha mai riconosciuto formalmente. Queste scoperte sono la materia prima di una progettazione corretta, ed è per questo che le leggiamo insieme al cliente invece di passarle a uno strumento di importazione.

L'ordine che consigliamo è unificare prima le definizioni: chi conta come un cliente, cosa conta come un articolo e quali valori sono ammessi in ogni campo decisionale. Dopo, la migrazione diventa un'operazione pulita che si può ripetere e verificare. È lì che iniziano i nostri servizi di realizzazione di sistemi, ed è la stessa logica che leggiamo in un caso reale che abbiamo trattato in da un negozio a un sistema: ciò che separa operazioni organizzate da operazioni improvvisate non è l'interfaccia, ma la disciplina dei dati che c'è sotto.

Un ordine pratico per la pulizia

Pulire completamente ogni file è un progetto senza fine. Lavori secondo un ordine che le dia qualcosa di trasferibile nel giro di pochi giorni:

  • Inizi dai dati anagrafici, non dalle transazioni. Clienti, articoli e fornitori sono elenchi brevi usati di continuo, e pulirli corregge automaticamente le migliaia di righe che vi si collegheranno in seguito. Fatture e ordini vengono dopo.
  • Adotti un identificativo per entità. Un codice o numero fisso che non cambia mai e non viene mai riutilizzato, poi vi associ ogni vecchio nome e abbreviazione. Per i clienti in particolare, dati legali dell'acquirente esatti non sono un dettaglio, perché i requisiti di fatturazione elettronica dell'Autorità per Zakat, Imposte e Dogane (ZATCA) specificano cosa deve riportare una fattura fiscale; e abbiamo descritto il legame tra un movimento e la sua fattura in fatturazione elettronica in fabbrica e in magazzino.
  • Divida ogni cella composta. La quantità in una colonna e l'unità di misura in un'altra, l'importo in una e la valuta in un'altra, il nome in una e il numero di cellulare in un'altra. La regola è una casella per un'informazione.
  • Uniformi i formati prima di qualsiasi importazione. Un solo formato di data in tutto il file, numeri senza simboli dentro la cella e un unico formato per i numeri di cellulare. Il lavoro è ripetitivo e noioso, ma si fa una volta sola.
  • Registri le sue decisioni di pulizia in un foglio a parte. Cosa è stato unito a cosa, cosa è stato eliminato e cosa resta dubbio. Quando qualcuno chiederà due mesi dopo dove sia finito un certo cliente, quel foglio è la risposta; senza di esso, il team perde fiducia nell'intera migrazione.
  • Non cancelli l'originale. Conservi il file precedente alla pulizia come copia chiusa e di sola lettura. La pulizia comporta giudizio, e il giudizio ha bisogno di un riferimento a cui tornare.

E non aspetti dati perfetti per migrare, perché non arrivano mai. La pulizia che le serve è che i campi critici siano corretti, coerenti e definiti, e che ciò che resta incompleto sia noto e registrato anziché scoperto più tardi come una sorpresa.

Nelle prossime parti

I dati sono ora pronti per il trasferimento, e resta la domanda che decide se l'attività prosegue durante la transizione o si ferma: cosa si trasferisce per primo? La prossima parte tratta l'ordine di migrazione, perché i dati anagrafici precedono sempre le transazioni e come funziona l'esercizio in parallelo con una data di fine dichiarata anziché aperta. Poi passiamo ai permessi e a chi vede cosa, quindi ai report che lei costruiva a mano, e chiudiamo la serie con i primi trenta giorni dopo la migrazione.

Fonti