Llegamos a ustedes gracias a:



Reportajes y análisis

7 errores que se deben evitar en las implementaciones de código bajo

[11/01/2022] Las empresas están implementando más herramientas y procesos de código bajo a medida que buscan aumentar la eficiencia del desarrollo de software y respaldar los esfuerzos de negocios digitales. Una clave del éxito con la tecnología es aprender a evitar los errores más comunes.

La empresa de investigación Gartner ha pronosticado que el mercado mundial de desarrollo de código bajo ascenderá a 13.8 mil millones de dólares en el 2021, un aumento del 23% desde el 2020. El auge en el desarrollo remoto durante la pandemia ha seguido impulsando la adopción de código bajo.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

El desarrollo de aplicaciones de código bajo no es nuevo, señala Gartner, pero una confluencia de "disrupciones digitales, hiperautomatización y el aumento de negocios componibles ha resultado en una afluencia de herramientas y una creciente demanda. Se espera que el código bajo como movimiento social y tecnológico general continúe creciendo de forma significativa, predice Gartner.

El mercado incluye productos como plataformas de aplicaciones de código bajo, suites de gestión de procesos empresariales inteligentes, automatización de procesos robóticos y plataformas de desarrollo y automatización ciudadana.

La aceleración del negocio digital está presionando a los líderes de TI para que aumenten drásticamente la velocidad de entrega de las aplicaciones, y justamente las herramientas de código bajo se encargan de este tema. El aumento de la demanda de programas de software personalizados a favor de la transformación digital ha provocado la aparición de desarrolladores ciudadanos fuera del departamento de TI, lo que a su vez ha influido en el aumento de las herramientas de código bajo, afirma Gartner.

Sin embargo, la implementación de productos y procesos de código bajo puede estar plagada de errores, y las organizaciones deben ser conscientes de estos para poder evitarlos o minimizar el impacto en las operaciones de desarrollo.

Abandonar las prácticas de desarrollo fundamentales

"Los mayores problemas que he experimentado han sido por no entender de manera adecuada lo que realmente proporciona una estrategia de código bajo, señala Mandy Andress, CISO de Elastic, un proveedor de productos de búsqueda en línea. "Muchas organizaciones adoptan una estrategia de código bajo como una oportunidad para ahorrar dinero o acelerar el desarrollo. Pero eso solo tiene éxito si comprenden qué costos son los que una estrategia de código bajo puede mejorar.

Una estrategia de código bajo puede ayudar a reducir el costo de los desarrolladores que se necesitan para un proyecto al permitir que desarrolladores menos experimentados creen funcionalidades avanzadas, explica Andress. La velocidad de desarrollo también puede ser una ventaja, especialmente si los componentes se reutilizan en todas las aplicaciones.

"Lo que la mayoría pasa por alto son los procesos empresariales y de gobernanza más amplios necesarios para garantizar que una aplicación se desarrolle para satisfacer las necesidades de la empresa, anota Andress. "¿Cuáles son los requisitos empresariales? ¿Cuáles son los controles empresariales clave que debemos implementar, como la separación de funciones?

En un puesto anterior, Andress fue contratada para ayudar en un proyecto de código bajo porque existía la preocupación de que la aplicación careciera de controles empresariales clave. Después de revisar los esfuerzos, descubrió que a la aplicación le faltaban reglas empresariales críticas "porque el equipo no veía la necesidad de seguir el proceso definido de SDLC [ciclo de vida del desarrollo de software] para los esfuerzos de desarrollo de código bajo, y no tenía requisitos empresariales correctamente documentados ni revisados, señala.

Rehacer la aplicación "triplicó el tiempo necesario para completarla, eliminando cualquier ahorro de costos que el equipo hubiese creído que obtendría al adoptar un enfoque de desarrollo de código bajo, explica Andress.

Habilidades desiguales incompatibles

Uno de los beneficios de las herramientas de código bajo es que pueden reducir la necesidad de que los desarrolladores experimentados completen los proyectos. Pero eso no significa que la necesidad de profesionales capacitados desaparezca.

"Los equipos asignados en el desarrollo de código bajo deben ser altamente competentes en las respectivas plataformas de código bajo, con las certificaciones de producto adecuadas y el conocimiento sobre qué hacer y qué no, indica Vinay Mummigatti, vicepresidente y director de automatización de LexisNexis Legal & Professional, una empresa que brinda servicios de datos legales y de consumo.

