Deuda técnica

La deuda técnica es un concepto de desarrollo de software inventado por Ward Cunningham en 1992. El término proviene de una metáfora inspirada en el concepto de deuda existente en el área de finanzas y negocios, aplicado al campo del desarrollo de software.

Explicación

Un proyecto de desarrollo de software a menudo incluye diseño de software, formalizado o no. Escribir el código fuente , según el diseño definido, asegura la consistencia del proyecto y facilita su mantenimiento  :

La deuda técnica se puede incrementar cuando la codificación no es óptima. Un diseño de software descuidado incurre en costos futuros: intereses, que se reembolsarán en forma de tiempo de desarrollo adicional y errores cada vez más frecuentes. La deuda técnica debe pagarse rápidamente para evitar la acumulación de dichos intereses, de ahí la analogía con el concepto de deuda financiera.

Los proyectos que dependen de elementos externos (librerías, APIs, modelos, arquitecturas, etc.) también generan una deuda técnica, porque los elementos externos evolucionan en paralelo, lo que provoca la obsolescencia de ciertas partes del código, por lo tanto la necesidad de crear actualizaciones .

La deuda técnica es inevitable en el desarrollo de software y dura toda la vida del producto. Sin embargo, se puede controlar, especialmente con programación extrema , un método enfocado en la productividad y la reducción de costos en la ingeniería de software y TI .

Intencionalidad y duración (corto y largo plazo)

La deuda técnica puede ser intencionada o no.

Una deuda técnica involuntaria se debe a una mano de obra deficiente: incumplimiento del diseño , incumplimiento de las reglas de codificación , etc. No se obtienen ganancias con este tipo de deuda.

Se calcula una deuda técnica intencionada, planificada de antemano. Dado que promover la calidad del diseño aumenta la carga de trabajo, los desarrolladores de software pueden optar por sacrificar la calidad en aras del beneficio. Por ejemplo, si una nueva versión de software debe lanzarse rápidamente, ceñirse al diseño ideal puede poner en peligro la entrega del producto. En esta situación, el objetivo (el lanzamiento de la nueva versión) tiene prioridad. La intención de la deuda técnica sería entonces contraer una deuda de corto plazo para promover el desarrollo del proyecto de largo plazo . Lo principal sería entonces amortizar rápidamente esta deuda, una vez alcanzado el objetivo, para evitar la acumulación de intereses.

Gartner estimó la deuda técnica en 500.000 millones de dólares en 2010.

Notas y referencias

  1. Gestión de la deuda técnica Escrito por Sven Johann y Eberhard Wolff, traducido por Philippe Mioulet el 20 de agosto de 2013
  2. (in) Gestión de la deuda técnica en sistemas basados ​​en software [PDF]
  3. (en) https://www.techopedia.com/definition/27913/technical-debt
  4. http://www.sciencedirect.com/science/article/pii/S0164121213000022

Ver también

enlaces externos