Software
Desarrollo

'Low-code', la democratización del desarrollo de software que gana terreno

Rapidez, simpleza, flexibilidad, efectividad y reducción de costes son algunas de las características del low-code, la forma de creación de código a través de sencillos procesos modulares, que según los expertos facilita el desarrollo de aplicaciones y democratiza la creación de software incluso en manos inexpertas.

low code

Si no se ha trabajado desarrollando aplicaciones, cuando se plantea a los expertos que expliquen lo que es low-code, se tiende a preguntar por los sistemas de construcción infantiles, como el Lego, o se piensa en cómo los niños y adolescentes dan sus primeros pasos en programación o robótica, con plataformas como Scratch o Tynker o Arduino. Por ahí va la cuestión, pero low-code claramente está diseñado para las manos adultas no necesariamente especializadas en desarrollo de software. Es la democratización de la programación informática.

Low-code permite a las empresas y a las personas crear software a través de procesos modulares, casi infantiles, muy visuales, de pinchar y arrastrar, que requieren poca o ninguna codificación y se ha vuelto cada vez más común en la mayoría de las organizaciones.

El desarrollo low-code facilita la creación de aplicaciones o productos de software completos a través de plataformas que permiten a los desarrolladores, tanto expertos como “ciudadanos”, diseñar programas sin tener que escribir código o usar un lenguaje de programación tradicional. Se les llama ciudadanos, porque son personas que utilizan la tecnología y crean aplicaciones y software a la medida de sus necesidades, sin tener formación formal en ingeniería específica o en informática.

 

Qué es low-code

Según lo define Miguel Ángel González, vicepresidente de Appian Iberia, este “es la programación de software que permite desarrollar aplicaciones con la menor cantidad de código posible. De esta forma, los programadores pueden ahorrarse las tareas más repetitivas y enfocar su tiempo a tareas de mayor valor”.

“Básicamente, se trata de crear aplicaciones o funcionalidades sin necesidad de escribir código, de un modo mucho más sencillo, sin entrar en la complejidad de la programación convencional”. Así lo explica Juan Chinchilla, director de la unidad de negocio de Business Applications de Microsoft España, donde desarrollan herramientas con esta filosofía casi desde los inicios de la propia programación, “primero, enfocadas en facilitar la labor a programadores a través de entornos, como Visual Studio y de forma más reciente, a través de soluciones pensadas para aquellas personas que no saben programar, pero sí tienen claro cómo pueden digitalizar procesos o flujos de trabajo en sus organizaciones”.

Para Luis León Gámez y Manuel Morán, expertos en desarrollo de Zerolynx, compañía experta en seguridad de las TI, “el desarrollo low-code consiste en una nueva forma, simple y rápida, de implementar soluciones software mediante interfaces interactivas. Las herramientas existentes basadas en low-code buscan exigir lo mínimo posible de conocimiento avanzado en programación al usuario”, y Leopoldo Colorado, Head of LowCode de Babel, empresa española especializada en tecnologías de las TI, coincide en la sencillez y la rapidez que aportan las plataformas low-code y las ve como “soluciones que permiten a las compañías diseñar, implementar y desplegar aplicaciones de una forma más productiva que la alternativa tradicional basada en programación”.

Colorado analiza el éxito de esta tecnología al decir que “tienen mucho sentido, porque ahora se dan las condiciones idóneas para su adopción: alta presión por innovar y entregar productos o servicios rápidamente, alta complejidad técnica, y escasez de profesionales técnicos. Su propuesta de valor es liberar a las compañías de tareas técnicas muy transversales, que aportan poca diferenciación, para poner sus esfuerzos directamente en sus aplicaciones o procesos”.

En definitiva, “se trata de una manera de programar muy visual, rápida, efectiva y con relativa facilidad”, según nos describe Inés Ruiz Múzquiz, gerente de cuentas Low Code Solutions en la empresa de servicios digitales Altia.

 

“Básicamente, se trata de crear aplicaciones o funcionalidades sin necesidad de escribir código, de un modo mucho más sencillo, sin entrar en la complejidad de la programación convencional”

 Juan Chinchilla, director de la unidad de negocio de Business Applications de Microsoft España

 

