fbpx
Top

Código bajo y los 7 errores que hay que evitar en las implementaciones

Código bajo y los 7 errores que hay que evitar en las implementaciones

Las empresas están procurando “desarrolladores ciudadanos”, pero el uso de herramientas de código bajo o sin código tiene bemoles.

Por Bob Violino

Original de IDGN

 

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á US$ 13,8 mil millones en 2021, un aumento del 23% desde 2020.

La consultora asegura que el aumento en el desarrollo remoto durante la pandemia ha seguido impulsando la adopción de código bajo.

El desarrollo de aplicaciones de bajo código no es nuevo, señala, 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.

Gartner espera y predice que el low-code como movimiento social y tecnológico general continúe creciendo significativamente.

Este mercado incluye productos como:

  • Plataformas de aplicaciones low-code
  • Suites de gestión de procesos de negocios inteligentes
  • Automatización de procesos robóticos
  • 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 esto.

Según Gartner, 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.

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.

1. Prácticas de desarrollo fundamentales anteriores

Mandy Andress, CISO de Elastic, un proveedor de productos de búsqueda en línea señala que los mayores problemas que ha experimentado se basan en un malentendido de lo que realmente proporciona una estrategia de código bajo.

“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 los costos que puede mejorar una estrategia de código bajo”, señaló el ejecutivo.

Andress señala que una estrategia de este tipo puede ayudar a reducir el costo de los desarrolladores necesarios para un proyecto al permitir que los desarrolladores menos experimentados creen funcionalidades avanzadas.

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”, señala.

Destaca algunos elementos para esto que hay que evaluar:

  • ¿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.

“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”, dice Andress.

2. 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”, dice Vinay Mummigatti, vicepresidente y director de automatización de LexisNexis, Legal & Professional, una firma que brinda servicios legales y de datos del consumidor.

Destacó que, en su 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.

“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”, señaló.

Mummigatti recordó que, 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.

“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”, dijo.

El ejecutivo explicó que la codificación personalizada llevó a tres veces las estimaciones de costo y tiempo originales, así como a 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.

3. Falta de entrega de software dirigido a empresas

Mummigatti señala que las plataformas de código bajo permiten principalmente a los desarrolladores ciudadanos de las comunidades comerciales lograr una entrega rápida de aplicaciones, pero que 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. Con una plataforma de ‘desarrollo impulsado por modelos’ de código bajo, hacer que los usuarios comerciales se involucren desde el principio es clave para el éxito”, asegura el experto.

Destaca también que la falta de compromiso empresarial desde el principio puede llevar a una reingeniería importante y variaciones en el presupuesto / cronograma.

Además, los proyectos de bajo código 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.

Recordó que, 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.

“Cuando se hace bien, hemos comprometido el negocio desde el primer sprint. 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, según Mummigatti, esto da como resultado una aplicación que es “exactamente como la empresa imaginó”.

Código bajo

4. No actualizar la cultura y la estructura

Por su parte, Andrew Kum-Seun, analista de investigación senior en la práctica de aplicaciones en la firma de investigación Info-Tech Research Group asegura que 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.

“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. 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 aumentan el costo de implementación y mantenimiento a largo plazo”, señala Kum-Seun.

Para Kum-Sue, TI debe pasar de ser un operador e implementador de soluciones a ser un socio confiable, un entrenador y un partidario de la plataforma.

“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”.

5. 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”, dice 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”, dice 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. Este fue un importante desafío operativo y regulatorio con un gran impacto en la experiencia del cliente con plataformas de código bajo”, señaló Mummigatti.

6. 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 con lo que la CIO Wendy Pfeiffer compara con una “Torre de Babel”.

Asegura que, al implementar muchas herramientas que no hablan el mismo idioma, su equipo no podrá alcanzar grandes niveles de automatización.

“En el caso de mi equipo, fue solo después de que capacitamos a todos los miembros en el uso de una sola herramienta que comenzamos a hacer un progreso real en la habilitación de operaciones autónomas”, relató Pfeiffer.

Destaca que hace tres años, solo alrededor del 15% de los 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”, subrayó la CIO.

Por otro lado, como bien apunta Kum-Seun, la tecnología de código bajo podría no ser tan simple de implementar como anuncian los proveedores.

“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. 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”, refirió.

Según Kum-Seun, 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.

“Sin embargo, no abordan los desafíos fundamentales de la gestión de datos y la arquitectura”.

7. 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. 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”, dice ella.

Pfeiffer destaca que no existe una “máquina mágica” especial que convierta un proceso manual deficiente en uno brillante.

“Como primer paso, mi equipo debe escribir los procesos de los candidatos en un lenguaje sencillo. Hay algo en ver una descripción del trabajo por hacer que resalta los problemas y conduce a flujos de trabajo mejorados”, señala.

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, señala 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. 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”, asegura.

Periodista apasionada por la innovación, la tecnología y la creatividad. Editora de The Standard CIO y Factory Pyme para The HAP GROUP