Contenido Exclusivo

Siete errores para evitar con implementaciones de código bajo

Las empresas están aumentando los esfuerzos de los “desarrolladores ciudadanos” para digitalizar y automatizar los procesos comerciales, pero el uso de herramientas de código bajo (low-code) y sin código viene con salvedades.

Las empresas están implementando más herramientas y procesos de código bajo, ya que buscan aumentar la eficiencia del desarrollo de software y respaldar los esfuerzos comerciales digitales. Una clave del éxito con la tecnología es aprender a evitar errores comunes.

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

El desarrollo de aplicaciones de bajo código no es nuevo, señala la firma, pero una confluencia de “interrupciones digitales, hiperautomatización y el aumento de negocios componibles” ha llevado a una afluencia de herramientas y una creciente demanda. Se espera que el low-code como movimiento social y tecnológico general continúe creciendo significativamente, predice Gartner.

El mercado incluye productos como plataformas de aplicaciones low-code, suites de gestión de procesos de negocios 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 las herramientas de bajo código abordan esta necesidad. 

El aumento de la demanda de programas de software personalizados en apoyo 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, dice Gartner.

Sin embargo, la implementación de productos y procesos de bajo código 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.

Prácticas de desarrollo fundamentales anteriores

“Los mayores problemas que he experimentado se basan en un malentendido de 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 sólo tiene éxito si comprenden los costos que puede mejorar una estrategia de código bajo”.

Una estrategia de código bajo puede ayudar a reducir el costo de los desarrolladores necesarios para un proyecto al permitir que los desarrolladores menos experimentados creen funcionalidades avanzadas, dice 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 pierde son los procesos comerciales y de gobierno más amplios necesarios para garantizar que una aplicación se desarrolle para satisfacer las necesidades comerciales”, asevera Andress. “¿Cuáles son los requisitos comerciales? ¿Cuáles son los controles comerciales clave que debemos implementar, como la separación de funciones?”.

En un puesto anterior, se contrató a Andress para ayudar en un proyecto de bajo código porque existía la preocupación de que la aplicación careciera de controles comerciales clave. Después de revisar sus esfuerzos, descubrió que a la aplicación le faltaban reglas comerciales críticas “porque el equipo no vio la necesidad de seguir su proceso definido de SDLC [ciclo de vida de desarrollo de software] para los esfuerzos de desarrollo de código bajo, y no había documentado ni revisado completamente requisitos comerciales”, argumenta.

Rehacer la aplicación “triplicó el tiempo necesario para completar, eliminando cualquier ahorro de costos que el equipo obtuvo al adoptar un enfoque de desarrollo de bajo código”, afirmó Andress.

Habilidades no coincidentes

Uno de los beneficios de las herramientas de bajo código 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 desplegados 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 de qué hacer y qué no hacer”, afirma Vinay Mummigatti, vicepresidente y director de automatización de LexisNexis. Legal & Professional, una firma que brinda servicios legales y de datos del consumidor.

“En mi experiencia, implementar ingenieros de software que sean buenos para escribir aplicaciones de software de codificación intensiva a medida para desarrollar soluciones de bajo código es un error”, dice Mummigatti. “A menudo escriben miles de líneas de código y terminan con aplicaciones altamente 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”, comenta 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 [low-code] para aprovechar las funciones listas para usar, el equipo de desarrollo utilizó [la] plataforma solo para orquestar el flujo de trabajo como back-end motor, pero escribió un código complejo para todas las funcionalidades”, agrega.

La codificación personalizada generó tres veces las estimaciones de costo y tiempo originales, y problemas severos de desempeño y mantenimiento que eventualmente resultaron en una reescritura completa de la aplicación utilizando el equipo de servicios profesionales del proveedor, confiesa Mummigatti.

Falta de entrega de software dirigido por empresas

Las plataformas de código bajo permiten principalmente a los desarrolladores ciudadanos de las comunidades comerciales lograr una entrega rápida de aplicaciones, dice Mummigatti, y dejar a los usuarios comerciales fuera del proceso de toma de decisiones temprano no es una buena idea.

“Uno de los errores clave que hemos visto es que los usuarios comerciales no participan desde el inicio de un proyecto”, dice Mummigatti. “Con una plataforma de ‘desarrollo impulsado por modelos’ de código bajo, la participación de los usuarios comerciales desde el principio es clave para el éxito. La falta de compromiso empresarial desde el principio puede llevar a una reingeniería importante y variaciones en el presupuesto / cronograma”.

Los proyectos de código bajo deben incluir una sólida alineación entre el negocio y la TI. 

Un ejemplo que cita Mummigatti es una plataforma de incorporación de clientes que fue diseñada y desarrollada con un compromiso comercial mínimo. Cuando se entregó la plataforma, los usuarios comerciales 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, dice.

“Cuando se hace bien, hemos comprometido el negocio desde el primer sprint”, dice Mummigatti. “Los usuarios comerciales pueden visualizar cómo se diseñan los modelos de proceso, cómo se define la lógica comercial, cómo se crean los formularios / interfaces de IU [interfaz de usuario] y cómo se transforman los elementos de datos en cada paso” en una plataforma de código bajo. En última instancia, esto da como resultado una aplicación que es “exactamente como la empresa imaginó”, dice.

No actualizar la cultura y la estructura

“Las tecnologías de código bajo y sin código son herramientas excelentes para respaldar la transición a aplicaciones administradas por negocios y el desarrollo ciudadano, si se hace correctamente”, asegura Andrew Kum-Seun, analista de investigación senior en la práctica de aplicaciones en la firma de investigación Info-Tech Research Group .

