Artículos

Del
_
low
_
code
_
al
_
no
_
code
_
y
_
tiro
_
porque
_
me
_
toca

Automatización  ·  Business Intelligence  ·  Inteligencia artificial  ·  RPA  ·  Software de negocio  ·  Soluciones Cloud

Emerge con fuerza el desarrollador ciudadano, un ensamblador de software que, sin conocimientos avanzados de programación y gracias al ‘no code-low code’, agiliza la automatización de ciertos procesos en la empresa para que los recursos profesionales de programación puedan centrarse en los más críticos. 

Arquímedes decía: “Dadme un punto de apoyo y moveré el mundo”. Pues bien, en el mundo de la empresa, si el punto de apoyo es el software, durante mucho tiempo la palanca o perpal para mover el mundo ha sido Microsoft Excel.

Con una Excel éramos capaces de hacerlo casi todo, desde aplicar fórmulas para automatizar cálculos, hacer plantillas para introducir datos, o representarlos gráficamente… A lo anterior se suma la existencia del Visual Basic para Aplicaciones (VBA) que permite crear miniprogramas, llamados Macros, cuya principal “limitación” es que no se pueden compilar separadamente del documento, hoja o base de datos en el que fue creado (aunque puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos con el que ha sido generado) y que, como ventaja, aporta que funciona de forma transversal integrando todos los programas del ecosistema Office de Microsoft.

VBA es un lenguaje orientado a eventos, es decir activado cuando “sucede algo” con acceso a la API de Windows, que poco a poco se está sustituyendo por “Herramientas para Aplicaciones” de Microsoft Visual Studio (VSTA), más próximo a la plataforma .NET. ¿Qué significa esto? Pues que las macros o programas generados pueden escalarse de forma relativamente sencilla, así que era (y es, aunque como veremos ya existen otras alternativas) la combinación perfecta que permitía poner una herramienta muy potente en manos de un no programador que por contra conoce perfectamente el negocio y las necesidades del día a día, por lo que es capaz de generar aplicaciones tal vez rudimentarias pero muy efectivas para necesidades concretas.

Las hojas de cálculo fueron la avanzadilla del mundo de la programación hacia el concepto, cada vez más “profesionalizado” del low code o no code.

Con esta filosofía, Excel ha superado sus propias limitaciones para ser considerada un “lenguaje de programación”, es decir, que solo admitía valores escalares, a saber, números, cadenas y booleanos y que los usuarios no pudiesen definir nuevas funciones. En diciembre de 2020 Microsoft lanzaba LAMBDA 𝛌, que permite, entre otras cosas, que las celdas puedan contener entidades vinculadas a datos externos, así como que los usuarios puedan definir nuevas funciones escritas en el propio lenguaje de fórmulas de Excel. Una filosofía de “programación a nivel de usuario con funciones de alto nivel”.

El software está cambiando el mundo

La tendencia descrita, de avance hacia el low code – no code se ha visto impulsada por los 3 cambios que, según la revista Forbes, se han producido en la última década en la llamada industria del software:

Integración del software:

Las industrias tradicionales han dado paso a un nuevo modelo de desarrollo en el que el software se convierte en la parte central del negocio orientado hacia una satisfacción total del cliente. Pensemos en Amazon, Tesla, Pelotón (el «Netflix del spinning», la propia Netflix bien sería otro ejemplo) o Chipotle por citar algunas.

La velocidad de introducción del nuevo software:

La generación de una cultura de DevOps junto con prácticas y herramientas de DevOps como Docker o Kubernetes que, unido a una buena gestión de proyectos con herramientas como Jira, permiten pasar de un modelo de actualización de software en cascada a otro en el que las actualizaciones son más incrementales y manejables, al tiempo que se garantiza que la usabilidad y la estabilidad se mantienen robustas.

Coste:

Hace apenas 4 años todavía debíamos programar por separado las aplicaciones para Android e iOS. La irrupción de React Native propició que se pudiera programar de forma “simultánea” para ambos sistemas y aplicaciones como Flutter nos permiten desarrollar a la vez también para la web. A ello se ha sumado la generalización de la nube que, a su vez, ha significado una reducción de tiempos de gestión de determinadas aplicaciones, lo que redunda en que se pueda implementar y distribuir nuevo software en cuestión de minutos.

¿Para qué inventar lo inventado? Plataformas de integración para conectar aplicaciones

Actualmente existen en el mercado numerosas aplicaciones que nos permiten automatizar determinadas tareas. Estas aplicaciones incluyen conectores que permiten conectarse a otras aplicaciones, de forma que su funcionalidad se ve ampliada de forma ágil.