"En mi experiencia, asignar ingenieros de software que son buenos en la escritura de aplicaciones de software personalizadas y de codificación intensiva para el desarrollo de soluciones de código bajo es un error, señala Mummigatti. "La mayoría de las veces escriben miles de líneas de código y terminan siendo aplicaciones demasiado personalizadas que son difíciles de mantener o escalar. Y eso no es lo que mejor hace una plataforma de código bajo.

Por ejemplo, en LexisNexis, un equipo de ingeniería de J2EE recibió capacitación cruzada en una plataforma líder de automatización de código bajo para entregar una aplicación de "procesamiento de órdenes legales, cuenta Mummigatti. "En lugar de crear la aplicación según la metodología y las mejores prácticas prescritas por el proveedor de la plataforma de código bajo para aprovechar las funciones listas para usar, el equipo de desarrollo utilizó la plataforma solo para orquestar el flujo de trabajo como un motor de back-end, y escribió un código complejo para todas las funcionalidades, comenta.

La codificación personalizada triplicó las estimaciones originales de costos y tiempo, y causó problemas severos de desempeño y mantenimiento, que finalmente resultaron en una reescritura completa de la aplicación por parte del equipo de servicios profesionales del proveedor, explica Mummigatti.

Falta de entrega de software dirigido por empresas

Las plataformas de código bajo permiten principalmente que los desarrolladores ciudadanos de las comunidades empresariales logren una entrega rápida de aplicaciones, sostiene Mummigatti, pero dejar a los usuarios empresariales fuera del proceso de toma de decisiones en una fase temprana no es una buena idea.

"Uno de los errores clave que hemos visto es que los usuarios empresariales no participan desde el inicio de un proyecto, señala Mummigatti. "Con una plataforma de código bajo y desarrollo impulsado por modelos, hacer que los usuarios empresariales se involucren desde el principio es clave para el éxito. La falta de compromiso empresarial desde el inicio puede resultar en una reingeniería importante y variaciones en el presupuesto/cronograma.

Los proyectos de código bajo deben incluir una alineación sólida entre la empresa y TI. Un ejemplo al que Mummigatti hace referencia es el de una plataforma de incorporación de clientes que fue diseñada y desarrollada con un compromiso empresarial mínimo. Cuando la plataforma fue entregada, los usuarios empresariales rechazaron la lógica del proceso, las reglas de decisión, los informes y las interfaces de usuario, ya que imponían una compleja gestión de cambios operativos.

"Cuando se hace correctamente, se involucra a la empresa desde el primer sprint, comenta Mummigatti. "Los usuarios empresariales pueden visualizar cómo se diseñan los modelos de procesos, se define la lógica empresarial, se crean las interfaces de usuario y cómo se transforman los elementos de datos en cada paso en una plataforma de código bajo. El resultado final es una aplicación "exactamente como la empresa se la imaginó, asegura.

No actualizar la cultura y la estructura

"Las tecnologías de código bajo y sin código son excelentes herramientas para respaldar la transición a las aplicaciones gestionadas por empresas y el desarrollo ciudadano, si se lleva a cabo correctamente, afirma Andrew Kum-Seun, analista de investigación senior en la práctica de aplicaciones de la empresa de investigación Info-Tech Research Group.

"Muchas organizaciones olvidan que se necesitan cambios significativos en la cultura empresarial, en las estructuras de propiedad del software y los riesgos, y en los modelos operativos de TI para que este nuevo entorno prospere, señala Kum-Seun. "Desafortunadamente, las prácticas tradicionales de entrega de software, los equipos de negocios y TI aislados, y la mala calidad del sistema empresarial limitan el verdadero potencial de las tecnologías de código bajo y sin código, y aumentan el costo de implementación y mantenimiento a largo plazo.

El departamento de TI debe pasar de ser un operador y un implementador de soluciones "a un socio confiable, un entrenador y un partidario de la plataforma, anota Kum-Suen. "La empresa debe ser responsable de sus decisiones de implementación y desarrollo de software, y ser transparente sobre los cambios que está realizando en el entorno corporativo. Al fin y al cabo, el valor real de las tecnologías de código bajo y sin código sale a la luz cuando estamos dispuestos a optimizar la forma en que trabajamos para aprovechar al máximo sus funciones.

Establecer una agenda demasiado ambiciosa que las herramientas no pueden respaldar

Las plataformas de código bajo pueden ser herramientas valiosas para mejorar el desarrollo. Pero no son perfectas.

