Enable javascript in your browser for better experience. Need to know to enable it? Go here.
Deuda técnica: lo que líderes empresariales necesitan saber

Deuda técnica: lo que líderes empresariales necesitan saber

La deuda técnica llega al ciclo de noticias

 

La deuda técnica ha estado en el centro de atención durante este mes, con una serie de historias de alto perfil en las noticias y comentarios en las redes sociales. Estas historias y comentarios se han originado a raíz de graves problemas en Southwest Airlines durante la tormenta de Navidad pasada, que llevó a la cancelación de miles de vuelos, así como el fallo en los sistemas de la Administración Federal de Aviación la semana pasada, que nuevamente resultó en la cancelación o retraso de miles de vuelos.

Entonces, ¿qué es la deuda técnica y por qué los líderes empresariales deben tomar medidas?

 

 

Cómo se genera la deuda técnica

 

"Deuda técnica", como término, se utiliza ampliamente para describir la falta de inversión de una organización en el mantenimiento del software en el que se basa. Las personas lo usan de diferentes maneras, pero los desarrolladores tienden a entenderlo como el hecho de no haber dedicado suficiente tiempo y dinero a corregir errores, reestructurar código y modernizar sistemas. El término fue acuñado por el desarrollador Ward Cunningham hace unos 30 años.

 

La deuda técnica puede acumularse de manera consciente, incluso intencional, al igual que una deuda bancaria. Por ejemplo, los líderes de una empresa pueden pedir a sus desarrolladores que prioricen sacar rápidamente nuevas características atractivas al mercado, para adelantarse a la competencia en una oportunidad de crecimiento. Puede acordarse que la plataforma de software subyacente no se mantendrá actualizada ni perfectamente mantenida por el momento, pero los desarrolladores volverán a ella más adelante, cuando tengan más tiempo y antes de que se convierta en un problema urgente (esa es la teoría, al menos).

 

La deuda técnica también puede surgir porque una decisión tomada de buena fe en un momento dado resulta ser un camino equivocado y termina generando una deuda técnica inesperada.

 

También puede ocurrir que la deuda técnica se acumule sin que los líderes de una organización lo sepan, o que los ejecutivos sepan que está creciendo pero no sean plenamente conscientes de que podría causar problemas catastróficos a la organización sin previo aviso. Estos escenarios son, sin duda, más peligrosos, pero incluso la deuda técnica acumulada intencionalmente puede salirse de control, al igual que una factura de tarjeta de crédito.

La deuda técnica socava la productividad y eficiencia. Comienza siendo pequeña pero tiende a multiplicarse rápidamente, al igual que el costo de su remedio.

Por qué importa la deuda técnica

 

Parece casi obvio decirlo, pero cuanto más se acumule la deuda técnica, mayor será el riesgo para la organización. Aumenta la probabilidad de un gran fallo técnico y pone en peligro la maquinaria que genera dinero. Una interrupción causada por la deuda técnica puede paralizar por completo a la empresa hasta que se solucione, incurrir en costos significativos y dañar gravemente las relaciones con los clientes y otras partes interesadas.

 

Es posible que la empresa pueda tolerar cierta cantidad de deuda técnica en condiciones normales, pero un evento extraordinario, como la tormenta del mes pasado en América del Norte, podría causar problemas extraordinarios.

 

Y aunque no ocurran fallos agudos (o aún no hayan ocurrido), la deuda técnica tiene un precio, que podríamos llamar "intereses de la deuda".

 

Esto se debe a que la deuda técnica socava la productividad y eficiencia. Comienza siendo pequeña pero tiende a multiplicarse rápidamente, al igual que el costo de su remedio. Pronto puede resultar difícil rastrear dónde se encuentran todos los problemas, lo que significa que se dedica cada vez más tiempo a encontrarlos y gestionarlos. Si los desarrolladores están ocupados gestionando urgentemente la deuda técnica, significa que no están libres para crear nuevos tipos de valor o aplicar tecnologías emergentes.

 

Utilizar soluciones de parches rápidos para mantener el software más o menos viable significa que desarrollar nuevas características lleva más tiempo, ya que trabajar con código complicado, poco claro y obsoleto es más lento. (Nuestro colega Martin Fowler ha escrito sobre cómo la acumulación de "basura" ralentiza la creación de nuevas características).

 

Se debe crear una estrategia para abordar la deuda técnica temprano en la vida de una empresa o proyecto. Debe equilibrar objetivos a largo plazo y a corto plazo, y aplicarse de manera consistente. Se deben destinar recursos a la mejora continua. Esto podría significar, por ejemplo, invertir en herramientas para desarrolladores que les ayuden a trabajar más rápido y de manera más eficiente, o automatizar tareas repetitivas como las pruebas de código. Este tipo de inversión en la eficacia de la ingeniería puede generar grandes beneficios a largo plazo, y es lo opuesto a la deuda técnica.

 