Entornos visuales, la clave de su funcionamiento sencillo

El funcionamiento, explicado por sus conocedores, casi anima a intentar programar a cualquiera. En Babel nos aclaran que cada plataforma tiene una propuesta diferente sobre cómo afrontar el reto de diseñar e implementar una aplicación, pero generalmente todas ellas utilizan la combinación de diferentes componentes (procesos, pantallas, flujos, entidades, formularios, conectores, etc.). “El factor común es la abstracción sobre la tecnología subyacente, dando al usuario un entorno que debe ser amigable, usable e intuitivo —desarrolla Colorado—. Esto se consigue con entornos muy visuales dónde la usabilidad es importante. En función del tipo de componente que el usuario está diseñando, la plataforma te proporciona un editor visual apropiado. Por ejemplo, para diseñar pantallas tendremos un lienzo sobre el que montarlas a partir de un catálogo de componentes visuales, mientras que para diseñar un proceso, nos proporcionará un lienzo dónde enlazar un flujo de actividad”.

Desde Appian Iberia, González confirma que el desarrollo low-code ha evolucionado y aprovecha las herramientas de diseño visual (como los simuladores que permiten arrastrar y soltar elementos, o crear interfaces de forma interactiva) para hacer posible la creación, lanzamiento, uso y transformación de potentes aplicaciones empresariales. “Estas plataformas de desarrollo permiten la entrega rápida de aplicaciones con un mínimo de programación manual, y una rápida configuración y despliegue. Cualquier empleado implicado en la gestión comercial puede tener la capacidad de participar en el diseño de una aplicación que le ayude a enfrentarse y resolver los retos en el día a día de su trabajo”.

González habla de plataformas desde las que se pueden crear aplicaciones reduciendo al mínimo el desarrollo de código de forma manual, porque ya viene construido y preconfigurado. “Ya pre-programados, como un editor drag-and-drop —añade Chinchilla—. El proceso es sencillo, ya que los profesionales, no necesariamente técnicos especializados, pueden utilizar plantillas ya prediseñadas, adaptarlas a sus necesidades con la simplicidad de arrastrar y soltar elementos, y continuar evolucionando su diseño y funcionalidad a medida que sea necesario”.

Por otra parte, tal y como nos explican desde Microsoft, su flexibilidad y sencillez no está reñida con las funciones avanzadas, ya que la plataforma permite hacer uso de componentes que generalmente solo están disponibles para desarrolladores.

Inés Ruiz Múzquiz, desde Altia, nos aporta como clave que “las plataformas low-code ofrecen todo lo necesario para crear de manera visual una aplicación incluyendo todos los elementos: Front end, Back End, Logica, Procesos, Base de Datos e Integración con otros sistemas, por lo que no es necesario contar con profesionales muy especializados para realizarlos”. Según Ruiz, eso es lo que está permitiendo liberar a los departamentos de tecnología. Además, “al desarrollo de aplicaciones en estos momentos se les exige plazos de entrega, agilidad, adaptabilidad a nuevos entornos y facilidad de aprendizaje, y todo ello lo reúnen las plataformas low-code, que por supuesto, mantienen los más estrictos niveles de calidad y reducción de costes” añade.

 

“Estas plataformas de desarrollo permiten la entrega rápida de aplicaciones con un mínimo de programación manual, y una rápida configuración y despliegue"

Miguel Ángel González, vicepresidente de Appian Iberia

 

 

Impacto en el día a día de las  empresas

Ruiz Múzquiz atribuye a la implantación de low-code el impacto práctico, por ejemplo, “para los servicios de consultoría, desarrollo y mantenimiento de soluciones y servicios avanzados de tecnología”. Para ella, esta manera de desarrollar aplicaciones comparada con la programación tradicional ha permitido automatizar la entrega de software.

