← Tornar a tots els articles
Reptes

La Guia del CTO per a la Gestió Intel·ligent del Deute Tècnic amb Pair Programming d'IA

Per Marc Molas·27 d’abril del 2025·12 min de lectura

El 91% dels CTOs anomena el deute tècnic com el seu major repte. El 99% el reconeix com un risc material. Més de la meitat el qualifica com el "sabotejador silenciós" del seu roadmap.

Aquests números et diuen una cosa important: el deute tècnic no és un problema solucionable — és un problema gestionat. Cada organització d'enginyeria n'acumula. La pregunta no és si tens deute; és si estàs prenent decisions sobre el deute deliberadament o per accident.

El que ha canviat el 2025 és que l'economia de la retirada de deute s'ha desplaçat. El pair programming d'IA — no com a novetat, no com a autocomplete de Copilot — sinó com a co-desenvolupador genuí, ha fet que el refactoring, la migració i la modernització siguin 2–4x més barats que fa 18 mesos. Això no arregla automàticament el teu problema de deute. Significa que les converses de deute que has anat ajornant perquè "no tenim temps" ara tenen una resposta diferent.

Aquest és el playbook pràctic per gestionar deute tècnic intel·ligentment el 2025.

Què És Realment el Deute Tècnic (I Què No És)

La majoria de discussions sobre deute tècnic fallen perquè el terme s'usa imprecisament. Abans de construir un framework de gestió, categoritza correctament.

Deute deliberat: trade-offs conscients on vas triar velocitat per sobre de perfecció. Una startup llençant un MVP amb tests mínims, una scale-up ajornant un refactor perquè la funcionalitat era sensible al temps. Aquest és deute útil — va comprar alguna cosa valuosa. Cal tracar-lo i eventualment pagar-lo.

Deute heretat: codi escrit per persones que ja no són a l'equip, o per a requisits que ja no existeixen. És la categoria més comuna. Normalment és més car d'arreglar del que sembla perquè el context original ha desaparegut.

Deute arquitectònic: eleccions estructurals fonamentals que ja no encaixen amb l'escala del sistema, els casos d'ús o l'estructura d'equip. És la categoria més cara. Dispersió de microserveis, monòlits que s'haurien d'haver dividit fa tres anys, models de dades que no poden suportar noves línies de producte.

Deute accidental: codi que està trencat o és ineficient perquè va ser escrit per enginyers que no sabien més. És la categoria més barata d'abordar aïlladament — el pair programming d'IA excel·leix aquí — però el problema organitzatiu (contractació, qualitat de revisió, mentoria) sovint importa més que el codi.

Deute de rot: codi que estava bé quan es va escriure però s'ha degradat perquè l'ecosistema al seu voltant s'ha mogut. Llibreries deprecated, frameworks end-of-life, vulnerabilitats de seguretat en dependències. Això s'acumula constantment si no ho estàs gestionant activament.

Cada categoria necessita un enfocament diferent. Tractar-les uniformement és per què fallen la majoria d'"iniciatives de reducció de deute tècnic".

El Problema del Mesurament del Deute

No pots gestionar el que no mesures. Però "mesurar el deute tècnic" normalment vol dir alguna cosa vague — scores de complexitat de codi, percentatges de cobertura de test, avisos de lint. Són senyals, no mesuraments.

Els mesuraments que importen són els que connecten el deute amb el cost de negoci:

Impacte en velocitat: Quant més lent és una funcionalitat típica en una àrea carregada de deute versus una àrea neta? Mesura traçant funcionalitats de complexitat similar a diferents parts del codebase. Una diferència de 3x és comuna i material.

Correlació amb incidents: Quin percentatge d'incidents de producció es remunta a codi legacy? Si és més del 40%, el teu deute t'està costant més del que estàs estalviant ajornant-lo.

Temps d'onboarding: Quant triga un nou enginyer sènior a esdevenir productiu a cada àrea del codebase? Les àrees amb molt deute triguen 2–3x més. Això és un cost real cada cop que contractes.

Risc de canvi: Quina és la probabilitat que un canvi no trivial a un mòdul determinat causi una regressió en un altre lloc? Alt risc de canvi és un símptoma directe de deute arquitectònic.

Sentiment del desenvolupador: Enquesta trimestral a enginyers preguntant quines àrees eviten. Les àrees que tothom evita són normalment on el deute mata la velocitat.

Aquests mesuraments no necessiten un dashboard. Necessiten existir en algun lloc on l'equip els pugui veure, perquè el deute esdevingui visible en lloc d'invisible.

La Matriu de Priorització

Amb els mesuraments al seu lloc, la priorització del deute esdevé tractable. El framework que funciona:

Impacte / EsforçBaix esforç per arreglarAlt esforç per arreglar
Alt impacte de negociFes-ho immediatament — són les victòries fàcils que recuperen valor compostPlanifica i finança — són les iniciatives arquitectòniques que necessiten capacitat dedicada
Baix impacte de negociArregla oportunísticament quan ja estiguis al codiNo ho arreglis — accepta el deute, documenta'l, segueix endavant

Els errors comuns:

  • Tractar tot el deute com a alt impacte perquè els enginyers se'n queixen. Els enginyers es queixen del deute que els molesta, que no sempre és deute que perjudica el negoci.
  • Tractar tot el deute com a alt esforç perquè una peça difícil és visible. La majoria del deute té arranjaments barats si els busques.
  • Arreglar deute que ningú ha demanat arreglar perquè "és el correcte". Les correccions de deute haurien de correlar amb prioritats de producte, no amb estètica d'enginyeria.

L'output de la priorització hauria de ser una llista curta: els 3–5 ítems de més impacte i menys esforç que s'abordaran aquest trimestre, més les 1–2 iniciatives arquitectòniques que s'estan planificant i finançant per separat.

El Pair Programming d'IA com a Eina de Retirada de Deute

És aquí on el 2025 és genuïnament diferent del 2023. El pair programming d'IA — al nivell de Cursor, Claude Code, Copilot Workspace o eines similars — ja no és un ajut a la productivitat en feina greenfield. És un multiplicador de força seriós per al tipus de treball metòdic i carregat de context que requereix la retirada de deute.

Les tasques específiques on el pair programming d'IA excel·leix:

1. Migracions de llenguatge i framework

Passar de JavaScript a TypeScript, de Python 2 a Python 3, d'Express a Fastify, de class components a hooks. Són mecàniques però sensibles al context — el tipus de treball que triga setmanes a un enginyer sènior i mesos a un junior. El pair programming d'IA comprimeix això a dies quan s'usa correctament.

El patró que funciona: emparellar un enginyer sènior amb un assistent d'IA per fer uns quants fitxers a mà, codificar els patrons en un prompt ben especificat, i després utilitzar la IA per executar la mateixa transformació a la resta del codebase amb revisió humana. El paper de l'enginyer canvia d'escriure a revisar i detectar edge cases — un guany de palanca de 5–10x.

2. Millores de cobertura de tests

Afegir tests a codi legacy és feina ingrata, carregada de context, que és perfecta per al pair programming d'IA. Donada una funció i uns quants exemples de casos de test, la IA moderna pot generar scaffolding de tests útil més ràpid del que pot un enginyer. El paper de l'enginyer és verificar que els tests realment exerceixin la lògica, afegir edge cases que la IA hagi omès, i identificar quan una funció "coberta" encara està fonamentalment trencada.

3. Documentació i comentaris de codi

Molt deute és realment deute de context — codi que funciona però ningú recorda per què. El pair programming d'IA pot llegir un mòdul, extreure'n el comportament i generar documentació arquitectònica amb qualitat raonable. Això sol ja amortitza l'eina en la majoria d'equips.

4. Refactoring per llegibilitat

Renombrar variables per claredat, extreure funcions helper, dividir funcions llargues, eliminar codi mort. La IA fa la major part del treball mecànic; l'enginyer verifica que el refactor realment millori les coses.

5. Actualitzacions de dependències i pegats de seguretat

Actualitzar un framework sovint requereix centenars de petits canvis — imports, signatures d'API, patrons deprecated. El pair programming d'IA pot treure a la llum l'scope complet dels canvis necessaris, esbossar les modificacions i marcar àrees que necessiten criteri humà. El que abans trigava un sprint pot trigar una tarda.

On el pair programming d'IA no funciona

Per ser precisos sobre els límits:

  • Redissenys arquitectònics. La IA pot ajudar a implementar una nova arquitectura, però no et pot dir quina és l'arquitectura correcta. Es requereix criteri sènior per a les decisions estratègiques.
  • Entendre coneixement tribal. Si el deute existeix per una regla de negoci que no és al codi ni als comentaris, la IA ho passarà per alt. L'arqueologia humana encara és necessària.
  • Deute entre sistemes. El pair programming d'IA és millor amb deute a nivell de codi. El deute a nivell de sistema — serveis que s'haurien de consolidar, models de dades que creuen límits de propietat — requereix treball estratègic humà.

El Patró de Desplegament per al Pair Programming d'IA en Deute

La majoria d'equips no aconsegueixen extreure tot el valor del pair programming d'IA perquè el despleguen com a eina de productivitat individual. El patró de desplegament que multiplica la velocitat de retirada de deute:

1. Squads dedicades de retirada de deute

En lloc d'escampar la feina de deute per l'equip, talla 2–4 enginyers amb el pair programming d'IA com a eina principal, focalitzats en una àrea de deute específica per a una finestra de temps específica. El focus concentrat + la palanca d'IA produeix resultats que l'esforç distribuït no pot igualar.

