¿Qué es la deuda técnica?
design patterns
La deuda técnica es el costo de trabajo adicional causado por elegir la solución más rápida en lugar de la más efectiva.
Es la falta de calidad en el código lo que genera una deuda que afectará costos futuros. Estos costos son económicos y de tiempo:
- Realizar mantenimiento
- Refactorizar el código
- Entender el código
- Tiempo adicional en la transferencia del código
Causas de la deuda técnica
-
Presión del negocio
A veces las circunstancias del negocio exigen velocidad por sobre la calidad. En esos momentos, todos quieren terminar su trabajo por encima de cualquier otra cosa.
-
Incompetencia
Esto sucede cuando el desarrollador simplemente no sabe cómo escribir código decente.
Esquema de deuda técnica de Martin Fowler
¿Cómo se paga la deuda técnica?
Caer en deuda técnica es normal y muchas veces inevitable. Debemos ser conscientes y preocuparnos por pagarla. La deuda técnica se paga con refactorización .
Refactorización
Es el proceso que busca mejorar el código sin alterar su comportamiento, para hacerlo más comprensible y tolerante a los cambios.
Generalmente, para que una refactorización fuerte tenga el objetivo esperado, es fundamental contar con tests unitarios.
Si no implementamos tests unitarios, caeremos en el famoso: "Si funciona, no lo toques" .
La mala calidad del software siempre termina siendo pagada o asumida por alguien. Ya sea el cliente, el proveedor con sus recursos, o el propio desarrollador gastando tiempo en refactorizar o perdiendo tiempo programando sobre un sistema frágil.