slider-1

slider text 1 Centro de Desarrollo:

Centro de Desarrollo:

SCRUMstudy353_386

slider text 2 Centro de entrenamiento Autorizado VMEdu:

Centro de entrenamiento Autorizado VMEdu:

slider-3

slider text 3 Programa de Innovación

Programa de Innovación

¿Que es la deuda técnica?

Deuda Técnica

 

Hace tiempo se viene hablando del término, deuda técnica (technical debt), y con esta entrega quiero hacer una pequeña descripción del mismo así como consecuencias que tiene sobre el software, al pasar tan desapercibido, le llamaría el enemigo oculto del software.

 

La deuda técnica es el conjunto de decisiones que tomamos al momento de desarrollar (implementar) software que van en contra de las buenas prácticas en diseño y codificación de software, con la buena intensión de cumplir con una entrega.  Estas decisiones en la programación deben ser corregidas, debido a que la suma de estas porciones del software; traerán consecuencias en futuras entregas, corrección de incidentes, y mejoras al las aplicaciones desarrolladas.  Como deben ser corregidas se debe asignar un tiempo a esas correcciones, tiempo que se traduce en dinero, por ende es una deuda pendiente, es una deuda técnica.

 

Al acumularse la deuda, es más difícil pagarla, porque no es lo mismo corregir unas cuantas funcionalidades, porque lo demás está desarrollado de una manera robusta, que corregir funcionalidades cuando hay mucha deuda técnica, porque la misma hace más difícil cada corrección, es decir la corrección te cuesta más al pasar del tiempo.  Esta analogía es tan aplicable, que hasta funciona como el interés compuesto, si te cobran intereses sobre saldo pendiente, mientras más saldo tienes más te cuesta pagarlo y el saldo va aumentando.   En el caso del software el saldo aumenta a medida que se van incluyendo más líneas de código al código endeudado.  (Esto me recuerda un chiste pero no lo puedo escribir aca)

 

La manera de corregir la deuda técnica es implementar un proceso de desarrollo,que incluya como obligación, tareas para ir eliminando la deuda, es decir un plan de pago para recuperación de nuestra estabilidad de software.

 

Hay herramientas que ayudan a detectar la cantidad de deuda técnica (obvia) que tiene un software, esto es elementos no recomendados por las mejores prácticas de los respectivos lenguajes de programación, quizá pusimos una literal directa (“Contactar a su administrador”) , sin utilizar el esquema de internacionalización que ofrece la plataforma o que tiene la aplicación, sin embargo hay deuda que es difícil de encontrar de manera automatizada, y esta es sobre las cosas que sabemos (vamos… en el fondo, lo sabemos, confesemos), que están mal diseñadas, que deben estar mejor, que quizá en la sintaxis esté bien, pero no funcional mente  porque sabemos que se complicará más tarde su modificación o mejora.

 

Más adelante hablaremos sobre dichas herramientas.

 

Les dejo un link en inglés o su traducción en google docs , en donde se define y cita la importancia de eliminar la deuda técnica, también algunos indicios de como calcular su valor en dinero.

Hasta la próxima.

 ¿Que es la deuda técnica?

Acerca

No comments yet. You should be kind and add one!

Leave a Comment

Allowed tags: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>