2. Biblioteca compartida de prompts

Els enginyers que treuen més del pair programming d'IA tracten els prompts com a artefactes. Guarden els prompts que funcionen per a tipus específics de refactoring, els comparteixen amb l'equip i iteren sobre ells. Una biblioteca compartida de 30–50 prompts provats per a patrons comuns de deute val més que la majoria d'eines.

3. Cultura de revisió primer

El pair programming d'IA funciona quan els humans ho revisen tot. Falla quan els humans segellen de goma l'output de la IA. Una squad de retirada de deute hauria de tenir almenys una ràtio 2:1 de temps de revisió-a-generació, amb enginyers sèniors fixant el llindar de qualitat.

4. Mesurament abans i després

Cada iniciativa de retirada de deute hauria de tenir mesuraments abans/després en les mètriques que importen: cobertura de tests, taxa d'incidents, risc de canvi, sentiment del desenvolupador. Altrament estàs només barrejant codi.

La Disciplina Organitzativa

Les eines no arreglen el deute. Les organitzacions arreglen el deute — quan decideixen fer-ho.

La disciplina que separa les organitzacions que gestionen bé el deute de les que l'acumulen:

El deute es finança, no es tolera. El pressupost d'enginyeria assigna explícitament capacitat a la retirada de deute. Típicament un 15–25% de la capacitat d'enginyeria. No "quan tinguem temps" — com a capacitat compromesa.

Les decisions de deute es documenten. Cada decisió de deute deliberat obté un ADR curt (architectural decision record) explicant què es va triar, per què, i quin seria el cost de pagar-lo més tard. Això evita el problema de "no sabem per què això és aquí".

Les revisions de deute són trimestrals. Cada trimestre, el CTO i els tech leads revisen el registre de deute, els mesuraments i el pla de retirada. Aquesta és la funció forçant que evita que el deute esdevingui invisible.

La velocitat de deute es traça. La quantitat de deute retirada per trimestre hauria de ser mesurable i en tendència en la direcció correcta. Si no, l'assignació està equivocada o la priorització està equivocada.

L'Angle de la Capacitat Nearshore

Un patró que funciona particularment bé per a organitzacions amb problemes reals de deute: usar capacitat d'enginyeria nearshore com a squads dedicades de retirada de deute.

La lògica: la retirada de deute és feina d'alt impacte però políticament poc glamurosa. Els equips interns empenyen contra això perquè no és visible en demos. Les squads nearshore, desplegades per a engagements delimitats de 3–6 mesos específicament per a retirada de deute, tenen el focus i el nivell d'habilitat per executar sense la fricció política.

L'estructura d'engagement que funciona:

  1. Trucada de descobriment amb CTO per entendre el paisatge de deute i prioritzar què val la pena abordar.
  2. Disseny de squad: 2–4 enginyers sèniors nearshore més un tech lead, amb pair programming d'IA com a eina estàndard.
  3. Scope delimitat: mòduls específics, resultats específics, mesurables abans/després. No "reduir deute" — "retirar el middleware d'auth legacy i consolidar tres response handlers abans de final del Q3".
  4. Pla de traspàs: transferència clara de propietat de tornada a l'equip intern al final de l'engagement.

Això no és fer outsourcing de la teva enginyeria core. És afegir una squad dedicada de retirada per a un període delimitat per accelerar feina que el teu equip intern no pot arribar a fer — sense fer créixer headcount permanent.

El Deute que No Hauries de Pagar Mai

Un punt contraintuitiu: algun deute no s'hauria de retirar mai. S'hauria de deixar com està, documentar i oblidar.

  • Deute en codi que estàs a punt de retirar. Si estàs migrant fora d'un sistema legacy en 6 mesos, no el refactoritzis. Gasta la capacitat en un altre lloc.
  • Deute en codi que es toca poc sovint. Si un mòdul no ha canviat en 18 mesos i no causa incidents, el deute és teòric. Ignora'l.
  • Deute que representa pragmatisme prou bo. No tot tros de codi necessita ser elegant. Si funciona, s'entén i no bloqueja res, està bé.

La disciplina és distingir el deute que et fa mal del deute que només és estèticament desagradable. El pair programming d'IA fa el primer més barat d'arreglar; ni la IA ni els enginyers haurien de perdre el temps amb el segon.


Enfrontant un programa de retirada de deute que no pots cobrir internament? Parla amb un CTO sobre desplegar una squad dedicada nearshore amb pair programming d'IA per retirar deute en un calendari delimitat i mesurable.

Preparat per construir el teu equip d'enginyeria?

Parla amb un partner tècnic i desplega desenvolupadors validats per CTOs en 72 hores.