Leer artículo en versión impresa
Todos somos conscientes de que, hoy en día, el software y las aplicaciones dominan nuestras vidas. Para cada cosa que podemos hacer, existen varias aplicaciones que nos ayudan a realizarlas, desde reservar una mesa en un restaurante hasta hacer la inscripción en un gimnasio o conocer los resultados de nuestros hijos en el colegio.
En el entorno empresarial la situación es idéntica, pero además se deben tener en cuenta diferentes ámbitos de trabajo, tales como atender a las demandas de software para la producción, el abastecimiento, la comercialización, la fidelización de clientes, los empleados y otras muchas necesidades distintas, que implican tecnologías y ciclos de desarrollos dispares.
Si a esto le añadimos la constante evolución de las tecnologías y la tendencia a operar en la nube, llegamos a una situación en la que el software se queda obsoleto muy rápidamente y existe una presión muy alta por parte del mercado para crear nuevas aplicaciones y mejoras en las existentes. Existe otra componente para acabar de crear la tormenta perfecta, y es que se necesita mano de obra cualificada capaz de realizar estas nuevas aplicaciones y actualmente, hay una gran falta de ella en el mercado, por lo que hace necesario buscar nuevas soluciones.
Es aquí donde nacen nuevas modalidades de desarrollo de aplicaciones entre las que se encuentran las denominadas plataformas de desarrollo “low code” y “no-code”, pero ¿qué se son exactamente y en qué se diferencian entre ellas?
Ambas son maneras de programar aplicaciones de manera muy intuitiva y donde no es necesario comenzar desde cero, sino que contamos con una serie de bloques con lógica ya programada, capaces de realizar acciones concretas, y a modo de puzzle, los combinamos de modo que cumplan el proceso que se quiere realizar. Así, simplemente reorganizando bloques lógicos y uniéndolos entre ellos es posible construir la aplicación sin necesidad de escribir ni una sola línea de código.
La principal diferencia entre “low code” y “no-code” reside en que mediante el desarrollo “no-code” no podemos añadir nuestro propio código para modificar los bloques funcionales, ni añadir lógica compleja nueva, es decir, no podemos personalizar la aplicación a nuestro gusto; por otra parte, en la modalidad “low-code” podemos incluir pequeños fragmentos de código hecho a medida para realizar lógica más compleja y ajustar las aplicaciones a lo requerido. En definitiva, ambas modalidades permiten desarrollar aplicaciones en un menor tiempo posible, dado que los bloques funcionales con los que generamos la aplicación ya están sumamente probados y simplemente hay que ensamblarlos de la manera que más nos convenga, pero la gran ventaja de las plataformas “low code” es que podemos perfilar la aplicación con personas sin conocimiento técnico, y acabar de personalizarla y añadir lógica y tareas complicadas mediante programadores expertos, ajustándonos así a los requerimientos deseados.
El hecho de poder abstraer código mediante bloques lógicos abre la puerta a que personas no técnicas puedan desarrollar y entender soluciones funcionales al completo, que por un lado favorece el alineamiento de IT con los objetivos empresariales y por otro lado, perfiles empresariales y ejecutivos, conocedores del proceso de negocio, ven más cercana esta forma de desarrollo y se implican más en el diseño y la creación de las soluciones.
Al disolver parte de la complejidad del código fuente mediante bloques lógicos hace que podamos añadir automatismos e inteligencia artificial de modo que a partir de unos requerimientos, obtengamos incluso una primera versión de la aplicación automáticamente
Seguramente el lector ya se haya percatado de las múltiples ventajas que tiene desarrollar aplicaciones de esta manera tan simple, veamos alguna de ellas:
- Velocidad en el desarrollo. El tiempo que invertimos en disponer una nueva solución es mucho menor que el invertido en una aplicación hecha de la manera tradicional, no solo durante el proceso de desarrollo en sí, sino también durante el proceso de pruebas y mantenimientos.
- Menores recursos y menos especializados. Ya no es necesario tener gran cantidad de programadores expertos. En el caso del low-code, simplemente serán necesarios puntualmente para partes de aplicación que queramos realizar a medida y donde la abstracción de bloque no llegue por la complejidad del proceso.
- Mayor foco en el negocio. El hecho de no tener que centrarse en la codificación de las aplicaciones, permite poner más atención en la funcionalidad que en la implementación de esta. Además, al estar parte de la aplicación abstraída mediante los bloques de construcción, las personas conocedoras de los procesos de negocio y los modeladores de la solución tienen más fácil entender las necesidades de cada uno.
- Menor riesgo. Existe menor incertidumbre sobre el funcionamiento correcto el día de puesta en producción de la solución. Por otro lado, al tener menor tiempo de implementación, la inversión es menor y con ello el riesgo económico.
- Mayor retorno de la inversión. Dado que necesitamos menor número de programadores, menos especializados y para una misma funcionalidad se reduce el tiempo de desarrollo con respecto a una aplicación realizada del modo tradicional, el coste disminuirá considerablemente. Es decir, estaremos mejorando el retorno de la inversión.
Bajo estas premisas nace Dedalow, una plataforma low code donde, además de las bondades mencionadas sobre este tipo de desarrollo, se han incluido funcionalidades cognitivas, permitiendo a los modeladores avanzar aún más rápido en su trabajo.
Dedalow está pensada para cubrir el ciclo completo de la vida de una aplicación. Dicha plataforma abarca desde la ideación y toma de requerimientos hasta los despliegues y pruebas automáticas en diferentes plataformas y tecnologías. Por supuesto tampoco se ha descuidado el desarrollo e integración con soluciones empresariales específicas como SAP Cloud Platform o SAP S/4HANA entre otras, de modo que Dedalow pueda ser la herramienta de desarrollo estándar de soluciones empresariales, sin importar tecnología ni fabricantes implicados, evitando así la obsolescencia prematura de la solución y facilitando su mantenimiento al día.