Según nos explica, en la actualidad, el desplazamiento del negocio al entorno digital ha convertido a todas las organizaciones en empresas de software, y esto ha llevado a las diferentes unidades de negocio a multiplicar las solicitudes para crear nuevas aplicaciones, así como modernizar las existentes lo antes posible. “Frente a este aumento de la demanda, las áreas de desarrollo se están convirtiendo en un cuello de botella. Esto tiene particular relevancia en empresas con una fuerte cultura de desarrollo manual, unos sistemas core que necesitan ser renovados o una elevada heterogeneidad tecnológica, que requiere grandes esfuerzos de integración”. En este contexto, la tecnología low-code está ganando relevancia en las empresas como la forma de dar una respuesta eficiente a las necesidades del negocio. Aunque Ruiz Múzquiz no obvia que “su implementación conlleva retos que van más allá de la tecnología al tratarse de un nuevo enfoque de trabajo”.

Desde Babel, Colorado asegura que las plataformas low-code “abren una nueva alternativa que demandará nuevos profesionales. En función de la plataforma elegida se requerirá más o menos bagaje técnico, pero en cualquier caso, menos intenso en conocimientos de desarrollo. Sin embargo, se demandará más conocimientos del negocio, más capacidad para resolver problemas, y menos conocimientos técnicos”.

En su opinión, que esta forma de desarrollo de software sea visual e intuitiva no significa necesariamente que sea fácil, y los usuarios de las herramientas low-code tendrán que aprender a utilizarlas. “Es por eso que aparecen carreras nuevas especializadas en el manejo de estas herramientas. No se llama programación porque no hay código, pero puede requerir las habilidades de diseño e implementación que tienen los desarrolladores”.

Según Chinchilla, “la situación actual, que demanda entornos cada vez más tecnológicos y conectados, ha puesto de manifiesto la necesidad acuciante de desarrollar aplicaciones versátiles y adaptadas, que den respuesta a diferentes escenarios”. En Microsoft  les consta el cálculo indicativo de que en los próximos cinco años se crearán hasta 500 millones de aplicaciones; más que todas las aplicaciones desarrolladas en los últimos 40 años.

No obstante, una de las cuestiones que observan en muchos de sus clientes son las dificultades a la hora de desarrollar sus capacidades digitales: “Atraer y retener talento tecnológico de calidad se ha convertido en un reto, ya que existe una alta demanda y una fuerte competencia en el mercado. Hasta un 86% de las organizaciones no encuentra los profesionales necesarios para llevar a cabo sus proyectos” nos explica Juan Chinchilla.

Gámez y Morán, por su parte, no creen que vaya a relegar a los desarrolladores de código  de manera masiva, porque “en el futuro del desarrollo de software será importante en aquellos ámbitos de negocio, cuyos procesos sean susceptibles de ser definidos mediante simples diagramas de flujo, aplicaciones con funcionalidades básicas o sencillas bases de datos”. Para ellos siempre habrá ámbitos cuya complejidad impedirá que se aborden desde estas herramientas o por personas no especializadas.

 

"Esta manera de desarrollar aplicaciones, comparada con la programación tradicional, ha permitido automatizar la entrega de software"

Inés Ruiz Múzquiz, gerente de cuentas Low Code Solutions en la empresa de servicios digitales Altia

 

Ventajas, beneficios e inconvenientes

Estos dos expertos en desarrollo de Zerolynx, no obstante, ven en low-code una clara ventaja; “el  desarrollo más rápido del software y menos requisitos de especialización para programar”.

Desde Appian Iberia, González destaca como ventajas del low-codela rapidez, porque garantiza a las compañías una transformación digital de sus procesos de negocio en tiempo récord; la reducción de costes, porque al bajar los tiempos de desarrollo de una aplicación, también bajan los costes de producción, y la mayor productividad, al permitir que cualquier persona pueda aportar conocimientos al proceso de desarrollo”.

Para Chinchilla, “la principal ventaja es que democratizan las capacidades de desarrollo de software, quitando las barreras de tener que aprender a programar para poder construir herramientas, productos o servicios que se desplieguen en la organización”. Se trata, según nos relata, de aplicaciones totalmente personalizables que cubren necesidades específicas de negocio, lo que puede ser muy atractivo “para optimizar procesos internos que requieren mucho papeleo, recoger información de diferentes fuentes o proporcionar una interfaz optimizada para recoger datos, por ejemplo. De esta forma, también se reduce el time-to-market”.

