por Isaac Sacolick

Con las mejores prácticas y el compromiso de no permitir que crezca la deuda técnica, los desarrolladores pueden presentar un caso comercial sólido, especialmente cuando el personal y el dinero son escasos.

La deuda técnica puede ser pequeña, como mejoras menores en el código para mejorar el rendimiento, la legibilidad del código u otros factores de soporte. La gran deuda técnica puede ser API obsoletas, aplicaciones que carecen de CI/CD (integración continua y entrega continua), servicios con pocas pruebas automatizadas o sistemas heredados que afectan las operaciones.

Independientemente de la fuente, el tamaño y el impacto, es seguro que los equipos de TI necesitan medir, administrar y reducir su deuda técnica . Igualmente importante es tomar medidas e instrumentar las mejores prácticas que ayuden a evitar o limitar la deuda técnica adicional.

Ruby Raley, vicepresidente de Axway, cree que reducir y abordar la deuda técnica es más importante hoy en día debido a la escasez de personal calificado y las condiciones financieras. Ella dice: “La necesidad de reducir la deuda técnica será el centro de atención de los CIO. Deberán encontrar eficiencias operativas para financiar nuevos proyectos debido a la inflación y los problemas de personal de la Gran Renuncia y el agotamiento de los empleados. Uno de estos pasos será la consolidación tecnológica para reducir los gastos de mantenimiento”.

Estoy de acuerdo con Raley. Aunque siempre es un desafío, los equipos de desarrollo deben dedicar suficiente tiempo para reducir la deuda técnica y también tomar medidas para minimizar la introducción de nuevas fuentes. Los equipos de desarrollo ágil y las organizaciones que siguen a Devops deben revisar y considerar estas prácticas clave.https://imasdk.googleapis.com/js/core/bridge3.510.1_debug_es.html#goog_490093111 second of 28 secondsVolumen 0% 

Prácticas técnicas de prevención de la deuda en el desarrollo

John Kodumal, CTO y cofundador de LaunchDarkly, dice: “La deuda técnica es inevitable en el desarrollo de software, pero se puede combatir siendo proactivo: estableciendo políticas, convenciones y procesos para amortizar el costo de reducir la deuda con el tiempo. Esto es mucho más saludable que dejar de trabajar y tratar de salir de una montaña de deudas”.

Kodumal recomienda varias prácticas, como “establecer una política de actualización y una cadencia para las dependencias de terceros, usar flujos de trabajo y automatización para administrar el ciclo de vida de los indicadores de funciones y establecer objetivos de nivel de servicio”.

Para ayudar a reducir la probabilidad de introducir nueva deuda técnica, considere las siguientes mejores prácticas:

  • Estandarice las convenciones de nomenclatura, los requisitos de documentación y los diagramas de referencia.
  • Instrumento CI/CD y automatización de pruebas para aumentar la frecuencia de lanzamiento y mejorar la calidad.
  • Desarrolle la refactorización de código como habilidades y patrones practicados por más desarrolladores.
  • Defina la arquitectura para que los desarrolladores sepan dónde codificar los datos, la lógica y las experiencias.
  • Realice revisiones periódicas del código para ayudar a los desarrolladores a mejorar las prácticas de codificación.

Ravi Duddukuru, director de productos de DevGraph, cree que los gerentes de desarrollo de software deben trabajar uno a uno con los desarrolladores para inculcar las mejores prácticas. Él dice: “El entrenamiento de los desarrolladores es clave para reducir la deuda técnica. Cuando los desarrolladores repiten los mismos errores, el control de calidad crea soluciones alternativas cada vez. El código malo permanece y crece a medida que el desarrollador crea código nuevo”.

Él ofrece este consejo: “Un buen gerente analizará el código del desarrollador para descubrir los patrones y trabajar con ellos para cambiarlos, mejorando este código y todo su código futuro, reduciendo significativamente la deuda técnica”.

Reduzca la deuda nueva con una mejor planificación y estimación

Cuando le pregunté a Andrew Amann, director ejecutivo de NineTwoThree Digital Ventures, sobre cómo reducir y minimizar la deuda técnica, respondió: “Lo primero y más importante es la planificación y estimación adecuadas. El segundo es estandarizar los procedimientos que limitan el tiempo dedicado a la organización y [permiten] más tiempo de ejecución”.

La mayoría de los equipos de desarrollo quieren más tiempo para planificar, pero puede que no sea obvio para los propietarios de productos, los gerentes de desarrollo o los ejecutivos cómo la planificación ayuda a reducir y minimizar la deuda técnica. Cuando los desarrolladores tienen tiempo para planificar, a menudo discuten la arquitectura y la implementación, y las discusiones tienden a entrar en detalles técnicos. Es posible que los propietarios de productos y las partes interesadas del negocio no entiendan o no estén interesados ​​en estas discusiones técnicas.

Por lo tanto, si desea más tiempo para planificar, es importante proporcionar a los líderes comentarios sobre sus esfuerzos de planificación. Aquí están mis sugerencias:

Al definir un proceso y establecer métricas, los equipos de desarrollo pueden educar más fácilmente a los patrocinadores comerciales sobre los riesgos de no abordar la deuda técnica.

Optimizar tecnologías para reducir deudas arquitectónicas

Las arquitecturas web de tres niveles y las bases de datos SQL de la última década encerraron a los equipos de desarrollo en una estructura restrictiva que no funcionó bien para muchas aplicaciones. Hoy en día, puede elegir entre varias bases de datos en la nube, incluidas SQL, clave-valor, columnas, gráficos u otras arquitecturas de bases de datos. Los microservicios tienen varias opciones de implementación, incluidas las arquitecturas sin servidor, y los desarrolladores pueden crear experiencias de usuario sin código, con código bajo o uno de varios marcos de JavaScript.

Seleccionar demasiadas arquitecturas y patrones de desarrollo puede ser una receta para el desastre, ya que requiere habilidades de desarrollo y gastos considerables para mantenerlos. Pero limitar los equipos de desarrollo a arquitecturas de talla única a menudo los obliga a crear soluciones alternativas o comprometer las experiencias de los usuarios, el rendimiento, la escalabilidad o la seguridad.

La selección de tecnologías óptimas también requiere que los equipos de desarrollo hagan una lluvia de ideas sobre sus implementaciones. ¿Qué es un modelo de datos óptimo? ¿Qué nivel de granularidad deberían incorporar los desarrolladores en sus microservicios? ¿Cuántos escenarios de prueba se necesitan para validar la implementación? ¿Cuándo una experiencia de usuario personalizada proporciona suficiente valor comercial en comparación con las opciones de implementación sin código y con poco código?

Cuando los equipos no consideran estas consideraciones de diseño, existe una mayor probabilidad de introducir deuda técnica. Minimizar los riesgos de la nueva deuda tecnológica se reduce a invertir suficiente tiempo para planificar, seleccionar arquitecturas apropiadas, implementar automatizaciones de DevOps y desarrollar estándares de desarrollo.

Fuente: https://www.infoworld.com/article/3657611/how-to-minimize-new-technical-debt.html

Deja una respuesta