Saltar al contenido
Los términos low-code y no-code se están convirtiendo en calificativos muy comunes que acompañan a un número creciente de herramientas y soluciones creando también algo de confusión, ¿qué significan y dónde aplican realmente?

El concepto low-code se utilizó inicialmente para clasificar al conjunto de herramientas o plataformas que permitían el desarrollo rápido de aplicaciones sin necesidad de escribir código.

Estas plataformas low-code son herramientas que permiten construir y desplegar aplicaciones a partir de un entorno visual y configurable que requiere menos programación tradicional o manual, con el objetivo de reducir la complejidad en la construcción de aplicaciones y la reducción del tiempo necesario para entregarla.

Aun siendo herramientas nacidas para facilitar la implementación de aplicaciones o procesos de negocio, low-code todavía requiere conocimientos técnicos y por tanto está dirigida a perfiles de desarrollo (preferiblemente capaces de tener capacidades funcionales), mientras que en el otro extremo aparece no-code (zero-code) que lleva el concepto de simplificación más allá haciendo accesible estas herramientas a nuevos usuarios, sin necesidad de tener conocimientos técnicos.

Ahora el concepto low-code/no-code ha pasado a convertirse en la capacidad o propiedad que hace que una herramienta sea más sencilla e intuitiva, requiera menos conocimientos profundos (técnicos o de programación), menos experiencia previa, y así alcanzar a un público de usuarios más amplio. Con el objetivo de que estos usuarios que tienen las necesidades (de negocio, operativas, etc.) sean más autónomos y puedan configurar o desarrollar ellos mismos sus aplicaciones.

Se ha empezado a aplicar a cualquier herramienta, y ahora encontramos soluciones de todo tipo que incorporan este calificativo: RPA low-code, plataformas conversacionales no-code, gestores de contenido no-code, etc.

En esta entrada nos referiremos a low-code y no-code en el ámbito del desarrollo de aplicaciones o digitalización de procesos, también conocido con las siglas de LowCode Development Platform (LCDP), y veremos que, incluso en este segmento, las posibilidades son todavía muy amplias ya que cada fabricante tiene aproximaciones diferentes.
 

Low-code en los planes estratégicos de transformación

El papel que juegan las aplicaciones (el software a medida) dentro de las compañías es fundamental para la implementación de cualquier servicio o producto, incluso aunque estos no estén basados en software.

Las aplicaciones permiten a nuestros clientes gestionar sus servicios, controlar sus dispositivos, digitalizar un proceso manual, automatizarlo o convertir los datos en indicadores para medir rendimientos (como el impacto de las iniciativas del negocio, etc.).

Así que no es de extrañar que los CTOs y CIOs tengan la presión de definir la estrategia arquitectónica que permita cubrir los requisitos del negocio (velocidad, seguridad, escalabilidad e innovación) al tiempo que garantizan la continuidad de este, cierta homogeneidad o coordinación sin llegar a la centralización, un retorno de inversión a corto plazo y resistencia al paso del tiempo.

A las estrategias basadas en desarrollo tradicional o soluciones verticales (SaaS) se suman ahora las plataformas de desarrollo rápido, las cuales aportan beneficios tan contundentes que no pueden pasarse por alto.

El mismo ejercicio que tuvimos que hacer al valorar la estrategia con respecto a la infraestructura cloud (poniendo en un lado de la balanza la escalabilidad, flexibilidad y estabilidad de la nube, y en otro una nueva forma de gestión, pérdida del control fino y un control de costes basado en opex, etc.), debe repetirse con estas plataformas que incorporan velocidad, visión integrada y acceso a nuevos roles, frente a la opción de tener un control absoluto de cada una de las piezas que sustentan las aplicaciones.

Estas plataformas están creciendo rápidamente en características a un ritmo difícil de alcanzar de forma individual por las compañías. Muchas ya están viendo cómo estas plataformas pueden ayudar a impulsar casos de uso gracias a la inmediata disponibilidad de una arquitectura ya validada, proporcionando además velocidad en los desarrollos y control pleno sobre sus aplicaciones para evolucionarlas en la dirección del negocio. Además, la tendencia es involucrar a negocio dentro de la propia plataforma, evitando los silos departamentales y sumándolos a una estrategia común.
 

Características de una plataforma low-code

Cada fabricante tiene una aproximación diferente al reto del desarrollo de aplicaciones, pero en general tienen en común las siguientes características que podrían definir la esencia de este tipo de plataformas:
  • Cuentan con un entorno gráfico orientado a componentes reutilizables que mediante un lenguaje visual y parametrización permite diseñar y construir los distintos artefactos que maneja la plataforma, siendo más intuitivo y rápido para los usuarios.
  • Permiten gestionar el ciclo de vida de las aplicaciones, desde el diseño y despliegue en los distintos entornos, hasta cerrar el círculo mediante una monitorización y soporte a la operación de las aplicaciones en producción.
  • Disponen de capacidades para el desarrollo móvil, o al menos entregan funcionalidad a través de su app.
  • Proporcionan soporte para el modelado de procesos y soluciones de automatización.
  • Facilitan la exposición de servicios a través de APIs y cuentan con capacidades de integración con terceros.
  • Incluyen un modelo para el gobierno del ecosistema de aplicaciones y componentes que gestiona la organización, así como la seguridad de los usuarios que acceden a la plataforma.
  • Incorporan un marketplace o repositorios donde localizar componentes reutilizables desarrollados por el propio fabricante o por terceros.
  • Y como cualquier "solución como servicio", tienen una política de entrega de nuevas características por releases y velan por la seguridad y escalabilidad de las aplicaciones.
 