Colorado también ve como ventaja que las compañías delegan en la plataforma low-code labores muy técnicas que actualmente absorben mucha energía y presupuesto, y como incoveniente, que “el futuro de tus aplicaciones está muy ligada a la plataforma elegida. El roadmap de la plataforma low-code pasa a ser crítico para sus clientes y puede condicionar su evolución. Por esta razón, la selección de la plataforma low-code se convierte en una decisión muy estratégica, especialmente si ayudará a implementar aplicaciones o procesos críticos”.

Ruiz Múzquiz también es categórica: “se trata de hacer más, con menos y mejor. En cuanto a las desventajas, existe una muy evidente y es el riego a que se produzca un uso descontrolado dentro de la organización. Es necesario como primer paso definir criterios dentro de la compañía e identificar en qué casos las tecnologías low-code pueden aportar mayor valor. Hay que fijar bien las expectativas del negocio. Y es necesario garantizar que el modelo de gobierno sobre todos los desarrollos se lleve desde el departamento de TI”.

Como director de infraestructura del banco EVO y conocedor del comportamiento en su empresa de la aplicación del low-code, Jose Manuel González nos resume y enumera de manera descriptiva las ventajas e inconvenientes de este tipo de plataformas.

 Ventajas:

  • Diseño visual
  • Utilización de componentes ya encapsulados dentro de su plataforma en los que sólo es necesario llevar a cabo parametrizaciones.
  • Capacidad de utilización de bloques de código funcionales.
  • Reducción en tiempo de entrega de Software
  • Optimización de tiempo de personas, reducción de costes o ambas.
  • Simplicidad en mantenimiento. Al poder visualizar de forma gráfica el flujo es más fácil de entender que hace.

Inconvenientes:

  • Es importante que la persona que utiliza estas plataformas tenga conocimientos de buenas prácticas de desarrollo y sobre estructuras de datos.
  • Es necesario que tengan visibilidad funcional sobre lo que se intenta dar la solución.
  • Los perfiles que más partido pueden sacar de este tipo de plataformas son perfiles difíciles de encontrar. Cuanto más nivel de profundidad tienen tecnológico y funcional, mayor valor pueden retornar.
  • Las plataformas tienen una curva de aprendizaje de nivel medio e incluso incluyen algunos puntos de adaptación a la interfaz, que en algunos casos se podría solventar más rápido mediante codificación.
  • Los flujos mal diseñados pueden tener un alto impacto en costes o en ineficiencias operativas. Es necesario que quien lleva a cabo el diseño entienda el qué, cómo y por qué de lo que está haciendo, y si está aplicando la solución más eficiente posible en cuanto a recursos técnicos y económicos.

 

"La selección de la plataforma 'low-code' se convierte en una decisión muy estratégica, especialmente si ayudará a implementar aplicaciones o procesos críticos"

 Leopoldo Colorado, Head of LowCode de Babel

 

 

Casos de uso para cualquier necesidad

En opinión del responsable de Babel, los casos de uso más habituales son los centrados en la digitalización y automatización de procesos, “donde los usuarios pueden ser empleados, colaboradores o incluso el cliente final. Cada vez más se ven casos de uso orientados a la interacción con los usuarios y clientes, creando aplicaciones móviles que responden las expectativas de cualquier B2C”.

Desde Appian Iberia, González aclara que low-codeno significa que no sea necesario escribir nada de código y que no hagan falta expertos en la tecnología, sino que estos pueden generar un software robusto y modular, con una gestión de las reglas de negocio lo más independiente posible, para que puedan ser gestionadas por las personas más cercanas al negocio”. Así dice que se consigue una sinergia que acaba con la guerra eterna entre los departamentos de “Negocio” y “Tecnología”, y pueden trabajar juntos con un objetivo común, y con un lenguaje lo suficientemente entendible por ambos mundos.

“Con nuestro low-code, por ejemplo, —explica González— un desarrollador junior puede ser muy productivo con una plataforma de desarrollo low-code. Y en dos meses se puede tener una aplicación empresarial potente en pleno rendimiento, como puede ser la gestión de los créditos ICO durante la pandemia, que hicimos para una entidad financiera que ha gestionado más de 20.000 millones de euros de créditos ICO en este tiempo”. González explica el caso del sector de los seguros. “Mientras que en el pasado la creación de una aplicación para automatizar la recolección de datos durante la notificación de un siniestro podía llevar más de 12 meses; ahora se puede desarrollar la misma aplicación (o una mejor) en apenas unas semanas. Este nivel de velocidad y agilidad es una revolución para las aseguradoras”.

