Vertical Slice Migration: migrare capacità end-to-end, non strati tecnici
La migrazione per vertical slice riduce il rischio perché sostituisce capacità utilizzabili end-to-end invece di rifare prima tutti i database, poi tutte le API e infine la UI.
Il limite della migrazione per strati
Un programma che pianifica «prima rifacciamo tutti i database, poi tutte le API, poi il frontend» produce lunghi periodi in cui nessuna capability nuova è realmente utilizzabile. Nel frattempo il legacy continua a cambiare e i team lavorano su assunzioni non validate.
Vertical Slice
Una vertical slice attraversa tutti gli strati necessari a consegnare un caso d'uso: UI o MFE, BFF, application service, domain model, persistence, ACL/adapter legacy, IAM, audit, osservabilità e test end-to-end. La slice può essere piccola, ma deve essere realmente esercitabile.
Esempio
Invece di «rifare l'anagrafica», si può migrare «ricerca paziente per identificativo e apertura scheda». La slice contiene nuova UI, Patient Identity API, accesso EMPI, ACL verso il legacy per i casi non ancora migrati, autorizzazioni e telemetria. Quando è stabile, si passa alla capacità successiva.
Criteri per scegliere la prima slice
Confine funzionale comprensibile e testabile.
Valore reale per gli utenti ma raggio di impatto gestibile.
Dipendenze legacy identificabili.
Possibilità di misurare differenze e rollback.
Capacità che aiuta a creare foundation riutilizzabili senza trasformarsi in un progetto infrastrutturale infinito.
Definition of Done di una slice di migrazione
Owner del dato dichiarato.
Contratti API/eventi versionati.
Security e audit verificati.
Correlation/trace id propagati.
Test funzionali, contract test e smoke E2E.
Modalità Shadow/Dual Run se necessaria.
Runbook di rollback e metrica di successo.
Piano di rimozione della corrispondente funzione legacy.
Il vantaggio organizzativo
La vertical slice costringe a verificare subito l'interazione tra architettura e realtà operativa. Evita che un team produca un dominio elegante ma inutilizzabile perché mancano mapping legacy, permessi, dati o integrazioni.
Relazione con Strangler Fig
La vertical slice definisce cosa consegnare; lo Strangler Fig definisce come spostare progressivamente quella capacità dal vecchio al nuovo. Insieme formano un approccio incrementale molto più controllabile del Big Bang.
