Technical debt o deuda técnica


Deuda técnica es un concepto antiguo que está poniendose de moda poco a poco. Se refiere a los cambios poco organizados que hacemos en nuestros sistemas informáticos y que a la larga pueden provocar que un sistema no sea mantenible.

Ya se lo que estas pensando: ¡otro termino más de jerga!, pues no te equivoques, porque detrás de esto SÍ hay algo importante. No se trata de algo comercial o laboral como “sinergia”, “cloud computing”, “ESB” o “empowering”, con deuda técnica o “technical debt” estamos hablando de Ingenieria 100%. En el futuro se seguirá hablando de deuda técnica cuando muchos de esos buzzwords estén muertos y enterrados.

Piensa en la deuda técnica como ese cambio que “apañas” en el código para hacer un despliegue el día antes del inicio del testing para tu última iteración de proyecto. Cuando haces una chapuza en el código, estás endeudandote con tu sistema y esto en realidad no es un problema si se hace de forma comedida y se paga la deuda lo antes posible.

Pagar la deuda es fácil, básicamente consiste en quitar el apaño y dar una solución estructurada, documentada, testeada y escalable.

El problema llega cuando no pagas la deuda a tiempo y te has endeudado tanto en tu sistema que la sola posibilidad de cambiar el estilo visual de una pagina Web (algo en principio trivial) te genera sudores fríos debido a lo inmantenible de tu código (tu deuda sería alta).

Ante una situación de embargo técnico, esto es que la deuda es tal que nadie se atreve a añadir funcionalidad por miedo a romperlo, las soluciones pueden ser “tirarlo y hacerlo nuevo” o “hacer un proyecto de reingeniería”.

Deuda técnica, embargo técnico, cancelación de deuda,… ¡esto da para una serie de artículos! :).