Checklist: audit di integrazione fra sistemi aziendali
Quarantasei verifiche da fare prima di collegare due sistemi, divise in sei blocchi. Non è una lista di funzioni desiderate: è l'elenco delle cose che, se non si sanno prima, si scoprono a metà progetto e costano il doppio. Compilala anche solo per metà e portala a qualunque fornitore: cambierà il preventivo che ricevi.
Blocco 01I sistemi in campo
Prima di chiedere «come li colleghiamo» bisogna sapere che cosa ognuno dei due è disposto a dare. Metà dei progetti di integrazione che vanno male sono progetti disegnati su un sistema che non espone quello che si dava per scontato.
Quali sistemi devono parlarsi? Elencali tutti, compresi i fogli di calcolo e le caselle di posta condivise.Un foglio Excel usato da tre persone è un sistema a tutti gli effetti: ha dati, utenti e regole.
Ognuno è on-premise o in cloud? Per quelli in sede: dove sta fisicamente il server, chi ci accede, che sistema operativo.
Chi è il fornitore di ogni sistema e c'è un contratto di manutenzione attivo?Serve il nome di una persona e un recapito, non il nome dell'azienda.
Il contratto vieta interventi di terzi sul database? Fattelo dire per iscritto.È il vincolo che può cancellare un'intera architettura. Va accertato nella prima settimana, non nella terza.
Ogni sistema ha API documentate? Chiedi il documento, non la rassicurazione.
Se non ci sono API: esistono viste di sola lettura, export programmati o tabelle di appoggio previste dal fornitore?
Esiste un ambiente di collaudo separato dalla produzione?Se non esiste, il primo collaudo lo farai sui dati veri. Va saputo prima di firmare.
Quanto spesso viene aggiornato ogni sistema, e chi decide quando?
Blocco 02I dati e chi comanda su ognuno
È il blocco che decide se avrai un'integrazione o due sistemi che si sovrascrivono a turno. Se in azienda nessuno ha l'autorità di dire «su questo campo comanda quel sistema, punto», nessuna architettura risolve il problema: lo sposta soltanto.
Quali entità devono viaggiare? Clienti, articoli, listini, giacenze, ordini, documenti, pagamenti: segna solo quelle che servono davvero.
Per ogni entità: qual è il sistema che comanda? Uno solo, scritto.
Esistono campi in cui comanda l'altro sistema? Elencali uno per uno.Le eccezioni ci sono quasi sempre — le note di visita, per esempio. Devono essere poche e scritte.
Che cosa succede se i due valori sono diversi? Vince uno, si blocca, o si segnala a una persona?
Qual è la chiave che identifica lo stesso cliente nei due sistemi?Partita IVA normalizzata, codice fiscale, codice interno. Se non c'è, va costruita: è lavoro, e va preventivato.
Quanti duplicati ci sono oggi? Contali, non stimarli.
Chi decide come si risolve un duplicato? Serve un nome, perché è una decisione commerciale, non tecnica.
Ci sono campi obbligatori in un sistema e assenti nell'altro?
I formati coincidono? Date, decimali, unità di misura, codici di pagamento, aliquote IVA.I codici di pagamento sono il campo che salta fuori più spesso all'ultimo momento: testo libero da una parte, tabella dall'altra.
Quanti dati ci sono, in numero di righe? Anagrafiche, articoli, righe ordine all'anno.
Blocco 03Il lavoro manuale di oggi
Senza questo blocco non potrai dimostrare a nessuno — nemmeno a te stesso — che il progetto è servito. Ed è anche il blocco che decide se conviene farlo: se il lavoro manuale vale duemila euro l'anno, un'integrazione da ventimila non si ripaga.
Chi ribatte dati da un sistema all'altro? Nome e ruolo di ogni persona.
Quante ore alla settimana, misurate? Fai tenere un foglio ore per dieci giorni lavorativi.Chiesto a memoria, il numero è sempre «tantissimo tempo». Non è un numero e non si può migliorare.
In quali giorni e ore si concentra?Se è tutto il lunedì mattina, il costo vero è il lunedì mattina perso, non le ore.
Quanti errori genera, e quanto costa correggerne uno?
Che cosa succede quando la persona che lo fa è in ferie o malata?
Quanti sono i dati che vengono ribattuti due volte e mai controllati?
Qual è il costo orario aziendale delle persone coinvolte? Lordo, non netto.
Blocco 04Tempi, volumi e frequenze
La frequenza con cui i dati devono viaggiare è la variabile che sposta di più il costo. «In tempo reale» è la risposta d'istinto di chiunque e quasi mai quella giusta: costa il doppio e nella maggior parte dei casi nessuno percepisce la differenza rispetto a un quarto d'ora.
Per ogni entità: con che ritardo massimo può viaggiare? Un minuto, un quarto d'ora, la notte.
Chi si accorgerebbe se un dato arrivasse con un'ora di ritardo? Se la risposta è «nessuno», hai risparmiato metà del progetto.
Quanti record al giorno, nel giorno di picco? Non nella media.
Ci sono momenti dell'anno con volumi molto diversi?
Esistono orari in cui i sistemi non devono essere disturbati?Chiusure contabili, inventari, backup notturni, ritiro del corriere.
Quanto tempo di fermo è tollerabile? Un'ora, un giorno, zero.
Blocco 05Quando qualcosa va storto
La qualità di un'integrazione non si vede sul caso normale, si vede su come fallisce. Questo è il blocco che i preventivi saltano e che poi determina se le persone si fidano dell'automazione o continuano a tenere aperto anche il processo vecchio, per sicurezza.
Se un dato non passa, dove finisce? Deve esistere un posto, non un file di log.
Chi lo guarda, ogni quanto e da quale schermata? Serve un nome e una persona di riserva.
Il messaggio di errore è scritto in italiano comprensibile?«Constraint violation on FK_CLI_001» non è un messaggio: è una richiesta di aiuto rivolta a te.
Si può correggere e rimandare un dato scartato senza chiamare il fornitore?
Lo stesso dato può essere mandato due volte senza creare un doppione?Se la risposta è no, prima o poi avrai ordini doppi in produzione. Succede a tutti al primo timeout.
Esiste un controllo che confronta i due sistemi a fine giornata?
Chi riceve l'avviso quando l'integrazione è ferma? E su quale canale che legge davvero?
Quanto si può tornare indietro? Backup, storico delle operazioni, possibilità di annullare.
Blocco 06Perimetro, proprietà e uscita
Le domande che nessuno fa in fase di innamoramento e che decidono quanto ti costerà cambiare idea fra due anni.
Che cosa è esplicitamente fuori dal progetto? Fattelo scrivere nel preventivo.Un perimetro senza un elenco di esclusioni non è un perimetro.
Di chi è il codice sorgente a fine lavori?
Di chi sono gli accessi ai server, ai domini e ai servizi cloud?Devono essere intestati a te, non al fornitore. Sempre.
Che documentazione viene consegnata, e scritta per chi?
Quanto costa l'esercizio al mese? Server, servizi, licenze.
Che cosa comprende la manutenzione e che cosa no?
Se cambio fornitore, quanto tempo serve a un altro per prendere in mano il lavoro?
Ci sono dati personali che viaggiano? In quel caso servono base giuridica, nomina a responsabile e registro dei trattamenti.
Le tre risposte che fermano il progetto
Se il contratto di manutenzione vieta ogni accesso al database e il fornitore non collabora, non c'è architettura che tenga: la prima telefonata va fatta a lui. Se nessuno in azienda ha l'autorità di decidere chi comanda su un campo conteso, l'integrazione sposterà il problema invece di risolverlo. Se il lavoro manuale misurato vale meno di quanto costa toglierlo, la risposta giusta è non fare niente — e un fornitore serio te lo dice in chiamata.