En función de cómo entregan su valor y el tipo de usuarios al que van dirigidas, estas capacidades se dividen en:
  • Low-code para desarrolladores son aquellas plataformas dirigidas a desarrolladores que potencian la productividad por medio de herramientas, bibliotecas de componentes reutilizables, plantillas pre-existentes y cierta inteligencia a la hora de componerlas. Los desarrolladores con experiencia previa en otras tecnologías tienen una curva de aprendizaje muy baja y para los nuevos desarrolladores se vuelve más sencillo al tener que focalizarse en una sola herramienta.
  • Low-code para desarrolladores de negocio está dirigido a usuarios no técnicos con ciertas habilidades que desean tomar un papel activo en la definición de estas aplicaciones. Normalmente el tipo que conceptos que resultan más familiares a estos usuarios de negocio u de operaciones son los procesos, tratamiento de la información mediante informes, interfaces similares a las herramientas ofimáticas, o los customer journeys. El solape con la capacidad anterior es cada vez más fino y en muchos casos el límite tan solo dependerá de la actitud del desarrollador de negocio por seguir aprendiendo aspectos más profundos de la plataforma.
  • Low-code prescriptivo. Forrester denomina así a las soluciones low-code que incorporan componentes de negocio paquetizados pero fácilmente personalizables por medio del mismo mecanismo que se desarrolla a medida sobre la propia plataforma.
  • No-code sería la capacidad de desplegar aplicaciones y/o procesos utilizando un paradigma muy distinto al desarrollo, creando conceptos desacoplados a lo que conocemos tradicionalmente al desarrollar una aplicación y enfocados a una configuración rápida de la solución. Normalmente la configuración o parametrización de las herramientas tienen un límite y para conseguir resultados fuera del estándar debe complementarse con algún tipo de programación.



La tendencia actual es que las soluciones de low-code incorporen varias de estas capacidades al mismo tiempo para permitir que tanto usuarios de negocio como desarrolladores puedan colaborar bajo un mismo entorno. Por ejemplo, la plataforma OutSystems incluye capacidades para los desarrolladores de negocio a través de las herramientas Business Builders y capacidades low-code para desarrolladores mediante un IDE. Ambas herramientas forman parte de la misma plataforma de manera que todos los elementos están vinculados, mientras proporciona una experiencia de usuario diferenciada y se acerca a estos usuarios utilizando el ‘lenguaje’ más familiar para su rol.

Esta combinación permite que los analistas funcionales y de IT puedan participar juntos definiendo y construyendo sobre la misma plataforma. Comenzando desde la definición más temprana, donde los analistas de negocio pueden esbozar directamente en la herramienta una visión general de las aplicaciones o los caminos felices de los procesos, mientras el equipo de IT puede ir validando la solución, identificando integraciones con sistemas, modelando los repositorios de información, etc. La construcción de la aplicación se beneficia de una comunicación fluida a través de la propia herramienta que incluye mecanismos para el trabajo colaborativo. Permite incluso recabar el feedback directamente de los usuarios de la aplicación.

Las herramientas low-code favorecen nuevas formas de organización de equipos, alineadas con los principios de las metodologías agile: foco en las características que más valor aportan, entrega rápida, comunicación fluida y mismos objetivos. Estas herramientas low-code otorgan más protagonismo a los usuarios de negocio quienes podrán reclutar gente en su organización que quiera participar en las iniciativas de la compañía. Y poco a poco el gap entre los perfiles de negocio y los perfiles más técnicos irá reduciéndose, apareciendo nuevos roles dentro de las organizaciones que combinen ambos aspectos, ya que estas herramientas están diseñadas para acortar esta distancia.
 

Innovación continua

La apuesta que están haciendo los fabricantes por añadir nuevas características de forma constante para distanciarse es muy fuerte:

Por un lado, empieza a haber soluciones low-code que, sobre las capacidades low-code/no-code, proporcionan componentes de negocio paquetizados: pequeños dominios funcionales que resuelven procesos comunes (gestión de contactos, oportunidades, facturación, etc.) tradicionalmente asociados a las soluciones SaaS, que pueden ser utilizados e integrados con las aplicaciones a medida.

La principal diferencia con respecto al SaaS es que están construidos sobre la arquitectura low-code y por tanto están diseñadas desde el comienzo para servir como plantilla o acelerador, fácilmente adaptable a las necesidades del cliente. Pueden ser adaptados con facilidad o extenderse sin forzar la herramienta ya que están construidos sobre la misma base, utilizando el resto de las ventajas añadidas, como una única herramienta de gobierno, despliegue, control de versiones, etc. Este tipo de capacidades se conocen como low-code prescriptivo.

Por otro lado, estas plataformas tienen la posibilidad de acceder a miles de ‘líneas de código anonimizadas’ utilizadas por sus aplicaciones, lo cual es la base para el entrenamiento de modelos de inteligencia artificial que pueden servir a la hora de crear nuevas características de la plataforma para mejorar la calidad, predictibilidad del código, rendimiento de las aplicaciones, etc. Empezaremos a ver muchas de estas capacidades aplicadas al desarrollo de aplicaciones, terreno poco explorado hasta el momento.
 

Conclusiones

En definitiva, las plataformas low-code empiezan a formar parte de las soluciones de arquitectura dentro de las organizaciones y los CIOs tendrán un papel decisor en esta adopción que en gran medida vendrá empujada por el negocio.

No existe una solución perfecta ni una solución única para todo, pero, puesto que nadie tiene certeza sobre qué dirección tomará su negocio a futuro, la velocidad, la flexibilidad y la capacidad de experimentación de las organizaciones serán clave, y las plataformas low-code/no-code pueden ser parte de la solución.
 
Leopoldo Colorado
Leopoldo Colorado Perfil en Linkedin

Responsable de la Factoría de Iniciativas de BABEL.

Más post de Leopoldo Colorado