"Un error clave con las plataformas de código bajo es no tener en cuenta algunas limitaciones técnicas, indica Mummigatti. En varios proyectos, LexisNexis Legal & Professional trató de ampliar sus plataformas de código bajo para manejar aplicaciones de gran volumen y centradas en transacciones con funciones de recuperación y conmutación por error o procesamiento por lotes.

"Descubrimos que las plataformas de código bajo no se escalan ni funcionan bien en situaciones que involucran datos centrados en la integración u orquestación de servicios a través de múltiples sistemas o estructuras de datos complejas, explica Mummigatti. La empresa utilizó plataformas de código bajo para aplicaciones de procesamiento de hipotecas y aplicaciones contra el lavado de dinero que implicaban el procesamiento por lotes de documentos y datos provenientes de aplicaciones de procesamiento de transacciones en grandes volúmenes.

En ambos escenarios, la empresa descubrió que las plataformas de código bajo no podían ofrecer la velocidad y la calidad que necesitaban. Las aplicaciones fallaron en medio del proceso. "No teníamos la capacidad de garantizar el 100% del procesamiento de grandes volúmenes de datos en modo batch con plataformas de código bajo, señala Mummigatti. "Este fue un importante desafío operativo y regulatorio que tuvo un gran impacto en la experiencia del cliente.

Implementar demasiadas herramientas

Demasiado de algo bueno no siempre es bueno. Eso se aplica a las herramientas de código bajo y sin código, especialmente si no funcionan bien juntas.

La empresa de software Nutanix se topó con este problema, encontrando lo que la CIO, Wendy Pfeiffer, compara con una "Torre de Babel. Si se implementan muchas herramientas que no hablan el mismo idioma, "su equipo no será capaz de alcanzar grandes niveles de automatización, asegura.

"En el caso de mi equipo, fue solo después de que capacitamos a todos los miembros del equipo en el uso de una única herramienta que comenzamos a hacer verdaderos progresos en la habilitación de operaciones autónomas, explica Pfeiffer. "Hace tres años, solo un 15% de nuestros servicios se realizaban de forma autónoma. Hoy en día, esa cifra está más cerca del 85%, y muchos de los primeros pasos de ese trayecto fueron dados por miembros del equipo que nunca habían escrito código de automatización, pero que eran expertos en operaciones de TI.

Además, la tecnología de código bajo podría no ser tan simple de implementar como promocionan los proveedores, advierte Kum-Seun. "Sus verdaderos beneficios radican en su capacidad para aprovechar e integrar los diversos servicios y datos en sus aplicaciones corporativas, almacenes de datos y sistemas, afirma. "Sin embargo, muchas organizaciones están limitadas a la arquitectura de sus sistemas heredados, carecen de definiciones de datos comunes y sus aplicaciones están sobrecargadas por deudas técnicas.

Las puertas de enlace de API, los lagos de datos, las plataformas en la nube y otras herramientas de integración y agregación pueden ayudar a mejorar la compatibilidad del sistema con tecnologías de código bajo, anota Kum-Seun. "Sin embargo, no abordan los desafíos fundamentales de la gestión de datos y la arquitectura, indica.

Perpetuar los procesos deficientes

El potencial de las herramientas de código bajo es enorme, asegura Pfeiffer. "Con un poco de capacitación, cada miembro del equipo de TI puede automatizar elementos clave de sus flujos de trabajo especializados, lo que permite mejorar la precisión y la eficiencia, señala. "Pero la automatización en manos de las masas no es una panacea. Un proceso terrible sigue siendo un proceso terrible, aunque sea ejecutado con rapidez y precisión por una máquina.

No existe una magia tecnológica especial que convierta un proceso manual deficiente en uno brillante, indica Pfeiffer. "Como primer paso, mi equipo debe redactar los procesos de los candidatos en un lenguaje sencillo, anota. "Ver una descripción del trabajo por hacer hace que resalten los problemas y conduce a flujos de trabajo mejorados. 

Una vez que el documento tiene sentido, el proceso está listo para ser traducido a código por la herramienta de código bajo.

La automatización se ejecuta mejor por grados, sostiene Pfeiffer. "Muchas veces los equipos de TI creen que necesitan automatizar un proceso problemático complejo de un extremo a otro para que la automatización tenga un impacto, indica. "Mi equipo y yo hemos aprendido que centrar nuestros esfuerzos en automatizar los pasos más propensos a errores dentro de nuestros procesos -aquellos pasos que generan la mayor cantidad de reprocesos- es una clave real para experimentar los beneficios de estas herramientas.

Puede ver también: