El blog de ASPgems

Siguiendo el día a día de ASPgems

Sobre la deuda técnica

Deuda técnica

Hoy me ha preguntado un cliente que era la deuda técnica, y buscando un enlace para enviarle al final me pareció mejor escribir mi versión de lo que es la deuda técnica y lo que yo entiendo que debe saber un gestor de proyectos de desarrollo de software. Este no es por tanto un artículo académico completo y organizado, simplemente recoge lo que yo creo que es importante.

 

Como muy bien dicen en wikipedia la deuda técnica es un eufemismo que nos permite hablar de los trabajos mal hechos desde el punto de vista técnico.

Yo no había caído pero  como dice Wikipedia:

 

El sector informático presenta la particularidad de que permite la implantación de productos no acabados o con errores conocidos. “

 

Y muchas veces las prisas y la falta de recursos hace que entren en producción productos no completamente probados o con fallos de arquitectura conocidos.

 

La deuda técnica se refiere a ese tipo de defectos de los sistemas software, es decir a cosas que están mal en el sistema y que o bien porque no sabemos qué está mal, o bien porque no tenemos tiempo o recursos para hacerlo bien forman parte de nuestro sistema. Algunos factores que provocan la generación de deuda técnica son:

 

  • No tener tiempo de pensar para hacer modelos más generales y evitar entre otras cosas repetir código.

  • No disponer de tiempo para probar bien el software

  • No disponer de tiempo para construir sistemas automatizados de prueba.

  • No contar con equipo humanos con la suficiente experiencia.

  • Las prisas por acabar o sacar a producción un proyecto.

  • No contar con recursos para actualizar versiones del software que utiliza nuestra aplicación.

 

Seguro que hay muchos más, pero a mi estos me parecen los más relevantes y sobre todo frecuentes.

 

La deuda técnica se parece mucho a la deuda financiera de una empresa en el sentido de que a veces es necesario aceptar un cierto nivel de endeudamiento (técnico o financiero), y no siempre el mejor escenario desde el punto de vista empresarial es un escenario de deuda cero.

 

A veces es mejor hacer una “chapuza” para poder acompañar una determinada campaña de marketing, por ejemplo, y en ese caso puede que no este mal generar deuda técnica.

 

El problema es que en las empresas generalmente no hay recursos para repagar la deuda, porque mientras los gestores ven su deuda financiera en el balance, la deuda técnica está oculta no se manifiesta y cuando lo hace suele ser sin demasiadas opciones para los gestore del proyecto.

 

La deuda técnica es la responsable de que en muchas ocasiones:

 

  • Lo que en condiciones normales debería costar 1 dia de trabajo, a veces, cueste 2 ó 3.

  • Muchos sistemas estén obligados a mantener versiones anticuadas, y con problemas de rendimiento o seguridad. La deuda técnica es tan grande que es imposible cambiar nada.

  • Muchas veces tenemos que decir a clientes que acuden a nosotros con productos descuidados que es más barato hacerlo de nuevo que repagar la deuda, es lo que en términos financieros podríamos comparar con una suspensión de pagos.

 

IMHO no tiene sentido intentar que tu proyecto tenga deuda técnica cero, creo que lo que tiene más sentido es de vez en cuando invertir en repagar parte de esa deuda dando tiempo y recursos al equipo para:

 

  • Refactorizar partes de código con las lecciones aprendidas

  • Escribir o mejorar las baterías de test automáticos

  • Actualizar versiones del software de tu aplicación

Claro que estos cambios no los nota, en el corto plazo, el cliente final y por eso éstas inversiones no se suelen hacer hasta que es demasiado tarde y ya no tiene solución.

Añadir nuevo comentario

Desarrollo Web

Desarrollo Web
Co-creamos con nuestros clientes las mejores soluciones ágiles.

Dirección técnica

Dirección técnica
Confía en los líderes en desarrollo en Rails.

Due Diligence Tecnológico

Due Diligence Tecnológico
Si estás pensando en invertir en una empresa con tecnológia, te...

Rescue Projects

Rescue Projects
Acudimos al rescate de proyectos con problemas.

Etiquetas

Artículos relacionados

Nuestra revista

View my Flipboard Magazine