Les migrations sont présentées comme la solution essentielle et la plus évolutive pour gérer la dette technique dans les systèmes logiciels et les infrastructures. Alors que les améliorations mineures de la dette technique peuvent être gérées individuellement par les ingénieurs, les problèmes plus importants nécessitent souvent des efforts coordonnés entre plusieurs équipes, ce qui rend les migrations inévitables. Ces projets visent à créer un levier technique ou à réduire la dette, mais leur coût et leur complexité augmentent avec la taille des systèmes, les rendant souvent difficiles à prioriser malgré leur importance cruciale pour la vélocité future de l'entreprise.
Les migrations constituent la seule voie viable pour progresser significativement sur la dette technique à mesure qu'une entreprise et sa base de code se développent. L'incapacité à réaliser des migrations efficaces conduit inévitablement à un enlisement dans la dette technique, rendant potentiellement une réécriture complète nécessaire à terme. La gestion réussie des migrations suit un playbook standard en trois phases : la réduction des risques, l'activation et la finalisation.
La première étape, la réduction des risques, consiste à aborder la migration de la manière la plus rapide et la moins coûteuse possible. Cela implique la rédaction d'un document de conception détaillé et sa validation auprès des équipes susceptibles de rencontrer les plus grandes difficultés dans le processus de migration.