El argumento de venta del low-code es atractivo: aplicaciones con unos pocos clics. Pero ¿para qué está configurando realmente su organización cuando compra un desarrollo de este tipo?
Por: Peter Wayner, Editor colaborador de CIO.com | Foto de cottonbro en Pexels
En un mundo con plazos de alta tensión y jefes de alto mantenimiento, la promesa de herramientas de desarrollo low-code suena muy bien: con unos pocos clics, no es necesario ser un programador para crear una aplicación simple y en un instante.
Ese es el argumento de venta de una amplia gama de proveedores que se han aferrado a la palabra de moda “bajo en código” o low-code. El mercado se está llenando con una gran cantidad de herramientas que pueden hacer malabarismos. La promesa cumplida: es posible producir software de calidad sin acres de cubículos y múltiples facciones de desarrolladores “sabelotodo”.
Sin embargo, las promesas son fáciles de hacer y más difíciles de cumplir. Muchos CIOs experimentados han escuchado y las han visto fallar. La historia de las computadoras es más o menos una historia de programadores que agregan más capas de código para arreglar los bordes ásperos de la capa anterior. El primer compilador de software se consideró una alternativa de bajo código. Diablos, el código de máquina era una alternativa low-code… Las nuevas herramientas se han promocionado como una mejora de “bajo código” de todo lo que vino antes.
La buena noticia es que cuando se ve desde una gran altura, la progresión de las herramientas ha sido tremendamente positiva. Realmente podemos hacer mucho más con mucho menos trabajo. Sin embargo, las noticias de las trincheras suelen ser más confusas. A menudo, una gran mejora conlleva la responsabilidad de gestionarla. A veces, dominar una herramienta low code y encontrar la mejor manera de configurarla puede ser casi tanto trabajo como construir algo desde cero.
Comprender y gestionar esta tensión es el mayor desafío para las empresas que están considerando opciones de bajo código. ¿Las ventajas obvias que ofrecen valdrán la pena si los costos que permiten reducir no podrían estar esperando unos meses más adelante? Decidir cuánto creer en sus promesas requiere un cuidadoso equilibrio. A continuación, siete razones para adoptar herramientas low code y siete razones más para evitarlas.
Pro: velocidad
Los proveedores de low-code tienen un objetivo en mente: ayudar a todos a crear nuevo software rápidamente. Con unos pocos clics, los usuarios pueden crear una página con un formulario. Encadena algunos formularios y vistas y tienes una aplicación. El clic, compilación y prueba suele ser lo suficientemente rápido como para que algunos usuarios ágiles puedan desarrollar aplicaciones en tiempo real durante la reunión en la que se habla del proyecto. La buena noticia es que las herramientas suelen hacer exactamente lo que prometen. Si sus necesidades alcanzan el punto óptimo de lo que pueden ofrecer, puede terminar en menos tiempo del que se necesita para conseguir que un equipo de desarrolladores reales participe en una videollamada.
Contra: velocidad
Es mejor frenar un poco. Es bueno que las herramientas sean rápidas, pero puede ser un error apresurar el desarrollo de software. A medida que la codificación se vuelve más fácil, el verdadero desafío es definir la aplicación e imaginar su papel en la vida de los clientes.
Centrarse demasiado en la velocidad puede llevar a una decepción si el trabajo no se realiza en unos minutos. Es posible que el equipo haya hecho clic en tres prototipos en ese tiempo, pero en el camino ignoraron diez obstáculos conceptuales y docenas de arrugas filosóficas que deben suavizarse. Hacer clic puede obstaculizar el pensamiento estratégico. El verdadero desafío no es crear lo que quieres, es saber lo que quieres en primer lugar.
Pro: estabilidad del low-code
El software personalizado es difícil de mantener para las empresas. La creación de la herramienta es solo el comienzo de un proceso de soporte que dura mientras el software esté al servicio de la empresa. A menudo, simplemente mantener los tornillos apretados y el cromo pulido es más trabajo que construir la versión original.
Las herramientas low-code amortizan los costos de soporte en todas las instalaciones. Cuando aparece una nueva versión del sistema operativo o alguna nueva regulación de almacenamiento de datos, los proveedores de herramientas de bajo código la implementarán para todos. Adoptar una plataforma de low-code es más que unirse a un club; es casarse con una dinastía. Puede que sea una dinastía pequeña, pero los intereses de todos están alineados y esto puede traer una mayor estabilidad que si intentara administrarla con sus propios empleados.
Contra: destino compartido
La descarga de soporte a la empresa que creó la plataforma low-code puede ahorrar mucho dinero y tiempo, pero la estabilidad no está garantizada. Claro, algunos frameworks bien administrados navegan hacia el futuro llevando a todos, pero no todas las empresas están bien administradas. Cualquier número de contratiempos corporativos podría arruinar su plataforma. Y si el CEO de la herramienta low-code tiene una crisis de mediana edad y quiere dedicarse ahora a los videojuegos. Quizás el genio sólido como una roca que construyó la plataforma se adentra en el bosque en busca de iluminación. Cualquier problema puede socavar la estabilidad de su herramienta de bajo código. Está poniendo su fé en otra organización y su única palanca de control puede ser el proceso anual de renovación del contrato.
Pro: empoderamiento
Una buena plataforma de bajo código no solo ayuda al departamento de TI, puede dar rienda suelta al genio creativo de los empleados de la línea de negocios, aquellos con grandes sueños, pero sin el presupuesto suficiente para financiar un equipo de desarrollo real. Ahora pueden pasar unas horas haciendo clic para probar una idea en lugar de redactar un sinfín de documentos de especificaciones y solicitudes de presupuesto.
Contra: límites
Las funciones de lowe-code pueden ser milagrosas, pero no pueden convertir a un no codificador en un desarrollador de nivel superior, incluso si el no codificador puede hacer clic con el mismo talento que el mejor estudiante universitario del MIT. Los usuarios aún necesitan tener una idea básica de cómo funcionan las computadoras y hacen malabares con los bits. Un maestro de hojas de cálculo, por ejemplo, no debería tener problemas para usar estas herramientas, pero alguien que grite de miedo al cambiar los márgenes en un procesador de textos no podrá producir mágicamente tres aplicaciones antes del almuerzo. Las herramientas se encargan de muchas de las tareas, pero no pueden escapar de los límites filosóficos fundamentales de la computación y el entorno informático actual.
Pro: consistencia
El mundo funciona mejor porque hemos desarrollado algunas soluciones estándar. Todos los coches tienen los pedales del acelerador y del freno prácticamente en el mismo lugar. Los refrigeradores tienden a almacenar la mantequilla en el mismo lugar. Lo mejor de producir una aplicación con una solución de lowe-code es que probablemente se basará en una colección de widgets de interfaz de usuario ampliamente utilizada. Su código será relativamente estándar sin siquiera intentarlo porque su código utilizará las mismas herramientas que los demás.
Contra: homogeneidad
Hacer todo de la misma manera que sus competidores pueden facilitar la contratación de personal, pero también lo condena a perderse entre la multitud. Algunos paquetes de software están destinados a atraer la atención y distinguir a su empresa. Hacer todos lo mismo y de la misma manera asegura que serás indistinguible.
Pro: seguridad
Las plataformas low-code generalmente están diseñadas para manejar los desafíos más comunes, como la seguridad o la privacidad de los datos. Si hay una ley en Europa o alguna pesadilla de seguridad que ataca a las empresas asiáticas, es muy probable que los desarrolladores de low code ya la hayan abordado. Esa es la gran ventaja de trabajar con un marco compartido. Han manejado los desafíos comunes, por lo que no necesita preocuparse por ellos.
Contra: costos distribuidos
Las plataformas de bajo código son recursos compartidos y eso también trae desventajas. Tal vez su aplicación esté llena de publicaciones en las redes sociales que la gente desea desesperadamente que se difunda por todas partes. Sin embargo, los desarrolladores de la plataforma han diseñado su herramienta con rigurosas protecciones de privacidad para los registros médicos. Usted pagará estos costos, y tal vez incluso se arrancará un poco de cabello cada vez que las restricciones se interpongan en su camino.
Pro: sencillez
Las herramientas de low-code están diseñadas para ser más simples. Mientras se preocupa por su negocio, los desarrolladores de plataformas de bajo código se han preocupado por la mejor manera de crear un conjunto de herramientas que sean fáciles de adoptar y ampliar. Eso es asunto de ellos. Es peligroso creer en la exageración e imaginar que todo será tan simple como soñar despierto con una fortuna escandalosa, pero será más simple que sacar los libros de programación y comenzar desde cero.
Contra: confusión del low-code
¿Puede el low code ser más confuso que escribir algo desde cero? ¡Si! Suele ocurrir cuando empuja los límites de la herramienta y comienza a tropezar con fallas, errores o inconsistencias. Esto es natural y todo el software tiene estos problemas. La diferencia es que las herramientas de bajo código nunca quisieron exponerle este lado. Es como si estuvieran vendiendo un coche con el capó cerrado. Las estructuras de datos y los algoritmos son opacos para que no preocupe a su cabecita. Pero si de repente algo no funciona y la única forma de reconocer lo que está sucediendo es profundizar en las estructuras de datos, surge la confusión. Esos detalles no son para usted y, a veces, eso lo deja más perdido que si hubiera hecho el trabajo duro usted mismo desde el principio.
Pro: juega bien con los demás
En el fondo, la decisión es de filosofía. Algunas empresas fomentan el desarrollo de una red de socios de confianza que aporten experiencia y estabilidad. Creen que la empresa no vive sola, sino que prospera como parte de una red. Adoptar un juego de herramientas de bajo código agrega otra conexión a la red de confianza.
Contra: dependencia
El enfoque opuesto es desarrollar experiencia interna porque esta profundidad de conocimiento vale la pena. Saben que el low-code puede dar una sacudida como tres o cuatro tazas de café expresso, pero al final todos terminan un poco aturdidos y fuera de contacto con lo que está sucediendo. Solo el código sólido y bien estructurado creado por un equipo dedicado genera algo de valor a largo plazo y es por eso por lo que los CIO contratan buenos equipos.
La verdad sobre el low-code
Algunos gerentes de TI experimentados tomarán diferentes decisiones para diferentes trabajos. Las exploraciones casuales, los prototipos pre-alfa y los procesos de backend que se ejecutan ocasionalmente son buenos candidatos para conjuntos de herramientas de bajo código. El equipo puede hacer girar algo rápidamente y no se perderá nada si tropieza o incluso cae.
Pero si el código va a mantener los flujos de trabajo centrales de la empresa y contribuir directamente al resultado final, no es probable que desee confiar en algún interno valiente que manipule una hoja de cálculo elegante. Vas a invertir en el talento necesario para crear algo digno de confianza.