Il CSV universale: ogni virgola al posto sbagliato

Allineiamoci Offline12 ottobre 20264 min

Il lunedì mattina, prima della call col cliente, il team riceve il listino in CSV che il Commerciale ha già definito universale. Il Junior trova date diventate numeri e prezzi reinterpretati; il Senior ammette che il vecchio importatore indovina il separatore dalla prima riga, che contiene un indirizzo con virgole. Il Product Owner spinge per una correzione rapida e rinvia la verifica; il Commerciale rassicura il cliente e inoltra un file riaperto e risalvato dal foglio elettronico. Al secondo tentativo emergono prezzi alterati e righe duplicate, ma il report certifica il successo contando le righe importate. Il Commerciale presenta l’acquisizione come completa e il formato diventa «CSV adattivo»: ora si adatta anche il prezzo.

Voci, personaggi e contenuti creativi generati con strumenti di intelligenza artificiale e approvati prima della pubblicazione.

Trascrizione

Narratrice: Le voci di questa puntata sono sintetiche. È lunedì mattina: il fornitore ha mandato il listino in CSV e il team deve importarlo prima della call col cliente. Il Commerciale lo ha già definito universale.

Commerciale: Universale nel senso che il file si apre. L’ho controllato: c’è una tabella, ci sono prezzi e il cliente ha ricevuto una risposta. Direi che siamo già nella fase di acquisizione, non di esplorazione.

Junior Developer: Io lo sto aprendo adesso. Alcune date sono diventate numeri e i prezzi con la virgola sono stati reinterpretati. Questo foglio ha modificato i dati o soltanto la loro apparenza?

Senior Developer: L’importatore fu scritto per un formato preciso. Tenta di indovinare il separatore dalla prima riga. All’epoca lo chiamammo compatibilità. Oggi lo chiamiamo così perché «scommessa» non passa la revisione.

Junior Developer: La prima riga contiene anche un indirizzo con virgole. Quindi il programma vede una virgola e decide che quella è la regola per tutto il file?

Senior Developer: Sì. È una scelta rapida. Se sbaglia, almeno sbaglia subito e con grande sicurezza. La parte lenta è spiegare dopo perché l’indirizzo si è trasformato in tre colonne.

Product Owner: Il cliente aspetta la call. Facciamo una correzione rapida, ma senza cambiare il flusso che gli abbiamo già promesso. Quanto ci vuole per farlo sembrare stabile?

Junior Developer: Possiamo verificare un campione prima di importare tutto. Almeno vediamo se date, prezzi e colonne corrispondono al listino.

Product Owner: E si può verificare tutto dopo l’importazione? Così non cambiamo il flusso e abbiamo comunque una verifica completa.

Senior Developer: Dopo è facile. Il dato è già entrato, magari con un prezzo diverso. Ma almeno la verifica avrà un oggetto concreto da rimpiangere.

Commerciale: Intanto rassicuro il cliente che il listino è già stato acquisito. Non entro nel tecnico. Gli inoltro anche la versione che ho riaperto e risalvato: così abbiamo una prova di compatibilità.

Junior Developer: Quella versione è stata trasformata dal foglio elettronico. Le date sono ancora numeri e alcuni prezzi non corrispondono. Se la importiamo di nuovo, non stiamo verificando lo stesso file.

Commerciale: È il medesimo listino, in una forma più accessibile. Il cliente lo apre, noi lo apriamo: questa è una compatibilità condivisa. Non vedo come possa essere una trasformazione se nessuno ha chiesto di trasformarlo.

Junior Developer: Adesso ci sono prezzi alterati e righe duplicate dopo il secondo tentativo. Il numero delle righe è salito, ma non significa che il listino sia giusto. Possiamo fermare l’elaborazione?

Senior Developer: Quelle righe duplicate vengono da una mia vecchia regola di recupero. Se l’importazione si interrompeva, provava a ripartire. Non cancellava ciò che era entrato. Una definizione generosa di recupero.

Product Owner: Fermiamola, allora. Però il report dice successo. Non possiamo correggere i prezzi e lasciare il report com’è? La call è tra poco e il cliente ha già ricevuto la conferma.

Junior Developer: Il report certifica il successo grazie al numero di righe importate. Non controlla che siano quelle giuste. In pratica ha contato anche le copie come partecipanti alla stessa riga.

Senior Developer: Esatto. La regola vecchia ha duplicato, l’importatore ha indovinato e il report ha applaudito. È una catena coerente, se per coerenza intendiamo che nessuno ha controllato il risultato.

Narratrice: Il team cerca di fermare l’elaborazione. Il report continua a certificare il successo contando le righe importate.

Commerciale: La call è andata bene: ho presentato il report come acquisizione completa. Ho detto che il formato è adattivo, perché si adatta ai file del cliente. Ora si adatta anche il prezzo, ma quella è una personalizzazione.

Junior Developer: Quindi abbiamo date diventate numeri, prezzi alterati, righe duplicate e una verifica che arriva dopo. Che cosa vuol dire «universale», esattamente?

Senior Developer: Vuol dire che il file può arrivare da chiunque. E il risultato può essere qualunque. Il vecchio importatore, almeno, mantiene questa promessa da anni.

Product Owner: Allora la prossima attività sarà definire cosa significa universale. Per ora lasciamo il report com’è e apriamo un punto per la verifica del risultato.

Narratrice: La riunione si chiude con una nuova definizione del CSV: adattivo. Il listino è stato acquisito. Il prezzo, invece, si è adattato.