Software Mar 11, 2024

Primeros beneficios de la IA generativa para el desarrollo de ‘software’

Claves de la implementación inicial de IA generativa en todo el ciclo de vida del desarrollo de aplicaciones, incluidos los beneficios, las limitaciones, los impactos en el equipo y las lecciones aprendidas.

Claves de la implementación inicial de IA generativa en todo el ciclo de vida del desarrollo de aplicaciones, incluidos los beneficios, las limitaciones, los impactos en el equipo y las lecciones aprendidas.

La IA generativa ya está teniendo un impacto en múltiples áreas de TI, sobre todo en el desarrollo de software.

Los primeros casos de uso incluyen generación y documentación de código, generación de casos de prueba y automatización de pruebas, así como optimización y refactorización de código, entre otros.

Aun así, la IA generativa para el desarrollo de software se encuentra en sus etapas incipientes, por lo que los líderes tecnológicos y los equipos de software pueden esperar encontrar obstáculos en el camino. Pero los primeros resultados indican que la tecnología puede proporcionar beneficios para el proceso de creación y mejora de aplicaciones, con salvedades.

Asistencia durante todo el ciclo de vida del desarrollo de aplicaciones

La IA generativa "ha abierto el conjunto de conocimientos que los desarrolladores pueden aprovechar en un paradigma de tipo conversación", afirma Prasad Ramakrishnan, vicepresidente senior de TI y CIO de Freshworks, un proveedor de software de servicio al cliente. 

"Es casi como tener un colega de escritorio con quien intercambiar ideas", dice Ramakrishnan. "Nuestro lanzamiento inicial de IA generativa ha permitido a nuestro equipo desarrollar código en días, en lugar de semanas".

La clave del éxito en el ciclo de vida del desarrollo de software es el proceso de control de calidad y verificación, afirma Ramakrishnan. "La madurez de cualquier organización de desarrollo se puede medir fácilmente en términos del tamaño y tipo de inversión realizada en garantía de calidad", sostiene. "La IA generativa está desempeñando un papel al ayudar a realizar revisiones de código y la detección temprana de problemas potenciales".

La generación de IA también está reduciendo el tiempo necesario para completar las pruebas, a través de la automatización, afirma Ramakrishnan. "La detección de anomalías es otra área en la que la IA generativa puede ayudar a identificar defectos ocultos y minas terrestres".

La empresa de servicios financieros Vanguard está experimentando “de forma rápida y segura” con herramientas de IA generativa (con supervisión y experiencia humanas) que permiten aumentar la productividad de los desarrolladores, afirma Nitin Tandon, CIO.

"El desarrollo de software y codificación sigue siendo un área de experimentación de gran valor, además del desarrollo de contenidos y la gestión del conocimiento, en un esfuerzo por impulsar la eficiencia operativa", afirma.

Los primeros resultados de un programa piloto para el desarrollo de la IA generativa son alentadores, afirma Tandon, los desarrolladores informan que la IA generativa agiliza la generación, la depuración y la coherencia del código.

"Los desarrolladores junior están reportando los mayores aumentos de productividad, pero ésta sigue siendo un área de investigación y experimentación activa", dice Tandon.

“Además, estamos estudiando la posibilidad de capacitar LLM [modelos de lenguajes grandes] en nuestra base de código para desbloquear mayores aumentos de productividad para nuestros desarrolladores e ingenieros de datos. Con nuestra gran base de talento desarrollador en Vanguard, incluso un aumento moderado en la productividad puede generar un valor significativo para nuestros clientes”.

El proveedor de tecnología financiera Momnt está utilizando Github Copilot, una herramienta de inteligencia artificial basada en la nube desarrollada por GitHub y OpenAI de Microsoft para ayudar a los usuarios de varias plataformas de desarrollo mediante el autocompletado de código.

Los equipos de desarrollo de software de Momnt, incluidos profesionales de ingeniería y control de calidad, utilizan GitHub Copilot para respaldar el desarrollo de la plataforma de préstamos de la empresa, entre otras herramientas.

"Queremos que nuestros desarrolladores e ingenieros de software utilicen herramientas de IA generativa para ayudar a generar diversos casos de prueba; nuestros ingenieros de control de calidad utilizarán estas herramientas para realizar evaluaciones más exhaustivas sin sacrificar tiempo", afirma Brian Lanehart, presidente y director de Tecnología.

"Hasta ahora, la adopción colectiva por parte de nuestros equipos de nuevas soluciones tecnológicas y de IA ha sido positiva", dice Lanehart. “Siguen sintiendo curiosidad y buscando nuevas herramientas para implementar en sus procesos diarios. Hacerlo no sólo agiliza las tareas diarias, sino que también mejora la eficiencia general del equipo”.

A medida que los equipos de desarrollo se familiaricen cada vez más con estas herramientas, su comprensión de las mismas y su capacidad para aplicarlas a diversos escenarios empresariales aportará un valor aún mayor, afirma Lanehart.

