Llegamos a ustedes gracias a:



Reportajes y análisis

8 consejos para reducir la deuda técnica (sin matar las operaciones)

[27/02/2020] Completar un proyecto de software de TI rápidamente, sin incurrir en algún nivel de deuda técnica, es un desafío. Cuando un proyecto se desarrolla y se implementa rápidamente, la calidad a menudo se ve afectada y el proyecto, inevitablemente, debe revisarse para reparar problemas de compatibilidad, brechas de seguridad, problemas de desempeño y varios otros dolores de cabeza que agotan el presupuesto.

Sin embargo, incluso cuando un proyecto importante se mantiene como rehén en un horario apretado, la deuda técnica se puede reducir a un nivel aceptable, lo que lleva a una compensación razonable de tiempo versus calidad versus costo. A continuación, ocho formas de reducir o eliminar la deuda técnica con pocos o ningún efecto adverso.

1. Alinee los equipos de operaciones y de negocio

Una forma de reducir su probabilidad de incurrir en deudas técnicas, es incluir tanto las operaciones de TI como los equipos de negocio en la planificación del proyecto. "Esto da voz a Operaciones en el proceso de planificación y permite compensaciones en términos de time to market frente a los costos de mantenimiento, afirma Matt Seu, director de la firma de asesoría de servicios financieros, Actualize Consulting.

"Tome decisiones específicas en la planificación de la iteración que identifique cuándo ocurrirá la deuda técnica y en qué plazo debe eliminarse, sugiere. "Administrar la deuda técnica de esta manera eliminará el riesgo a medida que finalice el proyecto.

El control de la deuda técnica es un esfuerzo de equipo y debe gestionarse como un proyecto, aconseja Harley Lippman, CEO de Genesis10, firma de servicios de tecnología y personal de TI. "Esto le dará a la organización una oportunidad de luchar para no olvidarla o dejar que el tiempo se escape, señala. Centrarse en mejoras incrementales. "Considere establecer métricas de equipo para garantizar la alineación del equipo, así como establecer la gestión de la deuda técnica como una prioridad.

2. Planifique cuidadosamente y haga un presupuesto realista

Mantener a raya la deuda técnica requiere una planificación cuidadosa y una fuerte dosis de dura verdad. "Los requerimientos claros y una visión de hacia dónde debe ir el producto, combinados con recursos adecuados y procesos maduros de desarrollo de software, les permiten a los ingenieros construir con el nivel adecuado de deuda tecnológica, explica Jonathan Rosenberg, CTO de Five9, un proveedor de centros de contacto en la nube.

Jarman Joerres, ingeniero principal de software en el desarrollador de software de tecnología médica MedAcuity, aconseja crear un presupuesto de "reserva de ingeniería, al inicio del proyecto, para acomodar cualquier factor inesperado que conduzca a una acumulación de deuda técnica no anticipada. "La mejor manera de planificar un... proyecto de software que garantice que la deuda técnica se minimice o se elimine es... incluirla en su planificación y estimación, señala.

El único momento en que la deuda técnica es útil es cuando se conoce, comprende, planifica y utiliza estratégicamente para posicionar a la organización en el futuro, observa David Dodd, vicepresidente de TI y CIO del Stevens Institute of Technology. "Por ejemplo, en el caso de una organización está esperando estratégicamente tecnologías emergentes críticamente necesarias para un nuevo producto, o planificando el desarrollo y lanzamiento de un sistema completamente nuevo, que ayudará a transformar el mercado, explica. "De lo contrario, la deuda técnica está mal adaptada y, a largo plazo, pone en riesgo los intereses de la organización al vender sus capacidades futuras.

3. Establezca metas alcanzables y mida resultados

Las presiones de tiempo de producción son un hecho de la vida empresarial, pero trate de resistir la tentación de usar atajos de diseño para acelerar el progreso del desarrollo, porque el software desarrollado rápidamente tiende a requerir mucha atención futura.

"Diseñe una solución que se adapte al desarrollo y la producción, sugiere Mike Duensing, CTO y vicepresidente ejecutivo de ingeniería de Skuid, un proveedor de plataformas de desarrollo. Duensing enfatiza la importancia de pasar tiempo con los usuarios finales para comprender sus requisitos y anticipar la necesidad de futuros cambios. También es aconsejable evitar establecer objetivos de diseño poco realistas. "En lugar de tratar de publicar un conjunto más amplio de funcionalidades, reduzca el alcance a un incremento de solución más pequeño, que le permita asignar el tiempo adecuado para diseñar y poner a prueba debidamente, afirma.

Jason Noble, cofundador de CTO Academy, una organización de capacitación en habilidades gerenciales, recomienda enfatizar la importancia de la calidad para todos los miembros del equipo de desarrollo. "Hágales comprender que debe integrarse en todos los procesos, afirma.

Noble también aconseja establecer objetivos medibles para cada iteración del producto. "Póngalos en un nivel realista, sugiere. "Después de varias iteraciones, la deuda técnica debería reducirse sin afectar la funcionalidad del nuevo producto, con la ventaja de un código más sostenible y confiable.

Para garantizar que se cumplan los objetivos de calidad, Noble recomienda utilizar herramientas de análisis estático, como SonarQube, un producto de código abierto. "Estas herramientas escanean el código y proporcionan varias métricas de calidad, similares a las herramientas de lectura y gramática utilizadas en los procesadores de texto, afirma.