En Microsoft nos hablan de sus módulos prediseñados, como los que tienen componentes de Inteligencia Artificial, que utiliza lenguaje natural transcrito (DPT3) para hacer más accesible el desarrollo de aplicaciones. Cuentan con una plataforma low-code / no-code, que se compone de cuatro productos clave: Power Apps, Power BI, Power Virtual Agents y Power Automate. “En España tenemos el ejemplo de Repsol —explica Chinchilla—Buscaba fomentar el desarrollo de aplicaciones por parte de los propios empleados de la compañía con las que crear de forma rápida, sencilla y a medida todo tipo de aplicaciones y bots”.

A través de programa Do It Yourself (DIY), Repsol ha conseguido ahorrar más de 2 millones de euros, los propios empleados de la compañía han construido más de 165 aplicaciones y producido hasta 6.500 flujos de trabajo con más de 38.000 ejecuciones con las plataformas Power Automate y Power Apps. “Al reducir la complejidad técnica del desarrollo de apps, el personal especializado de TI de Repsol ha podido volcar su atención donde es más necesario”, señala Chinchilla.

Ruiz Múzquiz nos habla de plataformas como OutSystems de la que es partner Altia, que permite hacer desarrollos “para sistemas críticos del negocio, para la interacción omnicanal con clientes (web y móvil), para procesos transversales end-to-end y para incrementar la eficiencia, optimización y automatización de los puestos de trabajo. También para aplicaciones para el onboarding de empleados, mejora de la relación del trabajador con la empresa; y para portales educativos, gestión de expedición de títulos, etc”.

En el banco EVO utilizan low-code “principalmente en ejecuciones generadas por eventos con capacidad de ejecución asíncrona o en procesos programados. Lo hemos utilizado para procesos que se desencadenan analizando diferentes fuentes de datos; mezclamos datos sacados de un origen SQL con otro NoSQL, se hace un proceso de unificación de ambas fuentes, se comprueba si satisface un árbol de decisión, y en caso positivo se desencadenan llamadas a servicios propios y de partners. El resultado se persiste para poder explotarlo después dentro de otros procesos”.

Dentro de todo el flujo es necesario además ir generando trazas de todos los parámetros de entrada y salida, así como del resultado del bloque de ejecución. Este es uno de los casos que han implementado, pero según José Manuel González, los hay de lo más variopintos, utilizando componentes de envío de correo, mensajería instantánea, generación de ficheros, procesos de ETL, eventos generados desde colas...

Los desarrolladores de Zerolynx además de a nivel empresa, donde le ven todas las posibilidades, entienden que low-code podría llegar a ser útil para colectividades “para gestionar los flujos de decisión de una comunidad social (una comunidad de vecinos, por ejemplo, una unidad familiar, o un grupo de amigos)”, o a nivel educativo, puede ayudar a  familiarizarse con los conceptos básicos del mundo de desarrollo software, “como entender cómo funcionan los flujos de datos y de decisión, las aplicaciones o las redes de internet. Familiarizar a la juventud con cómo funciona la informática que les rodea es un paso importante para no sucumbir de manera ciega a sus dinámicas, y Low-Code puede ayudar en este sentido” nos dicen Luis León Gámez y Manuel Morán.

 

Desarrollo del futuro en manos de todos

Una vez escuchados los expertos, parece evidente que el low-code tiene el poder de ser un democratizador de la tecnología, dejando atrás los largos procesos de aprendizaje de los lenguajes tradicionales, pero todavía requiere de cierta formación, en opinión de la mayoría de los consultados. Coinciden en que ya es un presente, y desde luego es el futuro del desarrollo del software. Ya está trasformado la forma de programar aplicaciones.