"Por ejemplo, poder comunicar completamente una solicitud de aplicación completa para generar IA que genere todo el código necesario reducirá significativamente el cronograma de la tarea", dice Lanehart. Eso significa que un ingeniero o equipo tiene libertad para dedicar más tiempo a pensar de forma creativa o estratégica sobre el proyecto general y cómo mejorarlo aún más.

El equipo de desarrollo de la empresa de software ZoomInfo estaba ansioso por experimentar con herramientas de IA generativa una vez que estuvieron disponibles el año pasado para su uso a escala, dice el CTO Ali Dasdan.

Uno de los primeros casos de uso proporcionó a los desarrolladores de software de la empresa acceso a Github Copilot. Después del éxito inicial, ZoomInfo ha comenzado a integrar IA de generación en toda su organización para mejorar la productividad, comenta Dasdan. Un ejemplo es la búsqueda y el resumen de documentos.

"El desarrollo de software requiere una gran cantidad de documentación", afirma Dasdan. "Documentos como los requisitos de productos y los diseños de arquitectura son estándar en organizaciones bien administradas", pero los equipos de desarrollo necesitan mucho tiempo para revisar estos documentos. "La IA generativa ha liberado una cantidad significativa de tiempo al resumir e indexar estos documentos en solo unos minutos".

El éxito de la prueba llevó a la empresa a obtener licencias para casi todos sus desarrolladores de software. "Sin embargo, nuestros ingenieros aún tienen que revisar el código que crea la herramienta", dice Dasdan. "Ya hemos aceptado decenas de miles de líneas de código y nos hemos dado cuenta de que hemos ahorrado una cantidad significativa de tiempo".

Límites, impactos del equipo y lecciones aprendidas

Una de las conclusiones clave del uso temprano de la IA generativa es que no reemplazará a los desarrolladores humanos.

En el proveedor de servicios de TI BDO Digital, inicialmente hubo una "ola de entusiasmo" sobre el potencial de la generación de IA para generar software complejo de forma autónoma, dice Kirstie Tiernan, directora de la práctica de datos e IA de la empresa.

"Sin embargo, aprendimos rápidamente que la IA es una herramienta para aumentar la experiencia humana, no para reemplazarla", afirma Tiernan. “La necesidad de supervisión humana para garantizar la calidad y funcionalidad del código generado por IA se hizo evidente rápidamente. Es una asociación en la que la IA se encarga de parte del trabajo pesado, lo que permite a los desarrolladores centrarse en la resolución estratégica de problemas”.

Una lección clave que BDO está aprendiendo es la importancia de integrar las herramientas de IA con los flujos de trabajo existentes. “No se trata sólo de adoptar nuevas herramientas; [Se trata] más de cómo los equipos de desarrollo operan, se comunican y colaboran”, dice Tiernan. "El proceso de integración destaca la necesidad de flexibilidad y adaptabilidad en todas nuestras prácticas de desarrollo".

Una de las sorpresas más interesantes de BDO fue el impacto de la IA en la creatividad y la innovación. "Al automatizar las tareas rutinarias, los desarrolladores se han visto liberados para afrontar desafíos más complejos y explorar soluciones más innovadoras", afirma Tiernan. "Es emocionante ver cómo la IA puede servir como catalizador de la creatividad y la ideación humanas".

Con cualquier solución tecnológica nueva, uno de los mayores desafíos es identificar hasta qué punto un equipo debe integrar o confiar en la herramienta, dice Lanehart de Momnt.

"Una de nuestras creencias fundamentales es utilizar la tecnología para empoderar y apoyar a las personas", afirma. “Entonces, sabíamos que no queríamos que la IA y las herramientas de IA generativa funcionaran como reemplazo de nuestros empleados. En cambio, queríamos que las herramientas complementaran las habilidades que estas personas aportan al equipo y les ayudaran a funcionar de forma más eficaz y eficiente”.

La industria tecnológica en general está experimentando una mayor demanda de personas que puedan supervisar, implementar y ejecutar herramientas de IA generativa, dice Lanehart. Por ejemplo, podría ser un empleado que trabaja en el equipo de desarrollo de productos, pero cuya experiencia principal es ChatGPT o Copilot, dice.

A medida que la IA generativa se vuelve cada vez más frecuente, "vemos valor en tener personas con capacitación cruzada en estas herramientas", dice Lanehart. "Queremos personas que puedan resolver nuevos problemas de diversas maneras y queremos que aporten ese conocimiento a nuestro equipo".

Momnt ha comenzado a alentar a los miembros de su equipo de desarrollo de software a ampliar su comprensión de las herramientas de inteligencia artificial de generación aplicándolas a sus intereses personales, como la música, la comedia y otras áreas, dice Lanehart. "Encontrar superposiciones entre las aplicaciones de la IA tanto para fintech como para intereses personales coloca a nuestro equipo en una posición única para impulsar el crecimiento de una nueva industria", afirma.

Lyric, una empresa de tecnología sanitaria, está aprovechando el poder de los LLM para mejorar varios procesos, afirma Akshay Sharma, director de IA. Pero una de las primeras lecciones fue cuánto trabajo se necesitaba para obtener el valor correcto de los LLM.

“Fuera de lo común, son algo generalizados, no dan en el blanco y alucinan”, dice Sharma. “Pero, con la ingeniería y el diseño adecuados [y] realizando experimentos con indicaciones, podemos sacar mucho provecho de esto. Tuvimos que crear muchos marcos experimentales y de prueba para evaluar continuamente la generación de IA”.

Ramakrishnan de Freshworks cree que la IA generativa tiene el potencial de permitir a los desarrolladores llevar aplicaciones al mercado más rápido; "sin embargo, sus habilidades deberán adaptarse para ser profesionales en ingeniería rápida", dice. "La codificación generada por IA sólo será tan valiosa y precisa como el tipo de mensaje que se solicite".

Además, el código de IA debe ser verificado por desarrolladores experimentados para confirmar su precisión, añade Ramakrishnan. "No puedo dejar de enfatizar el valor de las revisiones de código por parte de humanos en códigos generados por máquinas", dice. "A pesar de su valor de productividad para el lugar de trabajo, la IA está lejos de ser perfecta y requiere supervisión".

Además, el uso de la IA plantea algunas cuestiones éticas relacionadas con la introducción de sesgos en los algoritmos, lo que puede tener consecuencias no deseadas si no se controla, afirma Ramakrishnan. "También introduce nuevas consideraciones en el ámbito de la seguridad de la información", afirma. "Los malos actores ahora tienen un alcance más amplio para introducir códigos maliciosos en millones, si no miles de millones, de sistemas".

Habrá una necesidad constante de reequipar a la fuerza laboral para hacer un uso efectivo de la IA, Ramakrishnan. “Dicho esto, apenas estamos arañando la superficie del valor de productividad de la IA generativa”, afirma. "Los mejores días están por delante".

Desde el punto de vista de los desarrolladores

Una de las mejores formas de determinar el impacto de la IA generativa en los equipos de desarrollo es pedirles a los miembros del equipo que opinen sobre sus experiencias. Para recopilar comentarios internos sobre el uso de GitHub Copilot por parte de ZoomInfo, la compañía realizó una encuesta a aproximadamente 80 de sus desarrolladores. La investigación demostró que Copilot tiene varios puntos fuertes.

Una es la capacidad de generar código repetitivo, lo que permite a los desarrolladores centrarse en una lógica compleja. Otra es una reducción drástica del tiempo que lleva escribir pruebas unitarias. "Muchos usuarios informan que la herramienta mejora su velocidad de codificación al ofrecer sugerencias de código útiles y líneas de autocompletado", dice Dasdan de ZoomInfo.

Estas fortalezas dieron como resultado varios beneficios para los desarrolladores de ZoomInfo, y una gran mayoría dijo que Copilot redujo la cantidad de tiempo necesario para completar las tareas, en un promedio del 20 %. Aproximadamente dos tercios dijeron que el uso de la tecnología de IA generativa les permitió completar más tareas por sprint, y alrededor de tres cuartas partes dijeron que la calidad de su trabajo mejoró.

"Basándonos en estos primeros resultados sólidos, anticipamos que las herramientas de IA generativa continuarán mejorando la productividad de nuestros ingenieros, además de ahorrar tiempo en tareas que son auxiliares para escribir el código de producción real", dice Dasdan.

El futuro de la IA generativa del desarrollo de 'software'

Los líderes del desarrollo confían en que la IA generativa no hará más que crecer en importancia como herramienta de desarrollo.

"De cara al futuro, el potencial de aumento de la productividad con la IA generativa es sustancial", afirma Tiernan de BDO Digital. "A medida que estas herramientas se integren más en el tejido del desarrollo de software, es probable que veamos reducciones dramáticas en el tiempo y los costes de desarrollo".

Por ejemplo, automatizar la generación de código repetitivo y proporcionar sugerencias en tiempo real para corregir errores puede reducir a la mitad el tiempo tradicionalmente necesario para ciertas tareas de desarrollo, afirma Tiernan.

"Pero el verdadero cambio de juego estará en cómo la IA generativa nos permite abordar problemas más complejos de manera más eficiente", incide Tiernan. "Con la IA manejando aspectos rutinarios, los desarrolladores pueden centrarse en la innovación estratégica, ampliando los límites de lo que es posible en las soluciones de software".

Casa Argentina de Ciencia y Tecnología: Su fuente de noticias sobre tecnología, inteligencia artificial, aeroespacial y biotecnología

Casa Argentina de Ciencia y Tecnología es un portal de noticias de tecnología. Comprometidos a informar sobre los últimos avances en tecnología, inteligencia artificial, biotecnología, datos y otros campos.