– por Juan Seoane, 21 de septiembre de 2021.
A raíz de las restricciones impuestas por la pandemia de COVID-19, las empresas se han visto presionadas por acercarse a las nuevas necesidades de sus clientes y sostener el funcionamiento de sus negocios, teniendo que acelerar la transformación a través del lanzamiento de nuevas soluciones digitales.
Podemos encontrar ejemplos de esto en la Banca, que en algunos casos experimentó un 60% de aumento de actividad a través de sus canales digitales, en el sector de la Gastronomía que debió adaptarse para gestionar pedidos en línea y entregar en casa de sus clientes y en el sector de la Educación, que tuvo que buscar soluciones que le permitieran dar continuidad a los programas académicos preestablecidos.
Esta aceleración en la adopción de nuevos modelos de negocios digitales, sumado a la escasez de recursos de programación a nivel global, dio un empuje a la adopción de plataformas Low-Code/No-Code (LC/NC) por parte de las empresas que buscaban reducir el time-to-market.
En mi articulo anterior, mencioné varios ejemplos de la relevancia del software para los negocios y los desafíos que se les presentan a las empresas que no tienen suficiente experiencia en esta disciplina.
El LC/NC no es un paradigma nuevo. Es una evolución de las viejas herramientas de RAD, pero con la opción de agregar código y llevando el concepto a la nube. Incorpora funcionalidades Web, Mobile, de Bases de Datos e Integración con APIs. Como valor adicional, algunas plataformas se enfocan en áreas de aplicación específica como eCommerce, CRM, Blockchain o Inteligencia Artificial.
La propuesta de valor es acercar herramientas a la gente del negocio para que aceleren su transformación digital a través de la mejora e innovación de sus procesos con mayor independencia de las áreas de IT.
Las herramientas Low-Code buscan poner al negocio al comando.
Actualmente, más del 40% de los empleados de áreas no-IT desarrollan o mejoran soluciones de tecnología.
Gartner proyecta que este espacio va a seguir creciendo significativamente en los próximos años y que, para el 2023, más del 50% de las empresas medianas y grandes van a adoptar una plataforma de LC/NC como una de sus plataformas estratégicas de aplicaciones.
Dentro de este contexto, me parece importante destacar algunas cuestiones a tener en cuenta:
- Lo primero a considerar, es que los desarrolladores dedican menos de 1/3 de su tiempo a escribir código. El resto está dedicado a otras actividades, como por ejemplo: “debuggear” errores o solucionar cuestiones de performance, y estos son casos de uso que generalmente no están bien cubiertos por las plataformas LC/NC.
- Aprender a usar estas plataformas no es trivial. Si bien no es necesario manejar un lenguaje de programación, sí se requieren conocimientos de la plataforma y esto tiene una curva de tiempo asociada.
- Las plataformas están orientadas principalmente al desarrollo de funcionalidad, y resulta difícil desarrollar basándose en un diseño para usuario específico. Este es un problema viejo y ya conocemos las consecuencias de construir ignorando la experiencia del usuario.
- Adicionalmente, la complejidad en el proceso de desarrollo de software no radica solamente en la capacidad de producir funcionalidad de forma más sencilla o a mayor velocidad, sino también en los procesos de prueba, despliegue, performance, seguridad, etc.. Si bien los proveedores de LC/NC apuntan a mejorar estos otros aspectos, no son el foco de la mejora en productividad.
- Existen distintas plataformas y cada una de ellas se especializa en algo en particular. Por ende, una solución puede requerir el uso de varias plataformas, incrementando los costos y complejizando la arquitectura del software de manera poco pragmática.
- Se puede correr el riesgo de generar ecosistemas de aplicaciones que crecen sin un diseño/arquitectura integral en mente. El desafío no resuelto aún es entender cómo los distintos componentes del sistema se relacionan y cómo se resuelve el problema de la complejidad que anidan estos sistemas.
- Las empresas que decidan adoptan LC/NC deben estar preparadas para desafiar temas culturales, ya que la democratización del desarrollo puede traer aparejados puntos de fricción entre los equipos de IT y del negocio.
- Las plataformas pueden generar código propietario, potencialmente causando una situación de «lock-in» que puede ir en detrimento de la agilidad y la innovación si no se integra la iniciativa de LC/NC a la arquitectura empresarial de manera inteligente.
Conclusión
Sin dudas, estamos en los comienzos de una revolución de la Ingeniería del Software, que acercará a las áreas de negocios a la construcción de soluciones prácticas y acortará el ciclo de vida del desarrollo del software.
LC/NC puede ser una solución ideal para agilizar distintas necesidades emergentes, tales como la generación de formularios digitales, la automatización de flujos de trabajo sencillos o el armado de prototipos a través de un proceso de abstracción, entregando paquetes de funcionalidad en muy poco tiempo.
Sin embargo, a la hora de evaluar el uso de herramientas LC/NC es importante tener en cuenta que acelerar la escritura de código o proveer mecanismos de abstracción no son condiciones suficientes para desarrollar un producto de calidad.
Para el desarrollo de aplicaciones de negocios end-to-end complejas y con múltiples interfaces, estas herramientas aún presentan desafíos por resolver. Para estos escenarios, aún falta un tiempo para que las mismas desplieguen todo su potencial.
Mientras tanto, te dejo un consejo práctico para estas épocas, y es que sigas cuidando a tus valiosos programadores.
Si necesitas ayuda para analizar alternativas para tu negocio o simplemente te interesa discutir sobre este tema, puedes contactarte conmigo escribiéndome a: juan@juanseoane.com
#business #software #LC/NC #lowcode #digitaltransformation