Il Debito Tecnico che Ferma il Business: Performance e Scalabilità
Un'azienda con cui ho parlato gestiva un gestionale B2B per ordini e prenotazioni di prodotti disposable: materiale monouso con rotazione alta, ordini frequenti, margini stretti e clienti che si aspettano risposte rapide.
Per mesi tutto è andato bene. La domanda cresceva, i clienti aumentavano e il volume degli ordini saliva in modo prevedibile. Il gestionale interno era il centro operativo dell'azienda: serviva a gestire ordini, prenotazioni, disponibilità e spedizioni.
Poi, improvvisamente, la crescita si è fermata. Non per il mercato. Non per la concorrenza. Non per errori commerciali.
Il problema era la tecnologia.
Quando il Backoffice Diventa un Muro
Il backoffice — la pagina che il team usava ogni giorno per vedere e gestire gli ordini — aveva iniziato a impiegare 30 secondi per caricarsi.
Un'enormità per chi deve processare centinaia di richieste al giorno. Ogni operatore che tentava di aprire quella pagina bloccava l'intero database per decine di secondi.
La causa? Una combinazione di scelte tecniche fatte "quando l'azienda era piccola" e mai più riviste:
- schema del database progettato male, con tabelle enormi e non normalizzate;
- indici assenti proprio sui campi più utilizzati nei filtri;
- join fra 5–7 tabelle su colonne non indicizzate;
- nessun caching, nessuna read replica, nessuna separazione tra lettura e scrittura;
- logiche di aggregazione calcolate in tempo reale su dati cresciuti di 100x.
Era una bomba a orologeria che non aveva fatto rumore… fino a quel momento.
L'Impatto sul Fatturato
E quando il gestionale rallenta in un'azienda che vive di ordini ricorrenti, succede questo:
- gli operatori non riescono a processare le richieste;
- le prenotazioni non vengono aggiornate in tempo;
- i clienti iniziano a chiamare e a lamentarsi;
- i commerciali rallentano il flusso;
- le vendite si bloccano.
È così che, da una crescita naturale verso i 130k/m, sono rimasti congelati a 30k/m.
Non perché mancasse la domanda, ma perché il gestionale non reggeva più la pressione del business.
L'Intervento Chirurgico
L'intervento è stato tecnico e mirato:
- Profilazione delle query per individuare i colli di bottiglia.
- Creazione degli indici mancanti.
- Riscrittura delle join più lente.
- Separazione di ordini, prenotazioni e disponibilità in tabelle ottimizzate.
- Caching mirato su dati ripetitivi.
- Introduzione di read replicas per scaricare il DB principale.
Risultato: pagine da 30 secondi diventate rapide in 300–400ms. Backoffice finalmente utilizzabile. Operatività ripristinata. Crescita di nuovo sbloccata.
La Lezione
Il punto educativo per founder e manager è semplice: l'infrastruttura non ti costa quando la progetti. Ti costa quando ti accorgi troppo tardi che non può più sostenere la tua crescita.
Le decisioni tecniche sbagliate non esplodono subito. Esplodono quando inizi a scalare davvero. E a quel punto, aggiustarle costa dieci volte tanto.