De un tiempo a esta parte, se ha venido escuchando hablar del desarrollo low code o no-code (aunque no es lo mismo y veremos más adelante las diferencias). Lo cierto es que es una forma de trabajar que lleva más tiempo implantada de lo que nos creemos, solo que no existía un término que la acuñase. En 2014 esto cambió cuando dos analistas de Forrester “inventaron” el concepto.
Aunque desde hace varias décadas ya existían programas informáticos con los que podíamos programar sin tener grandes conocimientos, lo cierto es que ahora hay multitud de herramientas de poco código con las que trabajar sin tener conocimiento previo en programación. Estas plataformas low-code nos sirven sobre todo para el desarrollo de aplicaciones móviles y web.
Qué es una plataforma de desarrollo low code
Cuando hablamos de desarrollo low code, nos referimos a herramientas que nos permiten crear aplicaciones de forma muy intuitiva, con un desarrollo de código mínimo pero en colaboración con el equipo de IT.
Las plataformas low code cuentan con una interfaz muy robusta, con componentes preconfigurados. Por lo que el usuario, prácticamente, para crear su software empresarial low code solo tendrá que hacer “drag and drop”, es decir, arrastrar y soltar los diferentes elementos. Además, están diseñados de tal forma que puede integrarse con otros softwares sin apenas configuración extra.
Lo que busca el código a bajo nivel es democratizar el desarrollo de software o, dicho de otro modo, crear aplicaciones sin conocimiento en programación. Ahora cualquier empleado de la empresa, sobre todo los que mejor conocen el negocio, podrán trabajar de manera colaborativa en el desarrollo de aplicaciones móviles y web dando respuesta a las necesidades exactas para su organización.
En cualquier caso, aunque se tratan de herramientas muy intuitivas, casi en todos los proyectos habrá que realizar ligeros ajustes para personalizar la herramienta a las necesidades del mismo. Por lo que será necesaria la ayuda de un desarrollador para conseguir un “acabado” perfecto.
Si esto no fuese necesario, hablaríamos de herramientas no-code, en las cuales sí que es totalmente prescindible la mano de un desarrollador. Las herramientas no-code no necesitan conocimiento en programación. Lo único que tendremos que hacer es unir los componentes necesarios y, como mucho, puede que tengamos que conectar a algún servicio externo, como Google Drive o Dropbox y ya tendríamos nuestra app o software creado.
Evolución de las plataformas low code
Como comentábamos antes, el desarrollo low code no es algo nuevo. De hecho, puede considerarse una evolución de las herramientas de desarrollo rápido de aplicaciones (RAD), de las cuales ya hicimos un post. Como vimos en ese artículo, las herramientas RAD también trabajaban con la mecánica visual de drag and drop y el uso de plantillas.
Poco a poco, estas herramientas han ido evolucionando hasta llegar al actual software empresarial low code y ahora tenemos dos vertientes muy diferenciadas:
Por un lado, los creadores de softwares RAD han automatizado más aún los procesos de implementación de las aplicaciones. De esta manera la participación de los desarrolladores en la creación de aplicaciones será mínima.
Las empresas de SaaS más importantes han aprovechado el low code para que sus clientes hagan personalizaciones y extensiones de sus plataformas.
Entonces, ahora mismo podríamos afirmar que sólo las aplicaciones muy complejas, o con funcionalidades novedosas que necesitan de un desarrollo muy especializado, no podrán servirse de las herramientas de low code.
Características de una herramienta low code
En la actualidad contamos con infinidad de plataformas low code. Para elegir una u otra deberemos fijarnos en las diferentes características que nos ofrece el desarrollo low code:
Despliegue: Habrá tres opciones para elegir el despliegue; en local, en la nube o híbrido.
Tipo de desarrollador: Tendremos que saber quién va a ser el usuario final de la herramienta low code. No es lo mismo si este es un desarrollador profesional interesado en RAD, un empleado con conocimientos técnicos pero no programador (como un analista de negocios con conocimiento de IT), un empleado sin conocimientos técnicos (que requerirá de un enfoque no-code), o alguna combinación de los anteriores.
Experiencia del usuario: Dependiendo de si nuestras aplicaciones estén enfocadas para B2C o B2B, necesitarán de una complejidad y sofisticación de la UX diferente. Las aplicaciones B2C necesitarán de más desarrollo en UX que las B2B.
Orientación a un sector específico: Podemos encontrar muchas herramientas low code que son genéricas, mientras que otras se centran en una actividad específica ( ERP, CRM, etc).
Partners: A la hora de elegir una u otra herramienta low code, habrá que poner especial atención en el soporte que el partner nos da una vez adquirido su producto. ¿Contamos con personal cualificado que resuelva nuestras dudas? ¿Existe formación o comunidad de desarrolladores en torno a esa herramienta?
En la foto podemos ver algunos de los diferentes softwares low code en el Gartner Magic Quadrant de 2019.
Ventajas y desventajas del desarrollo low code.
Todo software o metodología de desarrollo tiene ventajas y desventajas. Algunos beneficios ya los hemos mencionado, pero veamos de forma clara cuáles son las ventajas y desventajas del software empresarial low code y porque, en cualquier caso, el low-code es importante para las empresas.
Comencemos con las ventajas de las herramientas low code:
Disminución del tiempo de desarrollo: Como hemos visto antes, al ser herramientas con gran parte del código prediseñado, a excepción de los ajustes de personalización, el tiempo se reduce de forma drástica.
Disminución de los tiempos de mantenimiento: Como ya hemos hablado en posts anteriores, el mantenimiento de aplicaciones es de suma importancia y con el low code no podía ser menos. Pero, al contar con muy poco código, el mantenimiento también será muy sencillo.
Disminución de los costes: Esto es de pura lógica, si el tiempo de implementación y despliegue es muy corto, el coste también será menor.
Aumento de la productividad: Al contar con un producto muy sencillo de implementar, los desarrolladores podrán centrarse en su creatividad para sacar el máximo rendimiento al software.
Alineación del equipo de IT con otros equipos: Al contar con un entorno sencillo de desarrollo, podrán implicar en el mismo a otras áreas de la empresa más afines al desarrollo del negocio, para dar soporte en el diseño y la creación del software.
Ahora vamos a ver las desventajas del desarrollo low code, pues habrá que tenerlas muy en cuenta también a la hora de elegir este tipo de herramientas.
Integración limitada: En la actualidad, hay infinidad de softwares y productos que se pueden combinar para crear tu estrategia de transformación digital. Pero no todas las herramientas low code pueden integrarse con cualquier software. Tendremos que considerar qué softwares vamos a integrar en el futuro con nuestra herramienta low code, para no llevarnos disgustos a posteriori, sobre todo si son herramientas pensadas para el core del negocio.
Insuficiente personalización: Es probable que cuando adquieras tu software low code no tengas una necesidad concreta que a medio/largo plazo puede surgir. Por eso, habrá que elegir la herramienta con más opciones de personalización, ya que no tendría sentido adaptar tu negocio a las limitaciones de la herramienta low code.
Garantía y trazabilidad: La diferencia entre crear un software propio y uno low code es que desconocemos algunas partes del mismo. Así que habrá que asumir ligeros riesgos por la falta de control, lo que nos puede causar problemas de seguridad y trazabilidad.
Cómo utilizar el desarrollo low code en la transformación digital.
El desarrollo de aplicaciones con poco código no viene a sustituir a la forma tradicional de desarrollo de aplicaciones y softwares. Ahora bien, lo que tendremos que saber es cuándo nos interesa utilizarlas. Si nos basamos en la transformación digital de la empresa, habrá algunos momentos clave en los que será muy interesante y beneficioso para este proceso.
Por ejemplo, podemos utilizar herramientas low code para hacer pruebas de concepto y así implementar una idea de forma rápida, en vez de trabajar en un desarrollo largo y costoso, solo para testear si es lo que necesitábamos. Por otro lado, con los cambios de modelos de negocio que surgen actualmente de forma tan “precipitada”, el código a bajo nivel nos puede servir para cubrir una necesidad nueva del negocio de forma rápida. Teniendo en cuenta que, quizá, en el futuro requiera de un desarrollo más personalizado.
Un ejemplo de desarrollo low code es como funciona Mendix, una herramienta orientada a desarrollar aplicaciones de forma sencilla aplicando las premisas del low code.
En conclusión, en toda estrategia de transformación digital tendrán cabida tanto el software empresarial low code como las herramientas personalizadas. Lo que tendremos que hacer será analizar cuales son las necesidades de nuestro negocio y contar con el criterio suficiente para poder tomar la decisión acertada de cuándo utilizar una fórmula u otra. El asesoramiento desde una empresa externa sobre sus diferentes servicios de transformación digital podrá sernos de mucha ayuda.