Paulo Rosado, OutSystems co-founder & CEO
Fundé mi primera empresa en 1997 y pronto me di cuenta de que los proyectos de desarrollo de software nunca se entregaban a tiempo y dentro del presupuesto. Gran parte de las dificultades provenían de las cargas del código tradicional: elaborarlo a mano era una actividad que consumía mucho tiempo, reservada a profesionales de élite a los que fácilmente se podía necesitar en otro proyecto, o que simplemente abandonaban su trabajo, dejando que otros entendieran lo que habían codificado.
Además, las metodologías tradicionales en cascada solían fracasar porque el negocio cambiaba durante el proyecto, obligando a rediseñar la arquitectura que cruzaba bases de datos, reglas de negocio, front-ends e integraciones. Adaptar las dependencias de todo ese código retrasaba aún más los proyectos. Los proyectos de más de 2 años se convirtieron en proyectos de 3 años, y los proyectos de 3 años se alargaron aún más. Los directores de sistemas de información tuvieron que enfrentarse a la dura realidad de que muchos de los grandes proyectos se cancelaron o se entregaron por debajo de las expectativas de la empresa, ya que llevaban un gran retraso de cambios muy costosos.
Lo que todo líder tecnológico debe saber
Por eso nos centramos en la anatomía del cambio. Empezamos a buscar formas de acelerar el cambio, automatizando las dependencias de código y eliminando los escollos comunes que encontrábamos en los proyectos. Pasamos mucho tiempo mapeando los patrones que podíamos automatizar y definiendo modelos que pudiéramos replicar para ayudar a TI a avanzar más rápido.
El resultado fue el nacimiento de OutSystems, una plataforma visual de desarrollo y operación que acelera fundamentalmente el cambio al infundir automatización en todo el ciclo de vida del desarrollo de software. Y 13 años después, los analistas dieron un nombre a lo que hacíamos: low-code.
La promesa de GenAI
Avancemos hasta 2022. Mientras que la automatización ya formaba parte del trabajo diario de muchos desarrolladores, desarrolladores de bajo código en particular, la disrupción de GenAI prometía acelerar el trabajo de todos los desarrolladores. Fuimos testigos de la rápida adopción de «copilotos» impulsados por GenAI que mejoran la productividad de los equipos, ayudándoles a generar código más rápido. Dos años después, GenAI se ha convertido en parte del proceso de desarrollo de software en toda la industria.
Te des cuenta o no, el Ciclo Generativo del Software ya está aquí. Diferentes herramientas de copilotaje ofrecen ahora a los equipos potencia para acelerar tareas específicas y ayudar a las organizaciones a afrontar retos mucho mayores.
Sin embargo, si no se controla, la IA generativa también acelerará los riesgos. Y una vez que empezamos a realizar pruebas comparativas sobre el uso de GenA como copiloto de codificación, empezamos a darnos cuenta de las ventajas y desventajas de utilizar estas herramientas, porque realmente no hay almuerzos gratis en esta industria.
No hay almuerzos gratis
Uno de los problemas es que la calidad del código es cada vez más difícil de controlar. Los copilotos mejoran la productividad de los equipos al ayudar a los desarrolladores a generar código más rápidamente, pero también generan deuda técnica. Las líneas de código generadas por IA, además de ser inherentemente impredecibles debido a la naturaleza no determinista de los modelos de IA, tienden a ser más largas de lo que necesitarías si las escribieras a mano. Así que, mientras lees esto, hordas de bots están generando millones de líneas de código huérfanas de humano al nacer: no todos los desarrolladores entenderán del todo lo que se ha generado (o por qué) y acabarán necesitando otra herramienta para dar sentido al código que generó el primero.
Además, los asistentes de codificación basados en IA solo se ocupan del código, que es una parte muy pequeña de un proyecto de desarrollo de software. Eso significa que necesitarás herramientas diferentes para garantizar aspectos críticos como la explicabilidad, la gobernanza y las normas y políticas de seguridad que mantienen el código generado bajo control.
Por eso creemos que, en última instancia, el código quedará enterrado bajo las interfaces que pueden proporcionar más visibilidad y control en todo el ciclo de vida de desarrollo de software (SDLC). Y esta fue la visión que nos guio en la creación de Mentor.
Un futuro de productividad 100 veces mayor para los desarrolladores
En OutSystems siempre hemos sabido que el problema central del desarrollo de software no era solo la rapidez con la que se podía crear un software que funcionara, sino también la rapidez con la que tendría que cambiar. Incluso el sistema más complejo y gigantesco es inútil si se convierte en legado inmediatamente.
Queremos asegurarnos de que las empresas que utilizan GenAI para crear código no acaben trasladando el ahorro que consiguen a una fase posterior del proyecto, cuando se enfrenten a la necesidad de cambiar y se den cuenta de que la mitad de lo que se generó se ha vuelto opaco.
Con esto en mente, hemos estado invirtiendo mucho en dos capas separadas de generación de código: generamos abstracciones y conceptos empresariales de alto nivel con GenAI, y luego utilizamos el generador de código determinista de OutSystems, probado durante más de 20 años, para crear código en ejecución.
Esta fue la premisa bajo la cual el Proyecto Morpheus evolucionó para convertirse en Mentor, nuestro nuevo trabajador digital SDLC potenciado por IA que llegará pronto a la plataforma OutSystems. Mentor automatiza las tareas críticas y puede transformar el lenguaje natural o la documentación de requisitos del producto en aplicaciones completas que son inmediatamente utilizables, fáciles de mantener y rápidas de evolucionar.