Existe el concepto de deuda técnica (deuda de diseño o deuda de código): es cuando tomamos decisiones de compromiso en el desarrollo hace mucho tiempo y ahora tenemos problemas debido a esto.
Imagínate una startup: por ejemplo, una aplicación que rastrea tu rutina diaria y organiza las tareas de manera óptima. Desarrollar una aplicación como esta es caro, necesitas dinero. El dinero no aparece de la nada, lo dan los inversores. Los inversores quieren que el dinero regrese lo más pronto posible, y para ello necesitas lanzar la aplicación lo más pronto posible.
Debido a la velocidad, el equipo de desarrollo toma decisiones como estas:
- La documentación del código se escribirá de la forma más simple, parte del código no estará documentado en absoluto.
- La API solo funcionará con un servidor y las solicitudes contendrán un número fijo de campos.
- Algunas pruebas automatizadas se simplificarán sustancialmente, otras no existirán.
- Los desarrolladores de frontend y backend escriben código simultáneamente e independientemente el uno del otro.
Estas decisiones son premonitorias de la deuda técnica. Hoy, gracias a ellas, la aplicación saldrá rápido, pero dentro de un año el desarrollo se estancará significativamente si no se devuelve esta deuda técnica.
¿Qué es la Deuda Técnica?
La deuda técnica es el nombre común para las tareas que se pospusieron por velocidad.
La palabra «deuda» significa que los desarrolladores tendrán que hacer algo con el código actual en el futuro y corregir lo que se hizo a la ligera.
Por ejemplo, hoy en día «codificamos» la API en cinco minutos y no consideramos su extensibilidad. Dentro de un año, la API aún tendrá que ampliarse. Entonces, los desarrolladores tendrán que profundizar en el código antiguo, comprender las viejas entrañas. ¿Y recuerdas que no están documentadas? En general, esto será para mucho tiempo.
¿De Dónde Más Surge la Deuda Técnica?
En nuestro ejemplo, toda la deuda técnica surgió debido a la prisa. Esta es la razón más común para el surgimiento de la deuda. Hacer software a partir de código duro y palos siempre es más rápido que sentar una base sólida.
La deuda técnica también surge cuando el equipo no realiza revisiones de código y no verifica la calidad y el estilo de programación. Esto puede conducir a errores que requerirán tiempo para corregirse en el futuro.
La deuda también puede surgir simplemente por la falta de cualificación y experiencia de los programadores. Por ejemplo, en lugar de tomar una solución preparada y utilizar una biblioteca estándar, el desarrollador escribe su propio sistema de autenticación. Pero debido al desconocimiento de los matices, este sistema puede tener errores que requerirán reescribirlo todo.
¿Qué Hacer con la Deuda Técnica?
La deuda técnica debe devolverse con intereses.
El enfoque más efectivo y productivo es reservar tiempo en el desarrollo para corregir y mejorar lo que se dejó de lado. Cuanto más deuda técnica haya en el código, más largo y complicado será cada nueva versión del programa. A veces hay tanta deuda que tienes que crear una nueva versión casi desde cero, teniendo en cuenta todos los errores del pasado.