RPA: ¿Sustituirá Low-Code a los programadores?
Uno de los pilares de la hiperautomatización y una de las palabras de moda es el desarrollo de aplicaciones mediante low-code y no-code. Desde hace muchos años los entornos de desarrollo de aplicaciones han ido avanzando para ser cada vez más amigables, pero cuyos destinatarios tradicionales eran los programadores. Ahora parece que, debido a la democratización de la tecnología, los destinatarios pueden ser el resto de los mortales, los conocimos como «citizen developers».
¿Qué es realmente Low-Code?
Antes de nada, conviene hacer un poco de historia. Los entornos o plataformas de desarrollo han ido evolucionando para, por un lado, dotar de mayores capacidades a los programadores, como proporcionar entornos mucho más visuales.
Ya hace 30 años se empleaban plataformas de desarrollo rápido de aplicaciones (RAD-IDE y herramientas CASE). Estas herramientas tenían como objetivo estandarizar el desarrollo, permitían “encapsular” funciones u objetos que se podían reutilizar.
En aquellos días se podían descargar y comprar esos componentes y DLLs para integrarlos, reutilizarlos, heredarlos en los desarrollos. Sin embargo, el resto del trabajo era codificar, y para eso había múltiples lenguajes de programación, que había que aprender y especializarse. Y cada uno de ellos con su complejidad y correspondiente curva de aprendizaje. Por no hablar de lenguajes que tuvieron multitud de seguidores y pasaron casi al olvido y abandono como mi añorado Delphi.
Ahora las plataformas Low-Code han ido mucho más allá. Permiten desarrollar aplicaciones de manera visual a través de un flujo de trabajo, añadiendo componentes ya diseñados. Estos componentes disponen de métodos (o funciones) con sus correspondientes entradas y salidas completar las actividades que se necesitan.
Podríamos hablar de que es una tendencia similar a lo que se está realizando en la construcción modular de casas. Ya no se ponen ladrillos, se disponen de módulos prediseñados, incluso en ocasiones alguna de las habituaciones ya viene prediseñadas, y simplemente basta con unirlas, integrarlas para tener una casa completamente funcional en mucho menor tiempo de construcción y con calidades similares o mejores.
Principalmente, son herramientas gráficas destinadas a hacer aplicaciones que resuelven problemas de rápidamente con elementos prediseñados y probados.
Sin embargo, hay que matizar. Hay dos tipos de herramientas, las no-code y las low-code. Las características comunes a ellas son:
- Que tienen entornos de desarrollo visual en los que básicamente se arrastran y sueltan componentes que se parametrizan de manera muy intuitiva.
- Permiten la gestión de permisos de acceso a usuarios.
- Permiten crear aplicaciones con diseños adaptables rápidamente.
- Permiten generar versiones de manera ágil y en tiempo real
- Al trabajar sobre componentes ya prediseñados disponen de módulos de autoformación estandarizados
Sin embargo, hay algunas características que las diferencian. Las plataformas no-code están destinadas a personas sin conocimientos de programación, en los que sus componentes no pueden modificarse. Generan aplicaciones de manera muy rápida, con casi ninguna personalización o complejidad.
Mientras que las low-code, permiten la codificación, así como cambios en sus componentes, habilitando así una mayor integración con otros sistemas, personalización y complejidad en el desarrollo.
En general, las diferencias entre low.code y no-code radican a quien van destinadas, y por tanto las funcionalidades y alcance que ofrecen:
– Destinatarios: Low-code va destinada a desarrolladores profesionales, mientras que NO-code va destinadas a lo que ahora se conoce como citizen developer, es decir, alguien que sin formación de programador usa herramientas tecnológicas para solventar determinadas necesidades,
– Objetivos: No-code va orientada a aplicaciones personales o departamentales para cubrir pequeñas tareas, mientras que low-code busca mejorar la productividad de los programadores con elementos ya prediseñados y probados, que se complementan con codificación en lenguajes específicos.
– Personalización: En general en no-code la personalización es casi nula, mientras que en low-code es más amplia al poder introducir código.
– Escalabilidad: Las soluciones en no-code se suelen limitar a una personas o conjunto reducido, mientras que las de low-code pueden escalar a nivel empresarial.
Ejemplo claro de estas herramientas son las soluciones de RPA o los chatbots en las que el empleo de código es algo absolutamente excepcional, y simplemente arrastrando componentes y siguiendo un flujo de tareas se puede completar determinados procesos.
Algunas veces he oído que este tipo de herramientas no son eficientes en la gestión de los recursos de las maquinas. La verdad es que este tipo de desarrollo low-code no tiene por qué ser ni mejor ni peor que un desarrollo basado en codificación tradicional. Todos son más ineficientes que el ensamblador y no por ello se dejan de usar.
¿Qué pueden hacer?
Las plataformas low-code proporcionan tres funciones principales, que las hacen una gran opción para el desarrollo de aplicaciones en las empresas:
– Digitalización integral: Una plataforma low-code cubre todo el ciclo de vida de la aplicación, desde organizar y administrar los datos hasta la arquitectura de la aplicación, pruebas, implementación y gestionar su rendimiento. Y todo de manera ágil y sin ser un experto programador.
– Control del flujo de trabajo: Estas proporcionan una interfaz sencilla de “arrastrar y soltar” para crear flujos de trabajo, siendo en ocasiones repositorios de gestión de procesos
– Alto nivel de integración y personalización controlada: Las plataformas de low-code también tienen la capacidad de integrarse con cualquier aplicación de terceros y ajustarla a las necesidades con poco o casi nada de código.
Las aplicaciones desarrolladas con low-code permiten la generación de formularios, interfases de usuario, conexiones a BBDD mediante conectores estándares, integración de sistemas mediante APIs, una gestión de errores estandarizada y sobre todo de manera muy visual e intuitiva. Su facilidad de uso hace que no solo se puedan emplear en aplicaciones de escritorio sino también en aplicaciones móviles.
Uno de los usos principales que están teniendo estas herramientas es implementar funcionalidades sobre sistemas legacy, habilitando así capacidades nuevas de manera sencilla. Otro uso común es la interacción con diversos sistemas o aplicaciones para extraer información y estructurarla para la generación de informes. Incluso se aplica en la interacción con IoT de cara a obtener información de dispositivos captadores de métricas.
¿Para quién es?
Claramente las herramientas de no-code van destinadas a los usuarios que no son desarrolladores profesionales, permitiéndoles disponer de aplicaciones que satisfagan sus necesidades de manera sencilla y rápida. Estos son lo citizen developers.
Eso no quiere decir que no puedan ser empleadas por desarrolladoras profesionales. Es una alternativa más de la que disponen para dar soluciones sin tener que invertir más tiempo del necesario para hacerlo. ¿Tiene sentido reinventar funciones que ya vienen realizadas? ¿Tiene sentido poner ladrillos si ya viene la pared construida?
Lo que sí es claro es que hay nuevas herramientas en nuestra caja de herramientas, ya sea para profesionales o no. Analizarlas, probarlas y ver que pueden aportar, y sobre todo que valor pueden aportar a toda la compañía en su conjunto, es algo que ya depende de nosotros.
Encuesta sobre automatización
En breve, desde el equipo de expertos de ITSM4RPA vamos a publicar una encuesta para analizar el mercado español. Si estas participando en la gestión de alguna iniciativa de automatización, y quieres participar, rellena este formulario para que te podamos enviar la encuesta: Solicitud participación en Encuesta de Automatización.
Entre todos estamos construyendo ese itSMF España que siempre habías imaginado: plural, transparente, activo e influyente. ¿A qué esperas? Únete a él.
Líder del Grupo de Expertos en RPA: ITSM4RPA
Comité de Estándares de la Asociación itSMF España