Deuda tecnológica

La deuda tecnológica es un término acuñado originalmente por el Señor Ward Cunningham que en principio se refiere a que en el desarrollo de software se tiene en una gran mayoría de las veces que desarrollar de forma acelerada, priorizando inicialmente beneficios de corto plazo, con la consecuencia de no ser suficientemente minucioso y por consecuencia en el mediano a largo plazo se tendrá que invertir en mejoras para los detalles que no se consideraron en un principio.

Esta situación recibe el nombre de deuda tecnológica porque hace referencia al concepto financiero de una deuda.

El fenómeno de la deuda tecnológica, paso a paso

Al endeudarnos recibimos de forma inmediata dinero o algún producto o servicio, teniendo lo que deseamos de manera instantánea. Sin embargo, a lo largo del tiempo nos veremos obligados a pagar lo que recibimos y adicionalmente un interés. En tecnología ese “interés” implica el revisar las consecuencias de largo plazo al haber tomado decisiones rápidas con soluciones sencillas que permitieron arrancar una aplicación o sistema.

Hacer la programación de manera subóptima tiene implicantes en calidad de la programación, ineficiencias operativas, falta de documentación donde todo esto puede provocar que las mejoras a futuro de lo desarrollado sean más tardadas, o sean más riesgosas o inclusive más caras (de allí que es una deuda, se acabará pagando más allá de la cantidad original)

Y así como las deudas implican intereses a lo largo del tiempo, la deuda tecnológica obliga también el pago de intereses de manera en la que se requiere de mucho más tiempo para que se mejoren las aplicaciones y los mantenimientos a los desarrollos son más complejos.

Por lo anterior, se pueden manifestar más errores a corregir, más dificultad para agregar nuevas características o servicios, y mayores riesgos de fallas en sistemas o vulnerabilidades de seguridad.

¿Qué hacer con la deuda tecnológica?

La administración de esta deuda tecnológica en las empresas que han incurrido en hacer esto debe de ser una prioridad porque, de no tomarse con seriedad y peor aún, si esto se olvida, puede provocar imposibilidades de funcionamiento, costos de mantenimiento tan elevados que a veces es mejor desarrollar algo diferente de nueva cuenta al punto del colapso de los sistemas por completo.

Adicionalmente, no se debe de confundir la deuda tecnológica con otros problemas de las aplicaciones y desarrollos de software:

  • Si no se tienen las habilidades de desarrollo se cae en deuda técnica
  • Si se tienen demoras o errores en características de una aplicación se cae en deuda de especificaciones
  • Si hay defectos o errores se cae en deuda de calidad
  • Si los procesos son inadecuados o simplemente no hay procesos se cae  en deuda de procesos

 

¿Es entonces inadecuado caer en la deuda tecnológica?

La respuesta es no necesariamente, toda vez que al igual que sucede con las deudas financieras, estas se administran y se van pagando con el tiempo. En el caso de sistemas implica la reescritura o re-fabricación del código, buscando las mejoras de largo plazo que evitan grandes problemas.

Tenemos que entender que este proceder de desarrollo de sistemas y aplicaciones tiene su origen en la necesidad de responder a algo rápidamente, o bien de salir al mercado con una solución lo antes posible. Pero se debe de considerar casi desde el momento en el que se decidió este proceder que se debe de iniciar en corregir esta situación en lo que lo efectuado está dando un servicio de manera temporal.

Conclusión

Cuando se “recortan las esquinas” para desarrollar algún sistema o aplicación que no está en óptimas condiciones para responder a lo que se requiere, se incurre en deuda tecnológica. Esta deuda siempre reduce la productividad. Esa reducción de productividad es el interés de la deuda tecnológica, el cuál debe de pagarse haciendo las mejoras necesarias para que se cumpla de forma óptima con lo deseado.


Deja un comentario