4. Construya sobre una base sólida y flexible

Asegúrese de que su proyecto esté montado sobre una base arquitectónica sólida. "La mala arquitectura hace una casa endeble que no se puede cambiar... y puede provocar regresiones, advierte Duensing. Las soluciones bien diseñadas y reforzadas ayudan a que las actualizaciones de los proyectos sean más rápidas y menos costosas, reduciendo así la posibilidad de incurrir en deudas técnicas inesperadas.

Los líderes de equipo también deben entender que casi todos los planes de proyectos comienzan en su punto máximo de ignorancia, y con frecuencia se desarrollan bajo presión institucional para ser extremadamente optimistas. "La cura para la deuda técnica no es abordar ese exceso de optimismo eliminando riesgos con planes aún más detallados e incluso contratos más ajustados, sino gestionar las expectativas de producción de manera más inteligente, sugiere Ken Charman, CEO de uFlexReward, compañía derivada de Unilever, que comercializa un sistema de recompensas para empleados. "Utilice planes más flexibles con rangos que se reduzcan en función de la experiencia; esto reducirá la necesidad de llegar a la producción abandonando la funcionalidad, aconseja.

5. Vuélvase ágil

Un número creciente de organizaciones está adoptando un desarrollo de software ágil, un conjunto de métodos y prácticas que coloca los proyectos en manos de equipos colaborativos, de organización autónoma y multifuncionales. Cuando se aplica rigurosamente, el desarrollo ágil permite a las organizaciones evitar deudas técnicas al ayudar a los equipos a construir y lanzar nuevos productos de forma rápida e iterativa. "Este [proceso] pone, más temprano y en etapas, nuevos productos y capacidades en manos de los usuarios, afirma Dodd. Las mejoras y correcciones se abordan a medida que se producen nuevas versiones, lo que hace muy poco probable la acumulación de deudas técnicas.

La metodología ágil reconoce que los proyectos nunca se terminan realmente durante su vida y tampoco son perfectos. "Al mismo tiempo, la metodología ágil se enfoca en... un desarrollo simplificado que apunta a la capacidad y la calidad, afirma Dodd. Las funciones clave se desarrollan, prueban y se ponen en producción en intervalos frecuentes. En lugar de adoptar un enfoque de "Big Bang para la producción de software, los equipos ágiles pueden lanzar varios upgrades importantes cada año. "Esto hace que los productos evolucionen sin problemas y también ayuda a los usuarios a evitar grandes disrupciones, señala Dodd.

6. Evite la tecnología obsoleta

Las aplicaciones previas, las tecnologías obsoletas y las plataformas y procesos dispares pueden arrastrar a una organización a una profunda deuda técnica, forzándola a posponer iniciativas de modernización esenciales. "La deuda técnica hunde dólares reales y tiempo valioso en sistemas y aplicaciones que simplemente no fueron construidos para la escala y velocidad requeridas por los negocios modernos, afirma Kris Beevers, cofundador y CEO de la firma proveedora de tecnologías DNS y de gestión del tráfico, NS1.

Los activos y enfoques más antiguos también suelen estar plagados de vulnerabilidades de seguridad, difíciles de integrar y automatizar, y es posible que ya no se puedan actualizar. "Encontrar talento para administrar aplicaciones previas, basadas en código complejo u obsoleto, también es un desafío creciente, señala Beevers. "Seguir con la tecnología obsoleta, que ofrece un rendimiento promedio en el mejor de los casos, no solo consume un presupuesto valioso, sino que también obstaculiza la capacidad de la empresa para innovar y mantenerse competitiva.

7. Retire recursos poco utilizados

La revisión periódica de los niveles de uso de las plataformas y aplicaciones existentes ofrece otra forma de reducir la deuda técnica. "Puede ser que la deuda técnica se pueda eliminar simplemente eliminando un producto no utilizado, o muy poco utilizado, en lugar de actualizarlo, sugiere Rob Peterscheck, consultor principal de Small Scale AI, firma consultora de inteligencia artificial y lenguaje de máquina. "A menudo puede darse el caso de que la deuda técnica sea peor en las áreas con el menor uso.

La deuda técnica puede reducirse mediante un ciclo de vida eficiente, centrándose en plataformas y aplicaciones que son críticas para las necesidades cotidianas y eliminando productos no esenciales que, aunque quizás no sean herramientas previas, requieren un flujo constante de actualizaciones y arreglos para atender a un número cada vez menor de usuarios. "A menudo, la parte difícil para las grandes organizaciones es simplemente conocer todas las aplicaciones y soluciones que están en el ambiente y cómo se usan, observa Peterscheck.

8. Preste atención a las señales de advertencia

Las organizaciones también deben prestar atención a las señales de advertencia que aparecen cuando la deuda técnica alcanza un punto de inflexión y deben abordarse. Entre los indicadores clave se encuentran los amplios cambios manuales únicos, documentación inadecuada y poca integración con otras aplicaciones o la nube, señala Beevers.

Una de las ocasiones en las que está bien tolerar una cierta cantidad de deuda técnica se da cuando se debe colocar la velocidad por encima de la perfección, para que el software llegue al mercado rápidamente. "Hay momentos en que es aceptable sacar algo, provisionalmente ante una futura revisión, afirma Beevers.