“Muchas organizaciones olvidan que se necesitan cambios significativos en la cultura empresarial, el software y las estructuras de propiedad de riesgos, y 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 TI y de negocios 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”.

TI debe pasar de ser un operador y un implementador de soluciones “a un socio confiable, un entrenador y un partidario de la plataforma”, dice 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. Después de todo, el valor real de las tecnologías de código bajo y sin código surge 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 bajo código pueden ser herramientas valiosas para mejorar el desarrollo. Pero no son perfectos.

“Un error clave con las plataformas de código bajo es no tener en cuenta algunas limitaciones técnicas”, opina Mummigatti. En algunos proyectos, LexisNexis Legal & Professional intentó extender sus plataformas de código bajo para manejar aplicaciones centradas en transacciones de gran volumen con funciones de recuperación y conmutación por error o procesamiento por lotes en grandes volúmenes.

“Descubrimos que las plataformas de código bajo no se escalan y funcionan bien en situaciones que involucran datos centrados en la integración u orquestación de servicios en múltiples sistemas o estructuras de datos complejas”, añade Mummigatti. La empresa utilizó plataformas de código bajo para aplicaciones en el procesamiento de hipotecas y aplicaciones contra el lavado de dinero que involucraban 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 necesitaba. Las aplicaciones fallaron en medio del proceso. “No teníamos la capacidad de garantizar el procesamiento del 100% de grandes volúmenes de datos en modo por lotes” con plataformas de código bajo, afirma Mummigatti. “Este fue un importante desafío operativo y regulatorio con un gran impacto en la experiencia del cliente”.

Implementar demasiadas herramientas

Demasiado 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 encontró con este problema y se encontró con lo que la CIO Wendy Pfeiffer compara con una “Torre de Babel”. Al implementar muchas herramientas que no hablan el mismo idioma, “su equipo no podrá alcanzar grandes niveles de automatización”, dice.

“En el caso de mi equipo, fue solo después de capacitar a cada miembro del equipo en el uso de una sola herramienta que comenzamos a hacer un progreso real en la habilitación de operaciones autónomas”, señala Pfeiffer. “Hace tres años, solo alrededor del 15% de nuestros servicios se realizaban de forma autónoma. Hoy en día, ese número está más cerca del 85%, y muchos de los primeros pasos de ese viaje los tomaron miembros del equipo que nunca antes 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 anuncian los proveedores, dice 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”, confiesa. “Sin embargo, muchas organizaciones están limitadas a la arquitectura de su sistema heredado, carecen de definiciones de datos comunes y sus aplicaciones están abrumadas por deudas técnicas”.

Las puertas de enlace de la interfaz de programación de aplicaciones (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, dice Kum-Seun. “Sin embargo, no abordan los desafíos fundamentales de la gestión de datos y la arquitectura”, dice.

Perpetuar procesos deficientes

El potencial de las herramientas de bajo código es enorme, dice 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 una mayor precisión y eficiencia”, dice ella. “Pero la automatización en manos de las masas no es una panacea. Un proceso terrible sigue siendo un proceso terrible, incluso si una máquina lo ejecuta con rapidez y precisión “.

No existe una “máquina mágica” especial que convierta un proceso manual deficiente en uno brillante, afirma Pfeiffer. “Como primer paso, mi equipo debe escribir los procesos de los candidatos en un lenguaje sencillo”, dice. “Hay algo en ver una descripción del trabajo por hacer que resalta 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, dice Pfeiffer. “Los equipos de TI a menudo creen que necesitan automatizar un proceso complejo problemático de un extremo a otro para que la automatización tenga un impacto”, asevera. “Mi equipo y yo hemos aprendido que centrar nuestros esfuerzos en automatizar los pasos más propensos a errores de nuestros procesos, los pasos que generan la mayor cantidad de reprocesos, es una clave real para experimentar los beneficios de estas herramientas”.

Bob Violino, CIO.com

Lo Más Reciente

La digitalización ofrece mejoras en la gestión de casos en el sector público

Los factores macroeconómicos globales y locales que cambian rápidamente,...

Cómo impulsar el crecimiento de las empresas en la era de la IA

La inteligencia artificial está revolucionando los negocios. Sin embargo,...

Realizan el segundo Foro de Talento en Data Centers

La Asociación Mexicana de Data Centers, MEXDC, realizó el...

Newsletter

Recibe lo último en noticias e información exclusiva.

José Luis Becerra Pozas
José Luis Becerra Pozashttps://iworld.com.mx
Es Editor de CIO Ediworld México. Contáctalo en jbecerra@ediworld.com.mx o en el twitter @CIOMexico.

La digitalización ofrece mejoras en la gestión de casos en el sector público

Los factores macroeconómicos globales y locales que cambian rápidamente, siguen ejerciendo una presión cada vez mayor sobre el sector público de México. El gobierno...

Cómo impulsar el crecimiento de las empresas en la era de la IA

La inteligencia artificial está revolucionando los negocios. Sin embargo, muy pocos empresarios están adaptando sus empresas a este contexto, para lograr un crecimiento. Para...

Chivas Rayadas del Guadalajara consigue gestionar sus activos de TI de manera más eficiente

El Club Deportivo Guadalajara es uno de los más importantes en México. Con más de 500 colaboradores, requería herramientas para auditar su parque informático,...