Cómo AI y ML están cambiando la ingeniería de software
Según el analista de Gartner, los modelos actuales de aprendizaje automático diseñados para generar código mejorarán la productividad de los desarrolladores.
Imagen: Nico El Niño/Adobe Stock
La inteligencia artificial y el aprendizaje automático están cambiando la forma en que operan las empresas. Las empresas están acumulando grandes cantidades de datos que se utilizan en modelos de IA y ML para automatizar y mejorar los procesos comerciales. Esto, a su vez, impulsa el desarrollo de la próxima generación de aplicaciones habilitadas para datos, lo que permite a las empresas obtener nuevos conocimientos basados en datos y mejorar el rendimiento empresarial.
El impacto de AI y ML en la empresa se extiende a las organizaciones de ingeniería de software, ya que las aplicaciones que ejecutan el negocio incorporarán cada vez más modelos de AI y ML. Por lo tanto, los equipos de ingeniería de software deben comprender cómo estas tecnologías afectarán la forma en que llevan las aplicaciones al mercado.
VER: Los líderes empresariales esperan demasiado de las aplicaciones de IA/ML, dice el director de datos (Tecnopedia)
Las herramientas de IA y ML cambiarán fundamentalmente la forma en que se crean las aplicaciones, desde plataformas y herramientas de diseño a código, a modelos ML que generan código automáticamente, a modelos que automatizan elementos de prueba de aplicaciones.
Muchos ingenieros de software pueden pensar que el uso de modelos ML en el desarrollo de aplicaciones apenas comienza a surgir, pero no es así. En una encuesta reciente de Gartner, casi el 40 por ciento de las organizaciones de ingeniería de software dijeron que ya usan modelos ML de forma moderada a extensa en el desarrollo de aplicaciones. Sin embargo, la mayoría de los equipos de desarrollo no tienen un alto nivel de comprensión de ML.
Aquí hay tres formas en que ML está afectando la ingeniería de software y lo que los desarrolladores deben saber sobre la próxima evolución.
Salta a:
Codificación de aplicaciones mejorada con aprendizaje automático
Una nueva generación de asistentes de codificación para desarrolladores profesionales que muestra no solo terminaciones más largas y frescas, sino también la capacidad de generar código usando comentarios. Las herramientas de creación de código habilitadas para ML, como Copilot, CodeWhisperer y Tabnine, se conectan a las herramientas IDE de un desarrollador y generan automáticamente código de aplicación en respuesta a comentarios o líneas de código. Estos modelos de creación de código son derivados de modelos de lenguaje más grandes que los hiperescaladores han estado desarrollando, como GPT-3.5 de OpenAI, que es la base de la aplicación ChatGPT. Por ejemplo, Codex se deriva de GPT-3 pero está optimizado para crear código de software. Gartner predice que para 2027, el 50 % de los desarrolladores usarán herramientas de codificación impulsadas por ML, frente a menos del 5 % actual.
Los líderes de ingeniería de software inevitablemente se preguntan si estos modelos eliminarán o reducirán la necesidad de que los ingenieros escriban código de aplicación. Los modelos de ML actuales diseñados para generar código aumentarán la productividad de los desarrolladores, pero no los reemplazarán a corto o mediano plazo. Sin embargo, el futuro puede traer cambios adicionales.
Diseño de aplicaciones mejorado por aprendizaje automático
Más cobertura de IA de lectura obligada
El impacto de la IA y el ML en la ingeniería de software no se limita a la incorporación de modelos en las aplicaciones, sino que se extiende a las herramientas que utilizan los diseñadores para crear experiencias de usuario atractivas para sus productos digitales. El flujo de trabajo de transferencia de activos y especificaciones de diseño de los diseñadores de UX a los ingenieros de software parece estar cada vez más automatizado. La creciente adopción de sistemas de diseño ayuda a facilitar este cambio. Se espera que estas capacidades continúen mejorando rápidamente, reduciendo el tiempo de implementación de las aplicaciones.
Históricamente, las diferentes perspectivas de los diseñadores y desarrolladores han generado problemas en la creación de aplicaciones con experiencias de usuario atractivas. De cara al futuro del diseño de productos digitales empresariales, los líderes de equipos de productos digitales tendrán habilidades tanto de diseño como de desarrollo. Surgirá el papel de un «estratega de diseño», liderando equipos convergentes de diseñadores y desarrolladores para ofrecer mejores productos digitales más rápido mientras se mejora la calidad de las aplicaciones.
Pruebas de aplicaciones mejoradas de aprendizaje automático
AI y ML también pueden afectar el proceso de prueba de aplicaciones en áreas clave como la planificación y priorización, creación y mantenimiento, generación de datos, pruebas visuales y análisis de defectos. Los líderes de ingeniería de software enfrentan una escasez de probadores experimentados, especialmente aquellos con las habilidades necesarias para crear pruebas mediante programación. Las herramientas de prueba de software mejoradas con IA utilizan enfoques algorítmicos para mejorar la productividad de los probadores. Esto puede aumentar significativamente la eficiencia de las herramientas de automatización de pruebas, lo que permite a los equipos de ingeniería de software mejorar la calidad del software y reducir los tiempos del ciclo de prueba.
Varios proveedores nuevos han ingresado al mercado de pruebas de software aumentadas por IA, y las adquisiciones de proveedores han sido comunes en el último año. Gartner predice que para 2027, el 80 por ciento de las empresas habrán integrado herramientas de prueba mejoradas con IA en sus cadenas de herramientas de ingeniería de software, un aumento significativo del 10 por ciento en 2023. A medida que las aplicaciones se vuelven más complejas, las pruebas aumentadas por IA jugarán un papel clave para ayudar a los equipos a entregar aplicaciones de alta calidad rápidamente.
El impacto de AI y ML en la ingeniería de software es enorme, y no se puede subestimar el impacto positivo de un esfuerzo conjunto entre la ciencia de datos y la ingeniería de software. La gran cantidad de datos que tienen las empresas puede agregar un valor significativo a las aplicaciones comerciales a través de modelos que generan predicciones, modelos de puntuación, recomendaciones de próximas mejores acciones y otras herramientas valiosas para mejorar el negocio. Este esfuerzo conjunto permite prácticas recomendadas repetibles que mejoran el rendimiento comercial y generan un ROI sólido para el gasto comercial en estas tecnologías.
Van Beek. Imagen: Gartner
Van Baker es vicepresidente analista de Gartner, Inc., responsable de los servicios de desarrollo de IA en la nube y la IA generativa, incluidos los servicios de lenguaje natural, visión y aprendizaje automático automatizado. Los analistas de Gartner brindarán información adicional sobre las últimas estrategias de aplicaciones en la Cumbre de soluciones comerciales e innovación de aplicaciones de Gartner, que se llevará a cabo del 22 al 24 de mayo de 2023 en Las Vegas, Nevada.