Categoria

Pagina 1 di 2

Debito Tecnico: il costo invisibile che pagherai comunque

Debito tecnico è una metafora presa in prestito dalla finanza: ogni scorciatoia presa nel codice o nell'infrastruttura è un "prestito" che ti permette di andare veloce oggi, ma che maturerà interessi nei mesi e anni a venire. Il problema non è contrarre debito — è inevitabile — ma non averne consapevolezza e non gestirlo.

In questa categoria scrivo di come misurare e ridurre il debito tecnico in applicazioni PHP/Laravel: analisi statica del codice, code review sistematiche, metriche di qualità, identificazione dei hotspot critici, roadmap di refactoring prioritizzata per impatto sul business. Parlo anche di come comunicarlo al management: il debito tecnico va tradotto in termini di rischio e costi, non di "il codice è brutto".

Se senti che la tua codebase sta rallentando il team, facciamo un assessment: capire a che punto sei è il primo passo per tornare a consegnare feature. Oppure scopri il mio approccio.

Il debito tecnico non è immorale. Lo diventa quando lo ignori. Tutto il resto è ingegneria.

Migrare un gestionale PHP 5.6 a PHP 8.4 senza riscriverlo: il caso di un e-commerce torinese con 12 anni di codice procedurale

Migrare un gestionale PHP 5.6 a PHP 8.4 senza riscriverlo: il caso di un e-commerce torinese con 12 anni di codice procedurale Un e-commerce torinese con 47.000 righe di PHP 5.6 procedurale, 340 chiamate mysql_connect(), un hosting che aveva annunciato la rimozione di PHP 5.6 entro 60 giorni, e un titolare che non poteva permettersi downtime. In quattro settimane l'ho migrato a PHP 8.4 senza riscrivere l'applicazione: ecco il metodo, gli strumenti, le breaking changes reali e le decisioni che hanno fatto la differenza. Continua a leggere
Ultima modifica:

Il debito tecnico ha un costo reale: come calcolarlo e presentarlo al management

Il debito tecnico ha un costo reale: come calcolarlo e presentarlo al management Un CTO mi ha chiesto di convincere il suo CEO a investire in refactoring. Ho costruito un modello di costo basato su dati reali: tempo medio per aggiungere una feature, numero di bug per rilascio, costo orario del team. Il debito tecnico costava all'azienda 180.000€/anno in produttività persa. Il CEO ha approvato. Continua a leggere
Ultima modifica:

Audit tecnico iniziale di un progetto PHP legacy: metodo operativo per i primi 30 giorni

Audit tecnico iniziale di un progetto PHP legacy: metodo operativo per i primi 30 giorni Un gestionale PHP 7.0 ereditato da un freelance sparito: 43.000 righe di codice, nessuna documentazione, e il titolare che deve decidere se investire nella modernizzazione o riscrivere da zero. In 30 giorni ho prodotto un audit completo con PHPStan, Psalm, analisi delle dipendenze e una roadmap di intervento con costi e priorità. Continua a leggere
Ultima modifica:

Refactoring del codice PHP legacy: guida pratica per modernizzare un'applicazione senza riscriverla

Refactoring del codice PHP legacy: guida pratica per modernizzare un'applicazione senza riscriverla Un gestionale PHP 5.6 con 23.000 righe, zero test e debito tecnico che rendeva ogni modifica un rischio: il cliente pagava il triplo per ogni nuova funzionalità rispetto a un'applicazione moderna. In tre mesi di refactoring incrementale con Strangler Fig Pattern, PHPStan e Rector l'ho reso manutenibile senza riscrivere una riga da zero. Continua a leggere
Ultima modifica:

Come ho introdotto CI/CD in una codebase Laravel senza test: il caso di un gestionale logistico con 14 sviluppatori e zero automazione

Come ho introdotto CI/CD in una codebase Laravel senza test: il caso di un gestionale logistico con 14 sviluppatori e zero automazione Il gestionale logistico più critico di un'azienda piemontese di distribuzione alimentare non aveva test, non aveva pipeline, e i deploy si facevano via FileZilla il venerdì sera. In tre settimane ho portato il team da zero automazione a una pipeline GitHub Actions con PHPStan livello 5, Pest su 340 test, deploy atomico via webhook e rollback in 90 secondi. Continua a leggere
Ultima modifica:

Server VPS unmanaged in emergenza con sviluppatore irreperibile: come ho recuperato un Hetzner AX41 lockato in 3 ore con la rescue mode e cosa fare nei primi 30 minuti di crisi

Server VPS unmanaged in emergenza con sviluppatore irreperibile: come ho recuperato un Hetzner AX41 lockato in 3 ore con la rescue mode e cosa fare nei primi 30 minuti di crisi Quando lo sviluppatore originale è scomparso e il server VPS unmanaged è bloccato, il provider non risolve il problema al posto tuo: ti consegna gli strumenti - rescue mode, console KVM, log di sistema - ma sta a te (o a chi ti aiuta) usarli nel modo giusto. Il caso reale di un Hetzner AX41 lockato del cliente romano del 2025 e i comandi esatti che ho usato per recuperarlo in tre ore di lavoro. Continua a leggere
Ultima modifica:

Dopo l'emergenza, il debito tecnico: come trasformo un server Linux post-subentro in un asset misurabile nei 90 giorni successivi

Dopo l'emergenza, il debito tecnico: come trasformo un server Linux post-subentro in un asset misurabile nei 90 giorni successivi L'emergenza è passata, il sito gira di nuovo, gli accessi sono recuperati. Adesso cominciano i 90 giorni decisivi: o il debito tecnico viene misurato, prioritizzato e ripagato in modo strutturato, o tornerai a spegnere esattamente lo stesso incendio fra sei mesi. Il piano che applico nei tre mesi successivi a un subentro su server Hetzner o OVH, con metriche concrete, cadenza mensile e budget realistico per una PMI italiana che non ha un team DevOps dedicato. Continua a leggere
Ultima modifica:

Subentro forzato su un progetto PHP critico: il protocollo che applico nelle prime 72 ore quando lo sviluppatore non risponde più

Subentro forzato su un progetto PHP critico: il protocollo che applico nelle prime 72 ore quando lo sviluppatore non risponde più Quando lo sviluppatore sparisce e il business dipende da un'applicazione PHP su Hetzner, OVH o Aruba, le prime 72 ore decidono se il subentro va liscio o diventa un disastro. Il protocollo che applico: inventario accessi strutturato, recupero credenziali con i provider, codebase forensics su Git, stop-the-bleeding chirurgico e mappa del debito tecnico ereditato. Cinque fasi sequenziali con comandi concreti per riprendere il controllo di un progetto orfano. Continua a leggere
Ultima modifica:

Sei abitudini di un senior developer che valgono più di dieci anni di esperienza: cosa difendo davvero in code review nelle PMI

Sei abitudini di un senior developer che valgono più di dieci anni di esperienza: cosa difendo davvero in code review nelle PMI La differenza fra senior e junior non è il numero di anni: è un set di abitudini operative misurabili. Definition of done estesa, lettura prima di scrittura nel rapporto 10:1, refactoring incrementale del 10% per PR, KISS sopra cleverness, ADR scritti come codice di prima classe, regole non negoziabili su Git e migrazioni. Sei abitudini che difendo in ogni code review PMI e che abbattono il debito tecnico in modo misurabile nei tre-quattro mesi successivi. Continua a leggere
Ultima modifica:

Applicativi Symfony e debito tecnico nelle PMI: come passare dalla configurazione legacy dei servizi all'efficienza di autowiring e attributi in Symfony 6 e 7

Applicativi Symfony e debito tecnico nelle PMI: come passare dalla configurazione legacy dei servizi all'efficienza di autowiring e attributi in Symfony 6 e 7 Molte PMI si affidano ad applicativi Symfony appesantiti da configurazioni legacy dei servizi. Scopri come autowiring e attributi PHP in Symfony 6/7 riducono il debito tecnico, migliorano la manutenibilità e preparano il codebase per gli aggiornamenti futuri. Continua a leggere
Ultima modifica: