¿Cuál es el lugar para la evolución del código bajo / sin código?

El Low Code/No Code no apareció a principios de la década de 2020, es una tendencia que ya lleva varias décadas tomando forma y en 2021 el mercado todavía está en fase de creación. Existe un gran número de actores conocidos como Salesforce, OutSystems, K2, Mendix, ServiceNow, Appian, AgilePoint o Microsoft PowerApps. Sin embargo, el mercado VSE/SME está en proceso de estructuración con actores que ofrecen productos de alta calidad como Webflow, Airtable, Zapier, Notion, Integromat, Bubble o Parabola.

Según los estudios de ResearchAndMarkets, el mercado Low Code/No Code valía +4.000 millones de dólares en 2017 y superará probablemente los 27.000 millones de dólares en 2022. Estas cifras y orientaciones son confirmadas por Forrester, que anuncia 15.000 millones de dólares en 2020. Estas tendencias son el signo de un verdadero mercado firmemente asentado para las herramientas destinadas a las grandes empresas que desean lanzar proyectos rápidamente, pero también a las pequeñas empresas que emprenden una transición digital, todo ello dominado por un contexto de escasez de desarrolladores y un mercado tecnológico que se ha vuelto demasiado complejo [1].

Se trata, por tanto, de un sector de actividad económica en la construcción en el que es posible ver la llegada de nuevos actores cada semana. Sin embargo, algunas soluciones como Webflow y Bubble se han impuesto rápidamente como referencias y van a sacudir el mercado actual (aquí WordPress, Wix, Squarespace, Shopify). Además, los campos de aplicación se amplían muy rápidamente para ofrecer herramientas en los ámbitos de las aplicaciones móviles, los videojuegos y la automatización. Cabe señalar que los "grandes" actores digitales históricos no dominan en absoluto el mercado.

Lo cierto es que estos entornos de desarrollo son poco conocidos, al igual que las distintas herramientas que ofrecen y cómo utilizarlas. Estamos, por tanto, en la fase "pedagógica" del negocio que, en los próximos diez años, pondrá en marcha las diferentes soluciones y la estructura del mercado para apoyar su desarrollo económico. Una encuesta realizada por el Instituto Forestal en 2019 confirma esta tendencia.

Los entornos Low-Code/No-Code se utilizan para :

  • Rápidamente desarrollar servicios sencillos para funcional reducida perímetros
  • Establecer universos de software para "extensiones "periféricas a las funcionalidades de las soluciones empresariales (esquema adoptado por SalesForce, Microsoft, SAP).
  • Desarrollar un "ingeniería "específica para satisfacer la creciente demanda de personalización.

Introducción

Desde la aparición de las técnicas de modelado de software y, más concretamente, desde la creación del UML (Lenguaje Unificado de Modelado) en 1997, una visión ha ocupado las mentes de los especialistas en ingeniería de software: producir aplicaciones sin escribir una sola línea de código fuente. A finales de los años 90, se impuso el uso de técnicas de modelado para describir formalmente todas las facetas de una aplicación informática (interfaz, comportamiento, modelo de datos, arquitectura de red, etc.). Esto debería permitir de facto una generación de código fuente lo más automatizada posible. Los principios defendidos por la ingeniería del software abogaban, por tanto, por concentrar el esfuerzo en el diseño del software ahorrándose las dificultades puramente técnicas ligadas a la compilación, los errores de programación o la lentitud provocada por modificaciones profundas de la arquitectura.

Este objetivo final nunca se alcanzó. Porque si en teoría no hay ningún obstáculo para este tipo de enfoque, en la práctica los factores de complejidad de las aplicaciones informáticas modernas hacen inoperante este tipo de enfoque. La multitud de modelos que hay que producir para describir todas las situaciones y todos los casos han hecho que el desarrollo mediante modelización sea más tedioso que la escritura directa del código fuente. Ya en 2004, varios protagonistas señalaron lo ridículo de la verborrea de UML y del desarrollo de software en el que todo es un modelo [2].

A partir de la década de 2000, un gran número de soluciones que permiten a los usuarios finales crear su propio software han tenido mucho éxito. Por ejemplo, Adobe DreamWeaver, un software de edición de sitios web que ofrecía una interfaz "Lo que ves es lo que obtienes" (WYSIWYG), permitía a los neófitos en HTML, CSS y Javascript construir y publicar gráficamente sitios web sencillos (páginas estáticas y multimedia). Del mismo modo, se creó un gran número de las llamadas soluciones de programación visual. Por ejemplo, algunas de las herramientas que ofrecen MatLab, LabView o el lenguaje de programación Scratch, desarrollado por el MIT, han permitido a los principiantes en programación empezar a construir programas dentro de un marco predefinido y para una serie de usos muy específicos. Estas soluciones también han tenido un éxito creciente en los ámbitos de la industria, la educación, los videojuegos1y muchos otros dominios ciudadanos [3].

Estos éxitos, circunscritos a campos disciplinarios específicos, amplían ahora su alcance. Este fenómeno también se ve apoyado por un contexto muy favorable:

  • La inexorable expansión de la tecnología digital y el crecimiento exponencial de la cantidad de minisoftware, miniservicios desarrollados y disponibles en forma de aplicaciones móviles y sitios web.
  • Estandarización de nuestro uso, interfaces de usuario, estilos de arquitectura de software y API que permite a los desarrolladores centrar su atención en el propósito de las aplicaciones (el qué) en lugar de en las herramientas que hay que implementar (el cómo) para un gran número de aplicaciones que ofrecen servicios estándar.
  • La escasez de desarrolladores en un contexto tecnológico cada vez más complejo.

Asistimos, pues, a un cambio de vocabulario. Ya no se habla de modelado, metamodelado, programación para el usuario final (EUD), generador de código (total o parcial), programación por componentes, constructor de interfaces gráficas (es decir, UI Builders). Este universo de métodos y herramientas se agrupa ahora bajo los nombres de Código bajo/sin código (LCNC). No obstante, los fundamentos siguen siendo los mismos y detallaremos estos enfoques, cómo sacarles partido, así como sus ventajas y limitaciones.

1.https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/Editor/index.html

Orígenes e historia

Al principio: Interfaces WYSIWYG

La promesa asociada a Low Code/No Code no es nueva. Ya en la década de 1970, los programas han favorecido la visualización de fragmentos de código que sólo pueden entender los informáticos. En este campo, Bravo (1974) es probablemente uno de los primeros editores WYSIWYG (What you see is what you get). Desde entonces, estas soluciones no han dejado de ampliarse, desde editores de texto hasta herramientas para diseñar sitios web que no son más que soluciones que proporcionan funcionalidades avanzadas sin codificación.

Entre los principales contribuyentes figuran Low Code/No Code, GeoCities en los años 90, así como CMS (sistemas de gestión de contenidos) completos como Drupal, Joomla, Dotclear y WordPress que aparecieron en la década de 2000. Desde hace casi 20 años, permiten a perfiles no técnicos crear y mantener un sitio web. La popularidad de WordPress también ha empujado a las empresas a diseñar potentes herramientas para construir sitios basados en este CMS con un simple arrastrar y soltar. Podemos mencionar específicamente "Page Builders" como BeaverBuilder [4] o Elementor [5]que son muy populares entre las pequeñas empresas y los departamentos de marketing.

Figura 1 Dos ejemplos de interfaz No-Code: A la izquierda el constructor de páginas web Elementor para el CMS WordPress. A la derecha la interfaz de configuración/construcción del chatbot BotNation.

La tendencia Low Code/No Code debe considerarse una simple extensión de estos primeros pasos en el campo de la construcción de páginas web a un conjunto más variado de soluciones. Las aplicaciones en estos nuevos entornos incluyen la creación de chatbot [6], [7], [8]raspado de datos web [9], [10]automatización de procesos empresariales o RPA2e incluso el diseño de aplicaciones móviles. Desde hace unos 50 años, el principio sigue siendo el mismo: un editor de entornos de software proporciona una herramienta que permite a una persona no técnica y/o técnica crear fácilmente una solución que, a primera vista, implica un nivel muy alto de complejidad técnica.
El ejemplo de Web Elementor es muy sintomático de estos nuevos entornos de trabajo. Este constructor de páginas web es la "estrella" para construir sitios con WordPress y no ha dejado de crecer desde su lanzamiento en mayo de 2016. Cuenta con más de 2 millones de instalaciones activas y está ayudando a construir un mundo freelance sin apenas conocimientos técnicos que contribuyan a su despliegue. WordPress es, por tanto, la base de software de aplicación que ha servido de base a esta herramienta Low Code para desarrollar un modelo completamente funcional y económico en pocos años.

2.Voir état de l'art Berger-Levrault sur la RPA : https://www.research-bl.com/2020/06/08/rpa-report/

Siguiente: Grandes avances tecnológicos

La mayoría de las soluciones en las que confiamos hoy en el campo del desarrollo de software no existían en los años ochenta. Fue un periodo poco productivo en el que se explotó mucho COBOL, el lenguaje dominante y difícil de usar. Muchos proyectos de la época se abandonaron por falta de éxito en la implementación o por su escasa funcionalidad. Esto creó de hecho una "crisis del software". En los años 90 aparecieron innovaciones metodológicas como el Desarrollo Rápido de Aplicaciones (RAD) y lenguajes de alto nivel y más fáciles de usar, como Java. La creación de software se hizo más eficaz y sencilla. Las aplicaciones se hicieron más complejas y, por tanto, más útiles, y el tiempo necesario para crear estas soluciones empezó a disminuir. La década de 2000 confirmó el dominio de Java y estableció el lugar de los frameworks y los Entornos de Desarrollo Integrado (IDE). Fue en esta época cuando aparecieron plataformas de bajo código como Appian, Mendix y Outsystems. En la década de 2010, se empezaron a adoptar lenguajes de más alto nivel como Python, dejando tiempo a las plataformas Low Code para construir marcos y usos mucho más avanzados. Sin embargo, la creciente complejidad de los ecosistemas digitales tiende ahora a aumentar de nuevo significativamente los tiempos de desarrollo.

Otros avances tecnológicos más conceptuales también han contribuido a este movimiento. Un primer factor procede del hecho de que, en los últimos 15 años, un número creciente de soluciones ha utilizado la creación de API para establecer "servicios" digitales. El universo de los desarrollos ha creado así una capa que ha facilitado la vida a otros desarrolladores y usuarios, al tiempo que ha establecido una lógica de "microservicios". Un segundo factor ha sido la llegada de las bases de datos documentales, a veces también denominadas erróneamente bases de datos "NoSQL". En lugar de almacenar los datos en filas y columnas, estas bases de datos suelen utilizar una estructura de tipo documento similar a JSON (JavaScript Object Notation), un formato muy popular entre los desarrolladores. Estas bases de datos han permitido una flexibilidad sin precedentes al tiempo que conservan la funcionalidad crítica de las bases de datos tabulares y relacionales [11].

El principio de no-código surgió hace varias décadas. A medida que avanzaba la tecnología, permitió crear primero aplicaciones sencillas, como páginas web, y luego software más "rico", como aplicaciones móviles o automatismos.

Low-Code / No-Code (LCNC): Principios generales y definiciones

La ambición de los enfoques Low Code/No Code (LCNC) es permitir el desarrollo rápido de aplicaciones sencillas minimizando al máximo la escritura de código fuente. Para lograrlo, un gran número de soluciones se basan en interfaces de creación visual integradas en un entorno de desarrollo de software. Cada etapa del ciclo de vida de la aplicación se automatiza y simplifica al máximo para los usuarios, desde la creación hasta la puesta en marcha. Esto permite entregar rápidamente soluciones de software utilizables.
Uno de los efectos inducidos más importantes del LCNC es que elimina los tradicionales silos de desarrollo, ya que este proceso conduce, en teoría, a que un amplio abanico de partes interesadas (negocio, UX, marketing, técnicos) puedan producir la totalidad o parte de las soluciones.

Continuum bajo código/sin código (LCNC)

La diferencia entre bajo código y sin código es bastante difusa. Una forma sencilla de conceptualizarla es imaginar un continuo en el que ambos extremos serían no-code y full-code. Por un lado, la capacidad de desarrollar aplicaciones sin codificar y, por otro, la capacidad de codificar el desarrollo de aplicaciones clásicas escribiendo la gran mayoría del código fuente. Por lo tanto, proponemos el siguiente continuo para definir claramente el fenómeno LCNC.

CÓDIGO COMPLETOSOME-CODEBAJO CÓDIGONO-CODE
DESCRIPCIÓNCrear aplicaciones codificando la mayor parte de la aplicaciónCrear aplicaciones codificando pero reutilizando/configurando tantos componentes estándar como sea posible.Crear aplicaciones esencialmente sin codificar e integrar partes de código creadas en otro lugar.Cree aplicaciones sin codificar
OMSDesarrolladores expertosDesarrolladores expertosPoco cualificados, no desarrolladoresNo desarrolladores
CÓMODesarrollo tedioso pero precisoDesarrollo rápido cuando existen los componentes adecuadosDesarrollo rápidoDesarrollo rápido
QUÉTodo es posibleLas opciones están limitadas por los componentes utilizadosLimitado a las posibilidades de la plataforma de bajo código y las API que se pueden utilizar para integrar código personalizado.Limitado a las posibilidades de la plataforma sin código

Una vez establecido este continuo, dos fenómenos son notables en esta progresión del código completo al no-código: 1) la creciente velocidad de desarrollo posibilitada por los enfoques LCNC y 2) las crecientes limitaciones inducidas por el uso de entornos LCNC que son por naturaleza particionados.

El uso de un enfoque LCNC implica hacer fuertes concesiones entre :

1) eficacia del desarrollo

2) limitaciones en cuanto a la elección de arquitectura, tecnologías e interfaces de usuario.

Los detalles que caracterizan los enfoques LCNC pueden resumirse como sigue:

  • Sin código: El uso de estos entornos permite crear aplicaciones sin codificación. Es decir, la plataforma codifica automáticamente toda la aplicación en función de las configuraciones y ajustes definidos por el usuario. Estas soluciones están diseñadas inicialmente para no desarrolladores que no conocen o no necesitan conocer lenguajes de programación para utilizar y desarrollar programas informáticos. Los proveedores de estas soluciones han integrado todas las funcionalidades que los usuarios consideran esenciales para crear sus aplicaciones. Estos entornos son similares a las populares plataformas de blogs y soluciones de diseño web "todo en uno" (por ejemplo, WordPress, SquareSpace, etc.).
  • Código bajo: Una plataforma de este tipo podrá generar automáticamente la aplicación en las mismas condiciones. Sin embargo teóricamente permite integrar partes de código realizadas en otro lugar cuando sea necesario. Estos entornos se están convirtiendo poco a poco en un medio para ayudar a los desarrolladores a diseñar aplicaciones más rápidamente y con un mínimo de codificación manual. Las plataformas existentes ofrecen conjuntos de funciones preconfiguradas y herramientas que complementan las necesidades de los desarrolladores. En términos muy sencillos, estos entornos permiten arrastrar y soltar bloques visuales de código existente en un flujo de trabajo para crear aplicaciones rápidamente. Este proceso puede sustituir completamente el método tradicional de codificación manual todo un pero simple aplicación. Esto permite a los desarrolladores producir de forma más eficiente y rápida, sin necesidad de codificación repetitiva. Pueden centrarse en los elementos diferenciadores esenciales de su aplicación.

Razones para el actual surgimiento del LCNC

Los vectores que impulsan de hoy La creciente demanda de universos LCNC es bien conocida y muestra marcadas diferencias con respecto a la década de 1990. En efecto, el número de empresas que necesitan soluciones parcialmente personalizadas (o desean establecer funcionalidades adicionales específicas) es en constante crecimiento. Este movimiento se combina con un escasez de desarrolladores cualificados. Por fin, la generalización del uso de herramientas informáticas en todos los sectores de actividad está produciendo un factor multiplicador de los dos vectores anteriores de crecimiento de la demanda. Este conjunto de limitaciones ha puesto en primer plano la adopción de los llamados "código bajo"plataformas de desarrollo.


También es necesario añadir una madurez mucho mayor de los fundamentos técnicos de los entornos que se ofrecen hoy en día. Esta madurez se ha adquirido en los últimos 20 años gracias a los avances de la investigación y a las innovaciones tecnológicas tanto en software como en hardware. Además, la generalización de herramientas de desarrollo y métodos que tienden a uniformizarse facilita la adopción de estas herramientas. Por otra parte, la creación de código informático pierde atractivo con el paso de las décadas y, en última instancia, representa un freno para el desarrollo industrial en el campo de la informática. La última década ha estado marcada por la "plataformización", el uso de marcos "listos para usar" y la creciente importancia de las necesidades arquitectónicas (urbanización de los desarrollos).


Por último, es el desarrollo de soluciones que explotan la IA el campo más avanzado en la utilización de entornos Low Code/No Code. Este campo de aplicación se compone de complejidades matemáticas, modelos, la necesidad de organizar flujos masivos de datos y la frecuente interconexión de varios modelos (en cascada) para satisfacer una necesidad. Se trata, por tanto, a menudo de un "agregado" de modelos pretensados que se elaboran con muy poca producción de código. La IA es un ejemplo perfecto de extremadamente importante fenómeno subyacente que pasa relativamente desapercibido por el momento: el aumento exponencial en complejidad de nuestros desarrollos. Movilidad, ubicuidad, modelización, personalización, desmaterialización, objetos conectados, lagos de datos, alojamiento híbrido, decenas de idiomas, cambios de hábitos (venta, trabajo, transporte, consumo, viajes) han construido un universo de complejidad indescriptible. Estamos llegando a un punto de inflexión en la complejidad global que los humanos (incluso en grupo) ya no pueden captar, y mucho menos dominar, para conceptualizar soluciones digitales. Este es un terreno favorable para el despliegue de estos universos Low Code/No Code.


Por último, es necesario analizar los usos de la aplicación. Las aplicaciones empresariales evocan generalmente soluciones como CRM o ERP. Sin embargo, estos sistemas representan sólo una pequeña parte del ecosistema digital con el que los empleados interactúan a diario. De hecho, utilizan docenas de aplicaciones diseñadas para satisfacer casos de uso específicos. Por ejemplo, los profesionales del marketing utilizan muchas herramientas para hacer un seguimiento de sus clientes, automatizar el marketing por correo electrónico, realizar análisis de datos e informes, gestionar la planificación de las redes sociales, hacer un seguimiento de las rutas de los contenidos, gestionar campañas y eventos, y mucho más. Cada una de estas herramientas plantea sus propios problemas: coste, requisitos de formación, seguridad, adopción de usuarios, administración de TI. Según el informe "Tendencias SaaS 2019" de Blissfully [12]un empleado utiliza una media de ocho aplicaciones al día. Las organizaciones con entre 500 y 1.000 empleados utilizan una media de 151 aplicaciones, y esta cifra se eleva a 203 aplicaciones en el caso de las empresas con más de 1.000 empleados. Esta es una de las razones por las que las herramientas Low Code/No Code se han convertido en una baza importante. Cada vez que se necesitan nuevas aplicaciones, las empresas pueden desarrollar internamente soluciones altamente personalizadas, escalables, seguras y rentables.

El crecimiento de la demanda de herramientas específicas, la escasez de desarrolladores, la creciente madurez de las tecnologías y la racionalización de las normas de desarrollo justifican la aparición de enfoques LCNC en 2020.

El LCNC puede abarcar ahora un gran número de desarrollos de servicios de software. Y esta tendencia seguirá creciendo, en particular gracias a las posibilidades que ofrece la IA.

Manifiesto Low-Code

El marco general del "contrato" del movimiento LCNC se establece en el "Manifiesto de Bajo Código".[13] que establece las siguientes 9 reglas o principios fundamentales del movimiento Low Code :

Aunque los principios (en verde) Basado en la nube, Comunidad, Gobernanza y control, Innovación, Apertura, Agilidad y Multiusuarios están totalmente alineados con los estándares del desarrollo de software "moderno", los dos primeros principios son los verdaderos diferenciadores del LCNC que detallamos a continuación.

Ingeniería basada en modelos (Model Driven Development)

La Ingeniería Orientada a Modelos (MDE) surgió como una extensión del enfoque "todo-objeto" introducido por la Programación Orientada a Objetos (POO) en la década de 1980. La POO propugnaba el uso del objeto como abstracción que representaba conceptos del mundo real. El objeto se utilizaba como una abstracción que encapsulaba los datos y el procesamiento específicos de un concepto, facilitando así la separación de conceptos. Sin embargo, este enfoque requería un paso de modelado que era esencial para el diseño de abstracciones relevantes.
La Ingeniería Dirigida por Modelos (Model-Driven Engineering, MDE), ha permitido así varias mejoras significativas en el desarrollo de sistemas complejos a partir de esta base de objetos. Valora el hecho de centrarse en una preocupación más abstracta que la programación clásica. Se trata de una forma de ingeniería generativa en la que toda o parte de una aplicación se genera a partir de modelos, siendo ellos mismos consecuencia de modelos de nivel superior o metamodelos. Un modelo es una abstracción, una simplificación de un sistema que basta para comprender el funcionamiento del sistema modelado y responder a las preguntas que uno se hace sobre él. Un sistema puede describirse mediante distintos modelos interrelacionados. La idea central es utilizar tantos Lenguajes de Modelado Específicos de Dominio (DSML) como requieran los aspectos cronológicos o tecnológicos del desarrollo del sistema. La definición de estos DSML, denominada metamodelado, es, por tanto, una cuestión clave en esta nueva ingeniería.

El metamodelo es, por tanto, comparable a la gramática de un lenguaje de programación en el sentido de que sirve para describir un conjunto de modelos correctos. Así, al igual que es posible considerar todas las palabras y frases aceptadas por un lenguaje, es posible considerar todos los modelos conformes a un metamodelo. Estos modelos forman parte de lo que se denomina un espacio de modelos que incorpora un grafo. Este último está compuesto por un conjunto de modelos (nodos) y un conjunto de actualizaciones o deltas (arcos) que enlazan los modelos. Al igual que la sintaxis de un lenguaje no basta para construir programas correctos, la conformidad de un modelo no suele bastar para calificarlo de válido. Es la semántica de un lenguaje de programación la que determina si un programa sintácticamente correcto es ejecutable. Del mismo modo, se necesita un mecanismo para especificar cuáles de todos los modelos posibles son válidos [14].


Otra cuestión importante es la de la transformación de modelos [15]. Es esencial para que los modelos sean operativos para la generación de código, la documentación y las pruebas, así como para su validación, verificación y ejecución. Es posible esquematizar la cadena de diseño como una serie de transformaciones escalonadas que refinan los modelos desde lo abstracto hasta la generación de código. Estas transformaciones utilizan principalmente herramientas dedicadas a la transformación de modelos que especifican las transformaciones mediante un conjunto de relaciones expresadas en un lenguaje. A pesar de la diversidad de estas herramientas, el OCL (Object Constraint Language) ha surgido como el componente común de todos los enfoques.


El enfoque de ingeniería basada en modelos es el núcleo de las soluciones OCL. Aunque los enfoques LCNC no requieren conocimientos de programación, sí exigen una comprensión básica de la sintaxis y las herramientas que ofrecen. Por tanto, la curva de aprendizaje no es nula. De hecho, el creador de un software Low Code/No Code no desarrolla, sino que construye el modelo de su aplicación. Este último se interpreta o compila generalmente para generar el código fuente que permitirá realmente ejecutar el software.

No se equivoque, las soluciones Low Code/No Code sólo enmascaran el código fuente, que se produce indirectamente.

Colaboración y multidisciplinariedad

La colaboración entre las diferentes partes interesadas de la empresa es esencial, ya que los silos están desapareciendo y, en el futuro, un responsable de marketing podrá producir funcionalidades (en teoría) [16]. El manejo de una herramienta de creación de software sigue siendo un objetivo científico de larga data que se manifiesta bajo el nombre de End-User Développement, una disciplina por derecho propio en la encrucijada del modelado, la ergonomía del software y el diseño [17]-[19].

De hecho, el entorno de desarrollo visual de una plataforma LCNC está especialmente diseñado para resolver los problemas de comunicación y reforzar así la colaboración entre los miembros del equipo, independientemente de su campo de especialización o perspicacia técnica. Con un lenguaje visual y una iconografía sólidos, todos pueden visualizar el problema que hay que resolver, la necesidad que hay que abordar y las herramientas y recursos disponibles para construir una solución. El lenguaje visual es la lingua franca de todo el ciclo de vida, desde la definición del problema y la exploración de la solución hasta la creación, prueba e implantación de la aplicación.

Al trabajar con un lenguaje visual común, los colaboradores pueden compartir una pantalla para probar ideas, intentar resolver dificultades o perfeccionar una interfaz. Todas las partes pueden entender los matices de la discusión y hacer aportaciones significativas porque lo ven todo ante sus ojos. No hace falta interpretar código ni traducir PowerPoint.

Dado que la curva de aprendizaje del lenguaje visual es teóricamente corta, los miembros del equipo se sienten rápidamente capacitados para contribuir a aspectos del desarrollo de aplicaciones que quedan fuera de sus competencias básicas. Un analista de negocio o un ingeniero de producto, por ejemplo, pueden crear ellos mismos una aplicación o añadir, sustraer o reorganizar los componentes que la componen. Por el contrario, un desarrollador experimentado puede aportar una nueva mirada a un proceso de negocio o a un esquema de interacción con el cliente y aportar ideas innovadoras para optimizar la eficiencia o la experiencia del usuario con el fin de crear un mayor impacto empresarial. Además, todo sucede en tiempo real en un entorno verdaderamente abierto y colaborativo.

Cuando vendedores y desarrolladores hablan el mismo idioma, gracias al modelo visual, no es necesario traducir, todos entienden los problemas a medida que se presentan y las soluciones a medida que evolucionan, las iteraciones son rápidas y todos siguen implicados en un proceso claramente definido desde el principio del proyecto.

Limitaciones importantes

Por supuesto, el movimiento LCNC tampoco ofrece una solución ideal para todos los casos, y existen muchas limitaciones en la actualidad. Las principales limitaciones actuales son las siguientes:

  • Algunas plataformas permiten integración de las herramientas existentespero estas opciones suelen ser mínimoy pocos entornos las ofrecen. Se trata, por tanto, de una limitación técnica importante.
  • Para utilizar una plataforma Low/No-Code, hay que cuestionarse el propiedad intelectual de la software creado. Con las plataformas actuales, a menudo sólo disponemos de un derecho de uso. Para los editores de software, se trata de una limitación difícil de aceptar.
  • En caso de cambio de herramienta, la migración a otro sistema de Bajo/Ningún Código es muy difícil (o incluso imposible). Lo que se cree con este tipo de solución sólo será exportable y transferible a otro lugar de forma muy parcial, ya que hasta la fecha no existe ninguna norma LCNC.
  • La posibilidad de editar el código fuente y añadir funcionalidades que parezcan necesarias es muy a menudo imposible.

Estos entornos son muy similares a los Ingeniería de software asistida por ordenador (CASE) de los años 80-90 (Access, PowerBuilder, Clarion, WinDev). La libertad para crear y aumentar la productividad tiene como precio la dependencia de un medio ambiente con todas las desventajas ya conocidas de los CASE.

Además, el éxito de este entorno también se explica por la madurez de las ofertas de alojamiento en la nube, especialmente "Platform as a Service" (PaaS). Además, las plataformas no code / low code se benefician en gran medida de la tendencia a abrir numerosas aplicaciones web a entornos de terceros, facilitada por las interfaces de programación de aplicaciones (API) que ponen a disposición de todos. De este modo, y a través de la "consumerización" de sus servicios, estas plataformas participan en la transformación de la gestión de los procesos empresariales y de los flujos documentales.

Figura 2. Un ejemplo de la plataforma LCNC de Convertigo Studio que ilustra la creación de una aplicación móvil. (Nótese que este entorno no es ni más ni menos que un derivado de Eclipse, el histórico entorno de desarrollo para JAVA).

Según Alain Faure y Laurent Sollier, del gabinete de arquitectura informática Octo Technology, "la presión inducida por la digitalización de las actividades empuja a las empresas a borrar la división que durante tanto tiempo se ha hecho entre servicios informáticos y servicios a las empresas". Sin embargo, aunque el mercado y la demanda crezcan con fuerza, un buen número de empresas seguirán enfrentándose a problemas que no encontrarán respuestas estandarizadas y que requerirán un desarrollo informático en sentido estricto. "Hace veinte años, los sistemas empresariales eran implantados por cientos de consultores y expertos con un coste de varios millones de dólares", explica Simon Chan, fundador y CEO de DigiVue Consulting. "Hoy en día, gracias al no code / low code, los mismos sistemas pueden ser implantados por actores más pequeños a una fracción del coste y en un tiempo mucho más reducido".

Los entornos LCNC son muy similares a los CASE de los años 80 y 90. La libertad para crear y aumentar la productividad tiene el precio de la dependencia de un entorno específico.

LCNC: ¿amenaza u oportunidad para los editores de software?

Bonitasoft, Appian, Pega y Salesforce a través de Einstein Automatizar unen sus fuerzas para ofrecer soluciones de diseño de aplicaciones críticas que exploten la hiperautomatización. Se trata de la siguiente fase de la automatización, basada en el uso de nuevas tecnologías como la inteligencia artificial, la RPA [20] y el aprendizaje automático para robotizar procesos. En algunos casos, puede implicar la creación de un gemelo digital para visualizar cómo interactúan las funciones, los procesos y los indicadores de rendimiento para generar valor.

Entre las herramientas que avanzan, el software inteligente de gestión empresarial está ganando popularidad. Parece que para 2025-2030 será necesario "construir tantas aplicaciones como en los últimos 40 años" (Cita del CEO de Appian Technology). Para superar esta dificultad, muchas empresas están favoreciendo la "robotización" de los procesos de desarrollo de software con el fin de concentrar a los promotores existentes en tareas de creación de valor empresarial y funcional mucho más productivas.

En este contexto, actores como Mendix (propiedad de Siemens) y OutSystems (un actor importante en Volkswagen, Mercedes-Benz, Schneider Electric, Honda, Intel, HPE) se dirigen principalmente a los fabricantes para ofrecerles una producción ad hoc enfoque. A largo plazo, este movimiento cortocircuitará a los editores de software.. Si esta tendencia se confirma, es bastante lógico y concebible que este proceso continúe para un gran número de ámbitos de edición de programas informáticos, y más concretamente para sectores como la gestión.

Los proveedores de soluciones LCNC se dirigen prioritariamente a los fabricantes para ofrecerles un enfoque que les permita producir ellos mismos sus soluciones informáticas. Los especialistas financieros y de seguros ya han iniciado esta transformación.

Si esta tendencia se confirma, este movimiento de cortocircuito acabará afectando a un gran número de ámbitos de la edición de programas informáticos y, más concretamente, a secciones enteras del sector de la gestión.

A día de hoy, los especialistas en finanzas y seguros parecen ser realmente dominar estas plataformas. Los grupos de distribución empiezan a adoptar este concepto, como Cdiscount, que ha aprovechado el despliegue de su CRM Pegasystems para crear aplicaciones asociadas utilizando los ladrillos del editor. Otro ejemplo clásico que se menciona a menudo se refiere a los equipos de RRHH que, para acoger a un empleado, deben recopilar información de varias fuentes e introducirla después en una o varias aplicaciones para crear los accesos del empleado, preparar su visita médica, enviarle su carta de bienvenida, ponerle en contacto con varios departamentos de la empresa o enviar información al servicio de gestión de nóminas. Un robot puede hacer todas estas tareas administrativas y repetitivas y una plataforma LCNC abre la posibilidad de personalizar esta tarea de principio a fin para cada empresa a un coste menor.

Específicamente para los sectores de software con un alto contenido empresarial o normativo, el rapidísimo y constante progreso de las técnicas de procesamiento automático del lenguaje natural (PLN) combinará inexorablemente con el movimiento CNCL. De hecho, la hiperautomatización se aplicará a la integración masiva de corpus textuales, que ya están ampliamente disponibles en formatos digitales directamente accesibles a las máquinas. La unión de los dos movimientos abrirá una brecha en muchas de las áreas "protegidas" de la publicación de software hasta la fecha.

Por el momento, podemos constatar que la utilización de estas plataformas LCNC a gran escala requiere no sólo desplegarlas, sino también construir toda una metodología. Para ello será necesario formar a desarrolladores experimentados y mucho más expertos, capaces de poner en marcha estas "nuevas fábricas de desarrollo".

Soluciones y tendencias del mercado

Las principales tendencias del mercado son las siguientes:

La "Guía para evaluar las tecnologías de desarrollo sin código" de Gartner, publicada en febrero de 2019, predice que "para 2024, más de 65% del software mundial que entrará en producción se creará utilizando plataformas de configuración sin código".
En 2020, la mitad de los desarrolladores planean utilizar una plataforma Low Code (Gartner 2019)
En 2024, 75% de las grandes empresas utilizarán al menos cuatro plataformas Low Code para el desarrollo de aplicaciones informáticas (Gartner 2019)
Forrester predice que el mercado de plataformas de desarrollo sin código crecerá de $3.800 millones en 2017 a $54.000 millones en 2024.

Editoriales de renombre confían desde hace años en la aportación de plataformas de desarrollo que reduzcan la creciente complejidad inherente a la codificación. Históricamente, las primeras herramientas LCNC (Low Code/No Code) se dirigían sobre todo a los arquitectos de aplicaciones. Su principal objetivo era simplificar el trabajo de los desarrolladores mediante interfaces y lenguajes de programación declarativos.
Sin embargo, estas herramientas se han hecho cada vez más populares entre actores como Pegasystems, Mendix, Appian y Salesforce. Por ejemplo, SalesForce ofrece en la nueva versión de su CRM una herramienta No Code llamada FlowBuilder [21]. FlowBuilder permite crear, desplegar y ejecutar procesos de forma gráfica. Esta configuración, históricamente reservada a expertos en software y/o desarrolladores, es ahora totalmente accesible para perfiles no técnicos como los de recursos humanos, marketing y ventas.

Figura 3. Ilustración de la interfaz de FlowBuilder para crear procesos para Salesforce CRM

En términos más generales, las startups y los especialistas en modelado de procesos empresariales (BPM) han simplificado sus productos para ofrecer entornos similares sin código. Al CMS WordPress, disponible desde 2003, le han seguido Shopify, Zapier, Airtable, Notion, Bubble o Coda.

A pesar de esta moda, el concepto de bajo código no encontró finalmente un nombre hasta 2014 en los artículos de los analistas de Forrester. Fue más o menos en la misma época cuando la noción de "desarrollador ciudadano", imaginada en 2009 por Gartner, empezó a cobrar sentido. Las dos consultoras percibieron varios fenómenos. Por un lado, los desarrolladores formados en lenguajes de programación de cuarta generación empezaban a utilizar entornos visuales para construir su software. Por otro lado, los empleados deseosos de construir herramientas de negocio han asimilado a veces estos lenguajes y han encontrado su felicidad en esta UI (Interfaz de Usuario). La falta de programadores, la lentitud de las evoluciones o desarrollos y la creciente necesidad de un diseño ágil de las aplicaciones garantizan ahora el éxito del enfoque LCNC.

Aunque los principios de la LCNC existen desde hace mucho tiempo, la tendencia se afianzó realmente a partir de 2010 y ahora se está generalizando.

Existe un gran número de entornos LCNC comerciales y de código abierto, incluidos 2 universos franceses.

Una primera observación rápida es que en el mercado hay muchas soluciones denominadas LCNC. No obstante, como se muestra en el mapa siguiente, es importante distinguir entre las soluciones que permiten construir un producto en su totalidad (Product Builders) y los componentes genéricos (Base Blocks), que son componentes de un sistema de información que pueden configurarse en Low Code/No Code.

Figura 4. Mapa de las soluciones existentes en el mercado de LCNC

Las plataformas de aplicaciones proporcionan entornos de ejecución para la lógica de las aplicaciones. Gestionan el ciclo de vida de una aplicación o componente de aplicación y garantizan la disponibilidad, fiabilidad, escalabilidad, seguridad y supervisión de la lógica de aplicación.

En 2020, los actores más mencionados en este ámbito son los siguientes:

Una plataforma de aplicaciones de bajo código (LCAP) es una plataforma de aplicaciones que admite el rápido desarrollo, despliegue, ejecución y gestión de aplicaciones en un solo paso utilizando abstracciones de programación declarativas de alto nivel, como los lenguajes de programación basados en modelos y metadatos. También admiten el desarrollo de interfaces de usuario, lógica empresarial y servicios de datos, y mejoran la productividad a expensas de la portabilidad entre proveedores, en comparación con las plataformas de aplicaciones convencionales. Gartner considera que las plataformas de aplicaciones sin código forman parte del mercado LCAP [22].

Soluciones para empresas

Sin entrar en los detalles precisos que componen muchos entornos comerciales, es posible describir las características de algunos de los más reconocidos:

  • Salesforce - Lightning. La solución aPaaS de Salesforce, denominada App Cloud, es un conjunto de herramientas que incluye la plataforma de creación de aplicaciones propiedad de Force.com y la plataforma de creación de aplicaciones propiedad de Heroku. Mientras que Force.com opera en los centros de datos de Salesforce, la de Heroku está alojada en AWS. Se ha desarrollado una pasarela, Heroku Connect, para garantizar la sincronización de datos entre Heroku y Force.com. Esto ilustra a la perfección la "consumerización" y la estación de plataforma de las soluciones. Fue en 2015 con Lightning cuando Salesforce entró de verdad en el mundo del bajo código. Inaugurando una revisión gráfica de la oferta SaaS de Salesforce, Lightning introdujo sobre todo una forma diferente de programar, evolucionando Visualforce, la UI de Salesforce, así como Force.com y su lenguaje propietario (Apex), fuertemente inspirado en Java. Sus módulos Process Builder y Visual Workflow permiten a Lightning instanciar ladrillos de negocio y ensamblarlos en un flujo de trabajo. El usuario puede utilizar componentes preintegrados de Salesforce o los proporcionados por terceros a través del mercado AppExchange. Los ladrillos SaaS pueden configurarse en un 80 o 90 por ciento sin código. Sin embargo, para la implementación de reglas de negocio complejas y específicas, se requiere código y Force.com.
  • Appian - Aplicaciones rápidas. Esta empresa, creada en 1991, se encuentra en una encrucijada con respecto a sus competidores. Es conocida principalmente por sus soluciones de gestión de procesos empresariales (BPM) y de gestión de casos. Ha extendido su experiencia al código bajo de una forma bastante natural. Laurent Chailley, Director Comercial de Appian en Francia, considera que la experiencia de estas dos actividades "históricas" (automatización de procesos y gestión de datos) permite a Appian industrializar y desplegar de forma segura una aplicación a escala de un grupo internacional. Appian concentra su I+D en Restone, Virginia, y tiene como clientes a Sanofi y BNP Paribas. Appian promete crear aplicaciones en 15 minutos. En noviembre de 2020, la empresa lanzó la tercera versión de Quick Apps Designer, una herramienta de diseño gráfico que no requiere conocimientos técnicos. Guía al usuario a través de los principales pasos para implementar una aplicación (gestión de datos, formularios, procesos...). El editor ofrece varias soluciones: modo on-premise, híbrido o en la nube pública. Esta última opción utiliza la infraestructura de AWS.
  • Mendix. Fundada en 2005 en los Países Bajos, Mendix se ha trasladado ahora a Boston (EE.UU.). El editor ofrece una herramienta de modelado basada en un entorno de desarrollo visual. Afirma contar con más de 3.400 organizaciones clientes en todo el mundo, pero no especifica la proporción de usuarios de su versión gratuita. La última versión de Mendix se centra en el desarrollo rápido de aplicaciones inteligentes para el IoT ofreciendo conectores listos para usar con AWS IoT, IBM Watson y LoRaWAN. Las aplicaciones creadas con Mendix pueden desplegarse en infraestructuras de AWS, IBM Bluemix o Microsoft Azure. El uso de las tecnologías Cloud Foundry y Docker garantiza su portabilidad a todo tipo de Nubes, ya sean públicas, privadas o híbridas. Mendix ofrece una tienda de aplicaciones bastante rica con cientos de componentes y aplicaciones listas para usar.
  • OutSystems. La empresa nació en Portugal en 2001 y desde entonces ha emigrado a Estados Unidos, concretamente a Atlanta. El editor es, como Mendix, lo que llamamos un pure player. Su PaaS habría permitido el rápido desarrollo de más de 100.000 aplicaciones en todo el mundo. Su plataforma, basada en un modelo de metadatos, genera automáticamente código Java o .Net arrastrando y soltando componentes. La aplicación web o móvil así creada puede completarse con código escrito en C#, Java, JavaScript, SQL, CSS o HTML. Una vez finalizado el desarrollo, la aplicación puede desplegarse en una nube (privada, pública o híbrida) o en un servidor interno (on-premise). La biblioteca OutSystems Forge ofrece conectores para servicios en la nube populares como Zendesk o Twilio. OutSystems es miembro del CISQ (Consorcio para la Calidad del Software). GFI ha adquirido recientemente Roff, integrador especializado de OutSystems.
  • ServiceNow - Desarrollo de aplicaciones. Como especialista en procesos empresariales, esta empresa se interesó naturalmente por el código bajo, ampliando así su objetivo histórico (los departamentos informáticos) a la gestión empresarial. Su portal de servicios, Application Development, permite, entre otras cosas, y a través de un entorno de desarrollo propio (Studio), crear una aplicación web o móvil utilizando un conjunto de componentes y plantillas predefinidos. El Studio ofrece funcionalidades de tipo flujo de trabajo que permiten integrar sistemas y formularios existentes. A continuación, la aplicación puede desplegarse mediante el PaaS de ServiceNow. El editor ofrece una serie de API y herramientas de integración. En 2015, lanzó su tienda CreateNow, así como un programa para desarrolladores dirigido tanto a programadores experimentados como a entusiastas del código bajo.
  • Microsoft - Plataforma Power. La ambición de Power Platform es ofrecer un conjunto integrado de herramientas que permita a las empresas desarrollar aplicaciones de la A a la Z sin tener que pasar por TI. Microsoft reúne en esta plataforma tres ofertas preexistentes: Power BI, PowerApps y Flow. PowerApps es un entorno de desarrollo de bajo código para diseñar aplicaciones web o móviles sin conocimientos de programación a través de una interfaz gráfica 100% al tiempo que se integra con software y fuentes de datos de terceros. Flow se considera una herramienta RPA (automatización robótica de procesos) para diseñar, desplegar y orquestar procesos empresariales. El punto fuerte de Power Platform es claramente el "bouquet" de unos 250 conectores que cubren tanto software de Microsoft (Office 365, Dynamics 365) como de terceros (Adobe, GitHub, Salesforce, ServiceNow, Slack, Zendesk...). Se trata de un paso decisivo dado por Microsoft en materia de ofimática y espacios de trabajo colaborativos integrados.
  • Amazon Honeycode. Honeycode es la nueva (junio de 2020) solución de desarrollo de aplicaciones de bajo (o ningún) código de AWS para contrarrestar Google Cloud y Microsoft Azure. Honeycode es un modelo de hoja de cálculo asistido por plantillas y muchas funciones integradas. Los clientes pueden utilizar un sencillo asistente visual para crear aplicaciones web y móviles altamente interactivas utilizando una potente base de datos construida por AWS. Esta base de datos permite tareas como el seguimiento de datos a lo largo del tiempo, la notificación de cambios, el enrutamiento de aprobaciones y la facilitación de procesos empresariales interactivos. La complejidad de las aplicaciones varía desde una aplicación de seguimiento de tareas para un equipo pequeño hasta un sistema de gestión de proyectos que administra un flujo de trabajo complejo para varios equipos o departamentos.

Soluciones de código abierto

Es perfectamente posible producir una plataforma LCNC explotando tecnologías de código abierto relativamente completas. Podría muy bien crearse un "taller" de producción con los siguientes elementos:

  • Acceleo es un generador de código abierto para Eclipse utilizado para generar lenguajes textuales (Java, PHP, Python, Javascript) a partir de modelos EMF (Eclipse Modeling Framework) extraídos de metamodelos como SysML o UML).
  • Actifsource es un plugin de Eclipse que permite la generación de código mediante plantillas gráficas y el uso de métodos de creación de plantillas.
  • Reingeniería del software DMS Conjunto de herramientas que permite definir DSL (lenguajes específicos de dominio) que sirven como plantillas de alto nivel para la traducción en todos los lenguajes de texto.
  • GeneXus es una plataforma multiplataforma de generación de código basada en representaciones del conocimiento orientada principalmente a la creación de software de gestión. Su uso se basa en descripciones en un lenguaje declarativo con generación de programación multilenguaje.
  • OpenXava es una plataforma de código abierto de bajo coste que permite generar completas aplicaciones de gestión en Java.
  • OSBP es una factoría de software proporcionada en código abierto por la Fundación Eclipse. Este entorno combina Low Code y No-Code con las herramientas de desarrollo clásicas. La codificación se sustituye por el uso de un modelo descriptivo.
  • Primavera Roo es un marco de generación de código Java de código abierto para abordar las consideraciones del lado del servidor, en particular para separar diferentes capas de software.
  • SUBE es un paquete gratuito de software de modelado y generación de código para aspectos de bases de datos y persistencia.
  • Wavemaker es una plataforma Low Code que permite la producción de grandes áreas de aplicaciones empresariales del lado del servidor mediante la generación de código basado en gran medida en los estándares del mercado (Angular, Typescript, Java).
  • Objetos generativos. Se trata de una alternativa de código abierto para garantizar la democratización del acceso al low-code a través de una plataforma GO-Low-code.
  • Burbuja. Bubble Group fue fundado en 2012 por Emmanuel Straschnov y Joshua Haas en Nueva York. Para los dos fundadores, si la codificación es esencialmente similar a la antigua composición tipográfica, entonces Bubble es el procesador de textos para escribir aplicaciones. Es una plataforma para crear aplicaciones web para ordenadores o smartphones, sin escribir una sola línea de código. Si el uso del software en línea es gratuito, el alojamiento en la nube de la aplicación se paga, en forma de cuota mensual.
  • Convertigo. Es uno de los pocos actores franceses del Low Code con dimensión internacional. Su particularidad consiste en promover el Low Code de código abierto y apoyarse en los estándares del mercado para reducir al máximo las adherencias técnicas. Convertigo es también un actor del No Code en un mercado en pleno crecimiento. Hemos hecho algunas preguntas a Olivier Picciotto.

Algunas anécdotas notables

Unqork

La ciudad de Nueva York utilizó una plataforma sin código para implantar rápidamente un nuevo portal web anti-Covid. Para conseguirlo con gran rapidez, la ciudad utilizó el entorno LCNC de Unqork. "Ya no hay un ejército de ingenieros", afirma Gary Hoberman, fundador de Unqork, que trabajó con el Departamento de Tecnologías de la Información y Telecomunicaciones de Nueva York para poner en marcha el nuevo portal. Los funcionarios están utilizando el sitio web para tratar de recabar información sobre los lugares donde las personas con síntomas de la enfermedad han podido entrar en contacto con otras.

La plataforma Unqork ofrece a los clientes la posibilidad de diseñar rápidamente aplicaciones web configurando varios conjuntos de datos y widgets mediante una interfaz visual, en lugar de generar código. Hoberman considera que su equipo crea "bloques de Lego" genéricos que una empresa o un gobierno pueden personalizar para adaptarlos a sus objetivos. La ciudad de Nueva York había utilizado Unqork para desarrollar otras aplicaciones, entre ellas un servicio de reparto de comida mediante el cual la ciudad contrata a conductores de taxis y limusinas para que lleven comidas a personas que no pueden salir de casa y no pueden permitirse las entregas de tiendas de comestibles o restaurantes. El Banco de Alimentos de Nueva York, una organización sin ánimo de lucro, calcula que aproximadamente 1,2 millones de neoyorquinos padecen inseguridad alimentaria. También hay un portal web para donaciones de material médico, como respiradores o equipos de protección individual, ya que los hospitales de la ciudad están desbordados.

En octubre de 2020, Unqork también obtuvo $207 millones en financiación de serie C, lo que elevó el valor de la empresa a $2 mil millones. La ronda fue liderada por fondos y cuentas gestionados por BlackRock y a ella se sumaron Eldridge, Fin Venture Capital, Hewlett Packard Enterprise, Schonfeld Strategic Advisors y Sunley House Capital Management, filial de Advent International. También participan inversores ya existentes, como CapitalG, el fondo de crecimiento independiente de Alphabet, Goldman Sachs, Broadridge Financial Solutions, Aquiline Technology Growth y World Innovation Lab (WiL). La empresa utilizará la nueva financiación para seguir ejecutando una serie de iniciativas en curso, como la ampliación de su fuerza de ventas mundial, una mayor inversión en tecnología, formación y asociaciones de salida al mercado con las principales empresas de servicios e integradores de sistemas del mundo, como Capco, Cognizant, Deloitte, EY, KPMG y Virtusa.
Unqork ha sido adoptado por organizaciones líderes en servicios financieros, seguros, servicios públicos, sanidad y otros sectores. Entre sus clientes figuran Aon plc, District of Columbia, Goldman Sachs, Liberty Mutual, Montgomery County, New York, Nippon Life, Pacific Life, Rethink Food, Vault, etc.

Burbuja

Crear una start-up implica contratar ingenieros que construyan la arquitectura tecnológica de la plataforma deseada. La contratación de este tipo de perfiles puede convertirse rápidamente en un quebradero de cabeza porque resulta cara y difícil ante la fuerte demanda del mercado. En este contexto, también es posible programar uno mismo, pero hay que aprender a codificar. Este proceso de aprendizaje puede convertirse rápidamente en tedioso, hasta el punto de hacer que algunos emprendedores tiren la toalla. Por ello, la start-up neoyorquina Bubble se ha propuesto simplificar las tareas tecnológicas de los emprendedores. Fundada en 2012, la empresa se autofinanciaba anteriormente, pero tras siete años de existencia, ahora pretende subir una marcha para ofrecer su tecnología al mayor número de personas posible.

En junio de 2019, la startup estadounidense anunció una primera ronda de financiación de 6,25 millones de dólares del fondo californiano SignalFire (Uber, Lime). En la operación también participaron business angels como Ali Partovi, inversor en Airbnb, Facebook y Dropbox, a través de Neo Ventures, y Farzad "Fuzzy" Khosrowshahi, creador de Google Sheets, ambos primos del jefe de Uber, Dara Khosrowshahi, así como Frederic Kerrest, fundador de Okta, y el cantante Nas.

Lanzada por Josh Haas y Emmanuel Straschnov, Bubble es una plataforma que facilita la creación de un sitio web o una aplicación móvil sin tener que aprender a codificar ni recurrir a un desarrollador. Concretamente, la interfaz gráfica permite a los emprendedores programar visualmente la solución de software que desean construir liberándose de las limitaciones de la codificación informática. En efecto, el usuario tiene acceso a una biblioteca de ladrillos de elementos y acciones que puede combinar visualmente para construir su sitio de forma fácil y rápida. Bubble permite programar el equivalente de una red social como Twitter o un mercado como Airbnb en una semana de trabajo.
Bubble presume de tener más de 270.000 usuarios que han creado más de 230.000 aplicaciones y facturó 2 millones de dólares en 2018.

Zapier

¿Cómo aumentar las ventas durante la aburrida y gris estación invernal? Una buena estrategia consiste en motivar a los compradores con mensajes contextuales personalizados. Cuando hace frío en invierno, se pueden utilizar campañas basadas en el tiempo para motivar a los clientes a gastar mediante herramientas como un código de cupón, gastos de envío gratuitos, una tarjeta regalo o incluso puntos de fidelidad adicionales obtenidos tras realizar un pedido. El reto consiste en dirigirse únicamente a los clientes cuyas previsiones meteorológicas cumplan determinadas condiciones... Es comprensible que lanzar una campaña de este tipo basada en el tiempo pueda parecer complicado y laborioso, lo cual es antitético a reaccionar rápidamente ante las condiciones meteorológicas.

Voucherify, empresa especializada en la gestión de herramientas de fidelización, ¡promueve el "marketing meteorológico"! Este enfoque explota una potente capacidad de automatización para analizar datos meteorológicos en tiempo real con el fin de activar anuncios y personalizar los mensajes de marketing en función del tiempo local. La empresa se ha centrado en escenarios que pueden configurarse en cuestión de días para permitir un uso lo más cercano posible a los cambios estacionales. Para establecer una experiencia y configurar campañas de fidelización (cupones, tarjetas regalo) basadas en el tiempo global y local, utilizando poco o ningún código, se basó en el uso de cinco plataformas API-first. En cada caso, la implantación sólo llevó unas horas, incluida la fase de ideación.
Un ejemplo es la campaña promocional de una cafetería de Berlín. Al principio de la temporada de invierno, los usuarios reciben por SMS dos códigos promocionales que sólo pueden utilizar si nieva (el primer código está activo si la temperatura es superior a -15 °C, el segundo si la temperatura es inferior a -15 °C). Los cupones se desactivan o activan automáticamente todos los días, en función de la previsión meteorológica para Berlín. Esta comprobación se realiza todos los días a las 7 de la mañana a través de la automatización Zapier. Los cupones solo pueden utilizarse una vez por cliente. La arquitectura general de la aplicación es la siguiente:

La plataforma Zapier Low Code combinada con las plataformas API (Twilio, AerisWeather) permite crear y adaptar muy rápidamente (de un día para otro) las funcionalidades de una aplicación de este tipo, probarla y, sobre todo, personalizarla al extremo para un caso de uso muy preciso.

Objetos generativos

Este proyecto demostró el poder de la Francés solución Objeto Generativo. La herramienta LCNC de Objetos Generativos permitió construir una solución de gestión de archivos de legados, seguros de vida y donaciones.

Figura 5. Una captura de pantalla de la solución de gestión construida en Low-Code con Objetos Generativos.

El producto ofrece una base de datos, alertas, entrada de datos fiable y estandarizada, cálculos automatizados, documentos automáticamente precumplimentados y configurables, imputación contable de ingresos y gastos, y cumplimiento del RGPD.
Con este ejemplo, Generative Objects demuestra que su solución permite construir aplicaciones de gestión que nada tienen que envidiar a las desarrolladas con métodos tradicionales.

LCNC en Berger-Levrault

Como hemos desarrollado a lo largo de este estudio, el enfoque LCNC no es nuevo, aunque ahora está emergiendo comercialmente. El LCNC deriva sus conceptos y tecnología de los generadores de código y los entornos de modelado. El Departamento de Investigación e Innovación Tecnológica lleva varios años utilizando soluciones de LCNC para un gran número de proyectos. He aquí algunos ejemplos:

  • Modelado y generación de código: Nuestros proyectos de migración semiautomatizada (GWT a Angular, PowerBuilder, Access) se basan en parsers y generadores de código, así como en técnicas de Model Driven Engineering que están en el corazón de las soluciones LCNC. Por ejemplo, utilizamos el Moose3 plataforma para analizar código existente, modelar un resultado esperado y generar el código relacionado.
  • Lenguaje gráfico para configurar un optimizador de planificación: Expresar las restricciones empresariales y las funciones de optimización para configurar un optimizador de planificación requiere grandes conocimientos de programación, pero también de matemáticas. Sin embargo, estos elementos dependen en gran medida de la actividad que se vaya a abordar, y muy a menudo los usuarios y los PO (propietarios de productos) tienen la capacidad de expresarlos en lenguaje natural. Para permitirles configurar un optimizador de planificación sin escribir código, hemos desarrollado una solución que utiliza un DSL (Lenguaje de Dominio Específico) gráfico.4) para generar las formulaciones matemáticas y el código necesario que luego se ejecutará en un solucionador. Este prototipo, que se ilustra a continuación, utiliza técnicas de Ingeniería Dirigida por Modelos, en particular a través de la aplicación ADOxx5 plataforma de metamodelado.

3.https://moosetechnology.org/
4.https://en.wikipedia.org/wiki/Domain-specific_language
5.https://www.adoxx.org/live/home

Figura 6. Izquierda: ejemplo de un DSL o Lenguaje Específico de Dominio creado específicamente para configurar algoritmos de optimización de la programación. En este caso, el DSL se utiliza para especificar las restricciones que deben tenerse en cuenta (columna de la derecha), describir los datos (en el mapa) y sus interacciones. A continuación, el DSL genera una formulación matemática intermedia (derecha) que se traduce en código fuente utilizado por un solucionador. La transición del entorno visual al matemático, pasando por el código fuente, se realiza mediante técnicas de Ingeniería Dirigida por Modelos (MDE) en el entorno ADOxx.

  • Generación de conectores de interoperabilidad: No hay nada más parecido que dos conectores de interoperabilidad. No obstante, para cada nueva necesidad de interoperabilidad de software es necesario desarrollar un conector que se adapte al formato del mensaje, al protocolo y a las restricciones de seguridad de cada parte. Actualmente estamos trabajando en una solución de bajo código para generar conectores de interoperabilidad utilizando técnicas de Ingeniería Dirigida por Modelos.
  • Conectores para la plataforma IoT: La plataforma IoT desarrollada por DRIT para CARL Software requiere actualizaciones lógicas y programáticas muy frecuentes. Esto se debe al contexto de los sensores sobre el terreno, que cambia regularmente. Para lograrlo, hemos desplegado una solución de bajo código denominada Node-Red, que permite cablear gráficamente un conjunto de periféricos de hardware, PLC y servicios en línea. Nodo-Rojo6 ofrece un editor basado en navegador que facilita el recableado de flujos de datos en caliente sin interrupción y en cuestión de segundos. Un buen ejemplo de interoperabilidad y procesamiento de datos plenamente operativos utilizando los principios de Low Code.

6.https://nodered.org/

Figura 7. Ilustración de la interfaz Low-Code Node-Red para nuestra plataforma IOT.
  • Automatización de los procesos contables: Recientemente hemos estado utilizando soluciones LCNC para configurar el comportamiento de un RPA. Esta solución nos permite automatizar el recuento de los saldos contables de nuestros productos de gestión financiera. Hemos experimentado con el uso de UIPath, una solución ABR que se basa en los principios de LCNC. Como se muestra en la Figura 8, el robot se configura gráficamente utilizando componentes predefinidos. Si es necesario, pueden añadirse componentes personalizados escribiendo código.
Figura 8. Ilustración de la configuración de nuestro Robot Contable en no-código gracias a UIPath. El comportamiento del robot se describe gráficamente encadenando acciones representadas en forma de casillas/flechas configurables.

Estos ejemplos y prototipos ponen en práctica tres aspectos:

  • La diversidad de soluciones LCNC que pueden utilizarse para algunos de nuestros problemas empresariales. Cada prototipo utiliza una solución LCNC diferente que satisface una necesidad concreta.
  • El importante papel de la Ingeniería Dirigida por Modelos, una ciencia explotada desde hace tiempo en sectores industriales críticos como la aeronáutica, el espacio y la automoción [23], [24].
  • El potencial de estas herramientas para volver a desarrollar/configurar rápidamente soluciones informáticas sin necesidad de desarrollo técnico ni conocimientos especializados.

Conclusiones

Contexto operativo e implicaciones

Las plataformas Low Code/No-Code siempre han existido y han "resuelto" en mayor o menor medida los problemas de la industrialización frente a la "complejidad" del momento. Los sistemas operativos han enmascarado los problemas del hardware, la nube ha resuelto el problema del alojamiento, los constructores de sitios han resuelto el problema de las páginas web, el compilador C ha resuelto el problema de generar código ensamblador, etc. Al final, el LCNC sigue estando 10 años por detrás de las necesidades de las empresas, es decir, sigue funcionando pero nunca alcanza las expectativas, a veces desproporcionadas, de la industria.

Al final, el LCNC sigue estando 10 años por detrás de las necesidades de la empresa, es decir, sigue funcionando pero nunca alcanza las expectativas, a veces desproporcionadas, de la industria.

Las técnicas de LCNC pueden ahora satisfacer progresivamente ciertas necesidades de los editores de software que crean aplicaciones. Es razonable creer que la edición de software experimentará, a su vez, una "industrialización" masiva al reposicionar el enfoque en :

  • Los usos, cada vez más numerosos,
  • Optimización, integrando sin duda consideraciones medioambientales,
  • Capacidad de respuesta, para adaptar las soluciones mucho más rápidamente a los cambios en curso,
  • La absorción de la complejidad, que poco a poco se escapa incluso de las mayores capacidades de los equipos.

Por lo tanto, es muy importante comprender la fuerte complementariedad que existe entre varios movimientos que están teniendo lugar simultáneamente en este momento en el sector del desarrollo de software :

  • La multitenencia. Desempeña un papel clave en la Cloudificación de las soluciones, ya que mejora significativamente la llamada elasticidad de las infraestructuras. Más sencillamente, la capacidad de absorber de forma transparente el aumento del número de usuarios (volumen de datos y transacciones de negocio combinados). Es fundamentalmente el modelado de datos y la organización arquitectónica lo que establece esta capacidad en las soluciones de software, pero esto se traduce en una transformación profunda y compleja de los métodos de producción y explotación de las soluciones.
  • Microservicios. Desempeñan un papel central en la difusión, actualización y adaptabilidad de las soluciones. Los microservicios instalan medios nativos en las aplicaciones para facilitar las estrategias CI/CD (Integración Continua / Entrega Continua). En términos sencillos, esto permite entregar funcionalidades, subfuncionalidades, actualizaciones de datos o resolución de problemas tecnológicos de forma industrial, (semi)automatizada y casi transparente para los usuarios. Se trata de una transformación radical que cambia la forma de diseñar nuestras soluciones y que afecta a las profesiones del diseño y la transformación funcional.
  • El Bajo Código/Sin Código. Este movimiento desplaza literalmente la cadena de valor hacia arriba y poco a poco pone las capacidades de producción industrializada y empaquetada en manos de expertos en marketing y negocios. Esto conduce a un doble movimiento. Por un lado, un movimiento horizontal que implica un aumento de las competencias y de las necesidades de flexibilidad de las profesiones del marketing de productos y de los expertos comerciales (incluidos los ingenieros de preventa o de ventas técnicas, por ejemplo). Por otro lado, la desposesión de los desarrolladores, cuya profesión se desplazará verticalmente hacia la arquitectura, los entornos complejos y los procesos de automatización, requiere muchas menos personas pero mucho más personal cualificado (expertos).
  • El IA-Code. Este último, que apareció hace 4 ó 5 años, aborda el núcleo empresarial y funcional de las aplicaciones informáticas. Las denominaciones de su uso son numerosas, como automatización de pruebas, análisis de código, ingeniería inversa, y de hecho oculta dominios que la investigación ha establecido hace más de 25 años. Sin embargo, la IA proporciona ahora los inicios de soluciones para problemas que han permanecido muy teóricos hasta hoy. Pronto, las "fábricas de software" permitirán recuperar los conocimientos empresariales contenidos en los programas informáticos para producir pruebas de forma automatizada, analizar sistemáticamente la producción (calidad, seguridad, protección de la vida privada) o capitalizar a alto nivel los conocimientos técnicos integrados en el código. Lo más importante es que la dimensión funcional y de negocio dejará de estar atrapada por la tecnología de bajo nivel (Java, PHP, HTML, etc.) y será accesible en lenguaje natural en modelos que podrán evolucionar, actualizarse y reutilizarse. La pregunta del mañana será: ¿hacia qué plataforma debo generar mi aplicación? ¿Cómo puedo expresar la evolución de mi negocio?

