Technical Debt
El coste futuro de un atajo tomado hoy, devuelto como una entrega más lenta hasta que se corrige el atajo. A veces un trato inteligente, a veces basura accidental, peligroso sobre todo cuando nadie lo ve.
La deuda técnica es una metáfora, y buena. Cuando tomas un atajo para entregar más rápido (un hack rápido en lugar del diseño limpio, un valor codificado a mano en lugar del sistema de configuración), pides prestado tiempo ahora y lo devuelves más tarde como intereses: cada cambio futuro en esa zona es más lento, más arriesgado y más molesto. Como la deuda financiera, no es automáticamente mala. Es una herramienta.
Tomar deuda deliberadamente suele ser la decisión correcta. Antes del ajuste producto-mercado, la velocidad le gana a la elegancia, porque la mayoría de lo que construyes se va a tirar de todas formas. Construir una arquitectura impecable para un producto que quizá no exista en seis meses es su propia forma de desperdicio. La jugada correcta es con frecuencia tomar el atajo, entregar, aprender y pagar la deuda una vez que sabes que la cosa vale la pena conservar.
El peligro no es la deuda. El peligro es la deuda invisible. La deuda deliberada y documentada (“codificamos esto a mano, aquí está el ticket para arreglarlo antes de escalar”) es un pasivo gestionado. La deuda no documentada que nadie decidió tomar, que simplemente se acumuló por las prisas y la rotación, es la basura que estrangula calladamente una base de código. La velocidad cae, nadie sabe decir por qué, y cada estimación se duplica. Para cuando es visible en las métricas, los pagos de intereses llevan un año acumulándose.
La postura de Wavect: la deuda es un compromiso deliberado, no un fallo moral. Con gusto tomamos deuda para llegar a una ventana de tiempo, y anotamos exactamente qué tomamos y qué costará devolverlo. La conversación que nos negamos a saltar es aquella en la que alguien paga intereses y nadie ha nombrado el préstamo. Mira nuestro trabajo de desarrollo full-stack para ver cómo mantenemos explícito este compromiso.