Hace poco más de un año hablamos de IFTTT, una plataforma de conectividad de low code que permite captación de datos, con una gran aceptación en entornos IoT.

Dentro del mundo web son conocidas Wix o Webflow, que facilitan la creación de páginas web añadiendo funcionalidades como tiendas online, etc. Si solo queremos una landing, podemos optar por Carrd. Por su parte, Airtable es una aplicación de gestión que permite organizar diversos flujos y áreas (producto, operaciones, ventas, finanzas, reclutamiento, marketing) y que además admite la programación con JavaScript y React para expandir sus funcionalidades.

Aplicaciones como Glide promete crear una app para móvil en 5 minutos partiendo de una hoja de cálculo; Adalo también sería otra candidata.

TypeForm, por ejemplo, revolucionó los formularios y aunque algunos la definen como la herramienta para crear formularios bonitos, su verdadera capacidad es la de integrarse con otras aplicaciones. Una evolución “natural” en una sociedad audiovisual ha sido VideoAsk, que está revolucionando la introducción de datos, que clásicamente se hacía tecleándolos, y que ahora se hace directamente ¡mediante un vídeo generado por el propio usuario! Y es que, como dice su lema, “la mejor interfaz es tu cara”.

Otra aplicación interesante es Landbot, que comienza a ser un referente para la creación de chatbots, mediante el uso de asistentes visuales, que permiten además del uso de la lógica condicional, el de variables, definir funciones (ladrillos virtuales), utilizar fórmulas adaptadas al flujo de datos, en tiempo real y sin código, que llega incluso a implementar procesamiento de lenguaje natural con inteligencia artificial mediante la integración de Dialogflow, etc.

La lista sería muy larga. De hecho, hay sistemas de revisión web que permiten encontrarlas e incluso compararlas en función del rating otorgado, las características de la aplicación y los comentarios de los usuarios. Se trata de Gartner, Capterra, G2, o Getapp (en español) por citar algunas de las más conocidas.

La mayoría de las aplicaciones vistas ofrecen, como habíamos avanzado, conexión directa con otras aplicaciones que complementan sus servicios, como pueden ser las listas de correo, hojas de cálculo, herramientas de análisis de rendimientos en redes y algunas más, que por ejemplo en el caso de los chatbots permitirían recibir y enviar pagos directamente. Sin embargo, existen muchas aplicaciones que quedan fuera de estas conexiones que vienen “de serie” y que realmente ofrecen un valor añadido para el cliente.

Así, aparecen las iPaaS (Integration Platform as a Service) que, por medio de la interfaz de programación (API) de la aplicación base, nos permiten conectarla en algunos casos con un ecosistema con el que la propia plataforma iPaas hace de interlocutora, y que permite llegar en algunos casos a más de mil aplicaciones. Y digo ecosistema y no “colección de aplicaciones”, pues éstas están interactuando entre sí.

Las iPaaS ofrecen amplias opciones de personalización, por lo que nos permiten modificar sus conexiones hasta que estén haciendo exactamente lo que necesitamos que hagan.

Una buena manera de empezar con plataformas de integración podría ser utilizando Zapier, que tiene a su favor su facilidad de aprendizaje y el amplio número de aplicaciones con las que conecta, aunque deberíamos ver si merece la pena un poco más de esfuerzo inicial y partir directamente de Integromat, dada su mayor potencia y condiciones de uso posteriores.

De todos modos, se pueden consultar los sistemas de revisión propuestos para comprobar el mercado y elegir la más conveniente en cada caso.

Es posible incluso que, antes de la integración mediante la plataforma iPaaS, ya se estuviera usando cada una de las aplicaciones por separado, por lo que estas plataformas también son una forma de comenzar a establecer una estrategia del dato.

“Una de las ventajas de las herramientas de automatización no code-low code es que permiten testar de una forma muy ágil si merece la pena meterse en desarrollos más profundos posteriores y, en caso de hacerlo, ya tenemos adelantada mucha labor de consultoría; incluso se habrá mejorado algún proceso”.

Sergio Aguado, CIO de Cuatroochenta.

Plataformas de aplicaciones empresariales low code (LCAP)

Un salto importante es pasar de las herramientas de integración vistas a las llamadas plataformas de aplicaciones empresariales low code (LCAP).

