La deuda técnica surge de un desarrollo con mala calidad, obtiene beneficios a corto plazo. Pero puede generar deudas cuyos intereses sean imposibles a posteriori. Hce que seamos más lentos añadiendo funcionalidades. Poca deuda técnica acelera el desarrollo, siempre que se pague con prontitud.
Según Kruchten, se podría decir que la deuda técnica es la parte negativa e invisible de un código.
- Complejidad Ciclomática elevada
- Problemas de eficiencia en tiempo de ejecución
- Problemas de mantenimiento y evaluación
- Problemas de rendimiento
- Problemas para comprender el código
- Pérdida de tiempo en la refactorización
Recomendaciones para evitarlo
- Integración continua
- Refactorización y modularización
- Testing de regresión o unitario
Metódo de cálculo
SQALE (Software Quality Assessment based on Life-cicle Expectations)
- Medir la calidad del software equivale a medir su deuda técnica.
-
Define 8 características en base a la ISO 9126 (añade la
reutilización):
Reusabilidad, Portabilidad, Mantenibilidad, Seguridad, Eficiencia, Cambiabilidad, Fiabilidad, Capacidad de ser probado.
Se podrá calcular la deuda técnica del proyecto, realizando un análisis de código y sumando cada requisito no funcional incumplido que encuentre por su coste de asociado, herramienta SonarQube.