Es en el lado operativo de un negocio donde tiende a acumularse la deuda técnica y a menudo puede permanecer oculta. Sin embargo, especialmente en industrias altamente competitivas como el transporte aéreo y los servicios financieros, se puede encontrar un valor empresarial tremendo al solucionar este tipo de deuda técnica. Las aerolíneas, por ejemplo, son negocios complejos y altamente regulados que requieren una gran coordinación entre las funciones que gestionan las tripulaciones, los pasajeros y el mantenimiento de las aeronaves. Nuestra experiencia trabajando con aerolíneas nos dice que mejoras incrementales en eficiencia operativa y satisfacción del cliente, respaldadas por tecnología, pueden traducirse en posiciones más sólidas en el mercado.

 

Otra desventaja de la deuda técnica es que puede disminuir la moral de los desarrolladores, lo que a su vez los hace menos productivos y eficientes, lo que puede llevarlos a escribir código menos efectivo. También puede dificultar la contratación y retención de desarrolladores. Es posible que no deseen trabajar en un entorno en el que pasen la mayor parte de su tiempo manteniendo en funcionamiento una plataforma de software deteriorada.

Las personas desarrolladoras que están ocupadas gestionando urgentemente la deuda técnica no están libres para crear nuevos tipos de valor o aplicar tecnologías emergentes.

Evitar los problemas de la deuda técnica

 

Para prevenir los problemas mencionados anteriormente, la deuda técnica debe ser gestionada de manera intencionada. Aquí hay algunas ideas sobre cómo limitar tanto las desventajas continuas como las amenazas más agudas:

 

  • Escucha a las personas desarrolladoras. Están más cerca de los problemas diarios que la deuda técnica está generando y de los riesgos más amplios en juego.

 

  • Escucha a tus clientes. Los usuarios finales a menudo detectan problemas que son indicativos de problemas más amplios de deuda técnica. Asegúrate de que esta valiosa retroalimentación llegue a los líderes de tu organización y no se quede simplemente en los equipos de servicio al cliente y soporte técnico.
 
  • Observa si hay un aumento en los retrasos y los costos. La lentitud para lanzar nuevos productos al mercado, los problemas operativos continuos y los aumentos en los costos pueden ser impulsados, al menos en parte, por la deuda técnica.
 
  • Mide tu deuda técnica. Las métricas útiles incluyen la retroalimentación de los clientes, los retrasos en los pagos, las operaciones y cumplimiento interrumpidos, los tiempos más largos para implementar nuevas características y los plazos más prolongados para incorporar nuevos desarrolladores.
 
  • Prioriza según el riesgo. Puede que no sea posible resolver todo de una vez, y confiar en soluciones improvisadas hará que los problemas se acumulen. Un foro donde los líderes empresariales y los líderes tecnológicos puedan discutir esto será de ayuda.
 
  • Asigna recursos. Brinda a líderes tecnológicos una cierta cantidad de tiempo y presupuesto para solucionar problemas y evitar que surjan nuevos. Confía en que utilizarán los recursos de manera apropiada.

 

  • Mejora continuamente. Ya sea tu código o el soporte que brindas a los desarrolladores, una cultura de mejora continua mitiga la deuda técnica y, por supuesto, trae beneficios más amplios.
 
  • Hacer que tu estrategia empresarial y tu estrategia tecnológica trabajen juntas. La deuda técnica puede ser impulsada por una desconexión entre ambas, mientras que hacer que trabajen juntas y se comuniquen en foros conjuntos significará eficiencias más amplias y oportunidades de crecimiento.
Es necesario crear una estrategia para la deuda técnica al principio de la vida de una empresa o proyecto. Debe equilibrar los objetivos a corto y largo plazo y aplicarse de forma coherente.

Gestionar la deuda técnica es una elección estratégica

 

Especialmente en tiempos de recesión económica, las empresas deben priorizar cuidadosamente sus gastos. A menudo puede parecer la elección correcta reducir la inversión en mantenimiento y en pagar la deuda técnica. Sin embargo, aunque eso pueda funcionar a corto plazo, los impactos de la deuda técnica pueden acumularse con el tiempo y llevar a consecuencias graves.

 

Si logras encontrar el equilibrio correcto entre invertir en nuevas características y mantener la deuda técnica bajo control, será una ventaja estratégica para tu negocio. Navegarás el camino entre la falta de inversión (que podría llevar a una catástrofe) y la sobreinversión (que podría llevar a un desperdicio de dinero). En el proceso, mejorarás tu sistema existente y harás que tus activos actuales sean más fáciles de trabajar, al tiempo que apoyas a los equipos que trabajan en ellos. Incluso podrías desbloquear nuevo valor de esos sistemas más antiguos, contribuyendo directamente a tu resultado final.

 

Pronto utilizaremos nuestra experiencia en el trabajo con deuda técnica, y la de nuestros colegas, para escribir más sobre este tema.

Hablemos sobre cómo abordar tu deuda técnica