Según predicciones de la consultora Gartner, dentro de tres años, en 2025, el 70% de las nuevas aplicaciones desarrolladas por las empresas utilizarán tecnología low-code, un gran avance en comparación con menos del 25% en 2020. Sin embargo, con estos datos en la mano, González desde Appian apunta que “actualmente hay una profunda brecha entre la oferta y la demanda en cuanto al talento digital. Un informe de Morgan Stanley concluye que solo en EEUU se necesitan actualmente 1,4 millones de ingenieros de este tipo. España debería crear 1,3 millones de especialistas TIC para cubrir los objetivos marcados por la Comisión Europea de cara a 2030. Esto hace necesario renovar los procesos de atracción y retención del talento aprovechando la innovación”.

En Microsoft calculan que para 2024 el 75% de las grandes empresas aprovecharán los beneficios de los entornos low-code, y que hay que uticizar su potencial para acelerar el cambio en todos los sectores y para todos los tamaños de empresa, desde las pymes a las grandes corporaciones. Por ejemplo, en la industria manufacturera (para aplicaciones de seguridad y protección, inspección de equipamiento, control de calidad u optimización de la producción), sector público (gestión de la vacunación o de instalaciones, formación, etc.), retail (auditoría de tiendas, registro de horarios, contrataciones), sector financiero (automatización de tareas, firmas digitales, gestión de políticas internas) y en salud (gestión de vacunas o de citas, registro de pacientes).

Como cliente ya experto, González reconoce que “el coste y su control es un tema importante. En Evo hemos tenido algún caso que un flujo mal diseñado hizo un consumo de recursos desmesurado y por tanto un impacto alto en costes, y eso fue parte de las lecciones aprendidas. Con el modelo que estamos aplicando ahora mismo, se puede decir que el retorno y los ahorros en costes del tiempo, al hacer las cosas de una forma bastante más rápida, son bastante positivos respecto al coste de la plataforma”.

Y es que hay low-code gratuito, de pago por uso, especializado… pero no preocupa la inversión, porque todos los expertos consultados coinciden en que su rentabilidad es inherente a su versatilidad y rapidez a la hora de sacar trabajo adelante con equipos más reducidos y de menor especialización.

Esa especialización es la que todos buscan a la hora de captar talento. El futuro va a requerir capacidades para trabajar con low-code y, por ejemplo en Appian, colabora en la segunda edición del Programa de Talento Sputnik, “formación que quiere desarrollar el talento empresarial y tecnológico de Sevilla, y que está dirigido a jóvenes de entre 16 y 30 años con el objetivo de formarlos en las tecnologías claves que van a cambiar el mundo, inspirar y motivar para crear startups y convertirse en los líderes del futuro” explica González. También cuentan con la iniciativa #lowcode4all, que concederá al menos 1.000 becas #lowcode4all este año, “centrada en proporcionar acceso a la formación y certificación en low-code para estudiantes que realizan estudios universitarios y de posgrado, o para quienes han decidido interrumpir momentáneamente su educación, personas desempleadas o aquellas que desean cambiar de carrera profesional” añade González.

Así que no cabe duda que se ve interesante que niños-as y jóvenes vayan familiarizándose con herramientas como Scratch, Tynker o la plataforma Arduino, cuya aparición es relativamente reciente y “podríamos hablar de que son entornos de tipo low-code, muy apropiados para despertar el interés por el mundo de la programación e interiorizar los conceptos básicos sobre el funcionamiento de la tecnología” asegura Chinchilla. Ruiz Múzquiz entiende que estas plataformas “son una manera de acercar la codificación a un público infantil o adolescente, y ver cómo de una manera sencilla uno puede crear una aplicación o un juego. Al final, la tecnología nos rodea y hace la vida más fácil y es vital que las nuevas generaciones lo entiendan y experimenten por sí mismos”.

Las soluciones de low-code para soporte empresarial son muy anteriores a las plataformas educativas. Sin embargo, son dos tendencias convergentes, tal y como explica Leopoldo Colorado: “Los niños y adolescentes de hoy que empiezan a utilizar lenguajes de programación por bloques se encontrarán en sus primeras experiencias laborales con soluciones low-code empresariales y les resultará muy natural trabajar con ellas”. Y además, se van a necesitar las manos de estos incipientes desarrolladores muy pronto en el mundo laboral del futuro.



TE PUEDE INTERESAR...

Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?

 

 
Cobertura de nuestros encuentros
 
 
 
 
Lee aquí nuestra revista de canal

DealerWorld Digital