Cada vez más los desarrolladores de aplicaciones software tienden a utilizar plataformas y herramientas low code. Su principal virtud es la incorporación de elementos de lógica empresarial predefinidos, con elementos muy visuales que se parametrizan directamente. Esto permite agilizar el desarrollo de aplicaciones, que a su vez posibilita que personas con unos conocimientos menos avanzados en programación puedan participar de la automatización de determinadas tareas. Programar con el tradicional código se reservará en un futuro próximo para trabajos muy específicos, que requieran una alta especialización y minuciosidad.

“Para 2023, más del 50% de las empresas medianas y grandes habrán adoptado un LCAP como una de sus plataformas de aplicaciones estratégicas”.

Gartner. Low-Code Development Technologies Evaluation Guide.

Muchas de las plataformas LCAP son ofrecidas por proveedores que pueden ser más conocidos por sus ofertas de SaaS o sus capacidades de gestión de procesos comerciales (BPM), así como proveedores especializados para el desarrollo rápido de aplicaciones. El objetivo principal es aumentar la productividad del desarrollo de aplicaciones con requisitos de habilidades reducidos para los desarrolladores, lo que también está ayudando a mitigar la falta de personal cualificado en programación.

Una imagen de la situación del mercado de estas plataformas nos la ofrece la consultora Gartner, que elabora su cuadrante mágico también para LCAP (incluye plataformas low code y no code).

Salesforce, Microsoft, OutSystems, Mendix Appian y ServiceNow son las empresas consideradas líderes del cuadrante:

Lo primero que cabe decir es que una LCAP empresarial admite aplicaciones de tipo empresarial. Las aplicaciones de clase empresarial requieren alto rendimiento, escalabilidad, alta disponibilidad (HA), recuperación ante desastres (DR), seguridad, acuerdos de nivel de servicio (SLA), seguimiento del uso de recursos, soporte técnico del proveedor y acceso a API desde y hacia locales y servicios en la nube.

Plataformas de desarrollo multiexperiencias (MXDP)

En el año 2020, la consultora Gartner, en su informe ‘Top 10 Strategic Technology Trends for 2020’, colocó la multiexperiencia como la 2ª tendencia más importante del año. Y acuñó esta frase, que seguramente marca el camino hacia el que convergeremos en los próximos años: “La multiexperiencia reemplaza a las personas con conocimientos de tecnología por tecnología con conocimientos de personas”.

Es decir, la multiexperiencia es la forma en la que las marcas se acercan a los clientes desde cualquier dispositivo inteligente. Incorpora los sentidos en cada interacción digital, de forma que ésta sea multitáctil, multisensorial y multimodal (voz, gestos, ojos, movimientos). De este modo, las empresas tienen una nueva opción para mejorar su comunicación con el cliente.

Para 2024 una de cada tres empresas utilizará una plataforma de desarrollo de múltiples experiencias para aumentar la velocidad a la que los equipos de fusión de negocios y TI trabajan para ofrecer productos digitales exitosos.

Gartner.

Muchas de las empresas que hemos visto en el apartado de plataformas LCAP están también en el cuadrante mágico para plataformas de desarrollo multiexperiencia, pues la base es la misma y se añaden funcionalidades específicas. Por ejemplo, Microsoft añade herramientas de desarrollo profesionales como Visual Studio con Xamarin, Azure App Service y Azure DevOps.

Un último consejo: tener muy en cuenta la seguridad

La incorporación de perfiles llamados “desarrolladores ciudadanos” provocará que tengamos que atender un nuevo escenario en materia de seguridad. En concreto, la consultora Forrester nos aporta tres puntos clave en los que fijarnos:

  • Es posible que los desarrolladores de aplicaciones ya no solo trabajen en el equipo de desarrollo. Dediquemos algún tiempo a comprender la estrategia de bajo código de nuestra organización, quién está desarrollando, qué tipo de aplicaciones de bajo código y dónde se ubican.
  • Conocer a los desarrolladores ciudadanos de nuestra organización y generar un clima de colaboración con el equipo de ciberseguridad.
  • La abstracción del código bajo significa que los desarrolladores ciudadanos tienen menos probabilidades de introducir una inyección SQL que de configurar mal los permisos o filtrar datos. Tenemos que replantearnos los nuevos riesgos que las nuevas plataformas posibilitan en nuestra empresa.

En definitiva, estamos en un viaje hacia el low code y, en algunos casos, la inteligencia artificial (IA) y la automatización robótica de procesos (RPA) sin código serán nuestros principales compañeros en el camino, tanto si somos ciudadanos programadores como sencillamente usuarios. Aunque pensándolo bien… todos acabaremos programando.

Volver arriba