
Desde los inicios de 1960 (e incluso antes) hasta inicios de la década del 2000 prácticamente cualquier desarrollo de software demandaba ser una persona que entendiera de programación y sus respectivos lenguajes. Sin embargo, a partir de mediados de la década de 2010 hubo distintos “brotes” de lo que se denomina hoy “no-code”.
¿Qué es el no-code?
El no-code se define como una serie de plataformas que permiten crear aplicaciones literalmente, sin programar. Emplean un método para crear software mediante interfaces visuales intuitivas y herramientas de arrastrar y soltar, que minimizan la necesidad de escribir código tradicional, como el que se usa con lenguajes de programación. Esto permite crear aplicaciones de forma más rápida y accesible, reduciendo el tiempo de desarrollo, pero en especial, democratiza el desarrollo de aplicaciones, pues personas sin experiencia de programación formal, pueden, sin requerir de conocimientos de programación, lograr el desarrollo de sistemas sin apoyo de especialistas.
Diferencia entre low-code y no-code.
La diferencia principal es el nivel de conocimiento de programación requerido: las plataformas No-Code no exigen conocimientos de programación, mientras que las Low-Code requieren conocimientos mínimos o básicos de programación para la personalización y la creación de aplicaciones complejas y escalables. Las plataformas No-Code son para usuarios empresariales no técnicos, y las Low-Code son ideales para profesionales de TI que buscan desarrollar aplicaciones complejas con mayor personalización.
¿Por qué la alta dirección se ha interesado en no-code?
Son varias razones de negocio las que fomentan el uso de este tipo de tecnología. Entre los puntos principales podemos encontrar los siguientes 4:
- Velocidad y agilidad: lanzar prototipos y soluciones en semanas en lugar de meses sin depender ni esperar a especialistas técnicos para hacerlo.
- Reducción de costos iniciales: menor inversión en desarrolladores altamente especializados, simplemente es parte del trabajo de cualquier persona, tal como no se le paga extra por saber usar una hoja de cálculo o hacer una presentación.
- Empoderamiento de áreas de negocio: equipos de marketing, finanzas o RRHH pueden crear herramientas para resolver problemas inmediatos.
- Ensayo y error “barato”: prueba rápida de ideas sin comprometer presupuestos grandes ni caer en la creación de “casos de negocio”, presupuestos, etcétera.
El lado oscuro: riesgos del no-code
A pesar de lo bien que suena el poner al alcance de quien sea el poder desarrollar sistemas sin saber de programación, hay 5 puntos delicados cuando se emplea el no-code:
- Shadow IT: La proliferación de apps fuera del control del área de sistemas, provoca problemas de administración y control de la tecnología, dejando datos e información regada por todas partes, lo cual puede traer problemas muy graves de interacción entre sistemas, información desactualizada o no consistente.
- Seguridad y compliance: riesgos de fuga de datos, incumplimiento normativo (ej. GDPR, HIPAA).
- Escalabilidad limitada: soluciones útiles para pequeños equipos, pero poco sostenibles a nivel corporativo o cuando debe de hacerse de forma masiva para muchas ubicaciones dispersas geográficamente.
- Dependencia del proveedor: lock-in tecnológico que puede encarecer a largo plazo. Recordemos que los proveedores de esta tecnología no están en la obligación de poder hacer que sus servicios y productos puedan interactuar con otros sistemas, lo cual les permite crear una dependencia con las personas que los usan.
- Costos ocultos: Hacer sistemas demanda mantenimiento, integración con sistemas críticos y soporte así como solucionar problemas cuando se presentan. Las personas que no son de sistemas no saben ni pueden hacer esto.
No-code: ¿Cuándo si y cuando no?
Esta no es una decisión fácil, hay varios puntos clave a considerar.
Cuando si tiene sentido no-code
Si un área de la línea de negocio requiere probar algo, a manera de un prototipo rápido, es buena idea usar no-code, esto para validar ideas de negocio. Por igual, si se trata de la automatización de procesos internos simples, como por ejemplo formularios, flujos de aprobación o acciones que no interactúan con múltiples sistemas de diferentes áreas, no-code puede desahogar tiempo de las áreas de sistemas.
En otras ocasiones, no-code puede complementar sistemas existentes sin la necesidad de sustituirlos, provocando ahorros importantes.
Y en el caso de empresas pequeñas o medianas con recursos de tecnología muy limitados, no-code le abre posibilidades que antes implicaban hacer los procesos maneualmente.
Cuando no-code NO es la mejor opción
Hoy por hoy, yo no recomendaría el empleo de no-code para el desarrollo de sistemas críticos o principales de la empresa, donde se requiere de altos requerimientos de seguridad y de Compliance, donde además es muy importante planear para poder escalar (crecer) a nivel multipunto, lo cual en si mismo trae muchas complejidades técnicas adicionales.
Asimismo, es importante a nivel estratégico no emplear no-code en las partes del negocio donde el secreto del código del desarrollo es una ventaja competitiva que debe de ser protegida.
Conclusión
El no-code es una herramienta útil, siempre y cuando la alta dirección tenga muy presente hacer del conocimiento de las áreas de tecnología donde y en que lo van a emplear, sometiéndose a las políticas de gobernanza y supervisión de ellos.
Dicho de otra forma, adoptar low-code sin una política clara de control es abrir la puerta a problemas más grandes que los que se resuelven con estas tecnologías, pero adoptarlo con visión estratégica puede acelerar la innovación sin comprometer el futuro de la organización.