Es probable que la alineación de estas cuatro grandes evoluciones en los próximos 10 años trastorne totalmente el negocio del desarrollo de software. La tendencia a la industrialización masiva permitirá centrarse cada vez más en el "qué" (qué producir, qué servicios desarrollar) que en el "cómo" (qué tecnología, qué alojamiento).

Peligros de la automatización de la neutralidad

A pesar de la simplicidad de las plataformas de bajo código (y esto se aplica también a RPA), la mantenibilidad no está garantizada. Basado en componentes estándar, un entorno de desarrollo integrado permite diseñar aplicaciones y robots rápidamente, lo que puede hacer que se olvide la necesidad de un diseño meditado. Un diseño meditado es crucial para garantizar una buena capacidad de mantenimiento y evitar costes en cascada en el futuro.
Las aplicaciones de bajo código y los robots RPA dependen a menudo del entorno en el que se ejecutan. Basta una actualización de la herramienta (a menudo inevitable), la llegada de un nuevo producto o un acontecimiento excepcional para perturbar este entorno. Si no se puede reiniciar un robot o una aplicación que se está cayendo, todo un departamento puede verse penalizado.
Por otra parte, el poder de estas plataformas implica que deben utilizarse de forma responsable. Esto introduce aquí la noción de gobernanza. RPA y Low Code requieren un marco para definir las normas de desarrollo, evangelizar las buenas prácticas, verificar y validar los robots y las aplicaciones antes de que entren en producción para que no creen más problemas de los que resuelven.
Las grandes cuentas que automatizan un gran número de procesos robotizados ya han implantado este modelo de gobernanza. De hecho, la RPA está demostrando todo su potencial cuando se trata de escalar. El beneficio de los robots tomados colectivamente es mayor que la suma de sus valores individuales. Así, un cliente de Talan pudo, gracias a la implantación de un modelo de gobernanza, producir unos 200 robots en dos años con un coste de mantenimiento que sigue siendo insignificante hoy en día en comparación con el beneficio aportado por estos robots.
Esta gobernanza también debe evitar una automatización excesiva, que destruiría un gran número de puestos de trabajo, sobre todo en las funciones de back-office. Como en el campo de la inteligencia artificial, se trata en efecto de "aumentar" el número de empleados para liberarlos de tareas tediosas y darles herramientas cada vez más potentes para maximizar la productividad.
Entre el low code, el no code y la RPA, el matrimonio de la razón parece inevitable. Sin embargo, la experiencia ha demostrado que la gobernanza estratégica es la clave para reinventar la empresa y dar rienda suelta a la creatividad de los equipos.

Bibliografía

1] "Convertigo-White-paper-FR.pdf ". consultado el 24 de enero de 2021. [En ligne]. disponible en: https://www.convertigo.com/wp-content/uploads/2021/01/Convertigo-White-paper-FR.pdf.
[2] A. E. Bell, " Death by UML Fever : L'autodiagnostic et le traitement précoce sont essentiels dans la lutte contre la fièvre UML. ", Queue, vol. 2, no 1, p. 72-80, marzo de 2004, doi : 10.1145/984458.984495.
3] A. Peters et A. Peters, "How A Man With No Coding Experience Built An App That's Bringing Solar Power To Yemen", Fast Company, 08 de mayo de 2017. https://www.fastcompany.com/40417060/how-a-man-with-no-coding-experience-built-an-app-thats-bringing-solar-power-to-yemen (consultado el 26 de enero de 2021).
[4] " BeaverBuilder: WordPress Page Builder Plugin ", Beaver Builder. https://www.wpbeaverbuilder.com/ (consultado el 20 de enero de 2021).
[5] " Elementor: WordPress Website Builder ", Elementor. https://elementor.com/ (consultado el 20 de enero de 2021).
6] "Flow XO - Plataforma de chatbot fácil de usar". https://flowxo.com/ (consultado el 20 de enero de 2021).
[7] " Intercom: Chatbots personalizables ". https://www.intercom.com/drlp/customizable-bots-biz utm_source=google&utm_medium=sem&utm_campaign=9363026333&utm_term=%2Bchat%20%2Bbot&utm_ad_collection=95042838956&_bt=418883716507&_bg=95042838956&utm_ad=418883716507&offer=drcustombotsbiz&utm_campaign_name=go_evg_acq_trial_nb_chatbot_bld_emea_en&utm_ad_collection_name=sup-p_chatbot_bmm&utm_ad_name=drcustombotsbiz_text_21q1&gclid=CjwKCAiAo5qABhBdEiwAOtGmbmweUU2MY9NUyPC7FQahF3RVNAmRbnDYVhnwe9_GZ6KZn0x6wZQKLxoC_xQQAvD_BwE (consultado el 20 de enero de 2021).
[8] " Botnation ", Botnation AI. https://botnation.ai/fr/?gclid=CjwKCAiAo5qABhBdEiwAOtGmbq0CqlAuYyECcRrUjDBfdRSjdVNIDpAYmqFdyQQ8ScHmPlmy3owvJRoCG-kQAvD_BwE (consultado el 20 de enero de 2021).
[9] " Import.io - Data Extraction, Web Data, Web Harvesting, Data Preparation, Data Integration ", Import.io. https://www.import.io/ (consultado el 20 de enero de 2021).
10] "Octoparse : Herramienta de raspado web y rastreadores web gratuitos". https://www.octoparse.com/ (consultado el 20 de enero de 2021).
[11] " eBook: The Field Guide to No-Code Application Platforms ". https://www.unqork.com/resources/ebooks/ebook-the-field-guide-to-no-code-application-platforms (consultado el 24 de enero de 2021).
12] " 2019 Annual SaaS Trends Report - Researched By Blissfully ", Blissfully. https://www.blissfully.com/saas-trends/2019-annual/ consultado el 26 de enero de 2021).
13] " The Low-Code Manifesto & 9 Principles of Low-Code App Development ", Mendix. https://www.mendix.com/low-code-guide/the-low-code-manifesto/ (consultado el 20 de enero de 2021).
[14] T. L. Calvar, " Exploration d'ensembles de modèles ", p. 157.
[15] B. Combemale, " Ingénierie Dirigée par les Modèles (IDM) - État de l'art ", 2008.
[16] " Maximiser l'efficacité : How TIME works smarter, not harder ". https://blog.airtable.com/maximizing-efficiency-time-video-production/ (consultado el 26 de enero de 2021).
[17] G. Fischer, "End-User Development and Meta-design: Foundations for Cultures of Participation ", End-User Development, Berlín, Heidelberg, 2009, p. 3-14, DOI: 10.1007/978-3-642-00427-8_1.
18] G. Fischer, E. Giaccardi, Y. Ye, A. G. Sutcliffe, et N. Mehandjiev, " Meta-design : un manifeste pour le développement des utilisateurs finaux ", Commun. ACM, vol. 47, no 9, p. 33-37, sept. 2004, doi : 10.1145/1015864.1015884.
19] A. I. Mørch, G. Stevens, M. Won, M. Klann, Y. Dittrich, et V. Wulf, "Component-based technologies for end-user development", Commun. ACM, vol. 47, no 9, p. 59-62, sept. 2004, DOI: 10.1145/1015864.1015890.
20] T. Hamelin, " AUTOMATISATION DES PROCESSUS MÉTIER : ÉTAT DES LIEUX ET APPORTS DU RPA ", p. 14.
[21] " FlowBuilder ", Salesforce Lightning Flow. https://trailhead.salesforce.com/fr/content/learn/modules/business_process_automation (consultado el 20 de enero de 2021).
22] Gartner, " Magic Quadrant for Enterprise Low-Code Application Platforms ", agosto de 2019.

Más ...

Scroll al inicio