Diez formas para mejorar el desarrollo de software con la IA generativa

Si estás liderando el desarrollo de software en tu empresa, la Inteligencia Artificial generativa (GenAI) puede aumentar tu productividad y tu velocidad entre un 20% y un 50%. Además, puede dar lugar a nuevas clases de productos y servicios. Estos beneficios se pueden lograr tanto si te enfocas en el desarrollo de productos, en apoyar el negocio o en ambos aspectos, y se producen tanto si tus desarrolladores son internos como si son proveedores de servicios.

Sabemos que estas mejoras en productividad, velocidad y calidad son reales porque ya las estamos logrando en PwC con nuestros equipos de software internos. La GenAI, trabajando codo a codo con nuestro profesionales, toma ideas y las convierte en requisitos, luego convierte los requisitos en historias de usuario, las historias de usuario en casos de prueba, los casos de prueba en código y el código en documentación. Y está acelerando y mejorando cada uno de estos pasos.

Este éxito de primera mano también nos ha convencido de que lo que estamos viendo hoy es solo el principio. Pronto, la IA generativa automatizará o aumentará cada etapa del desarrollo de software. Puede que incluso deje obsoleta la metodología agile tal y como la conocemos hoy en día.

A continuación, presentamos diez formas más factibles e impactantes en las que la GenAI puede añadir valor al desarrollo de software hoy en día, así como algunas pautas para prepararse para lo que podría hacer en el futuro.

En estos momentos: cómo la GenAI está cambiando el SDLC

En PwC, hemos implementado GenAI en toda la firma, incluyendo el desarrollo de software, con resultados especialmente gratificantes en diez áreas. Si estás desarrollando tu propio software, considera estos casos de uso, y si adquieres software, busca proveedores que puedan generar este valor y transferirlo.

  1. Generación automática de características de producto. Con las entradas adecuadas, la GenAI puede generar características relevantes y detalladas en plantillas estandarizadas y fáciles de usar.
  2. Soluciones rápidas y coherentes. La GenAI puede estandarizar y automatizar tanto la arquitectura de soluciones como el diseño de sistemas, ahorrando tiempo y dinero, y ayudando a los equipos a reutilizar componentes para ahorrar más tiempo y costes.
  3. Historias de usuario rápidas y precisas. La GenAI puede desglosar requisitos y características complejas en historias del usuario y generar criterios de aceptación, ahorrando tiempo a los equipos.
  4. Generación automática de wireframes. Puede introducir tanto las características deseadas como el contexto y, después, generar wireframes para acelerar el desarrollo.
  5. Más tests, más rápido. La GenAI puede analizar los criterios de aceptación y, a partir de ahí, generar tests para un abanico de escenarios más amplio que el que suelen cubrir los equipos humanos. Esto ahorra tiempo y puede reducir la necesidad de realizar costosas modificaciones más adelante.
  6. Generación de datos sintéticos. Puede generar datos sintéticos específicos de un dominio y utilizar datos para casos específicos de pruebas de regresión, creación de prototipos y mucho más – ahorrando tiempo, aumentando la calidad y reduciendo la necesidad de utilizar datos “reales” sensibles.
  7. Generación automática de guiones de prueba. Basándose en criterios de aceptación e incertidumbres conocidas, la GenAI puede generar guiones de pruebas de aceptación del usuario (UAT), aumentando la velocidad y la productividad de la garantía de calidad.
  8. Solución de problemas rápida y detallada. La Inteligencia Artificial también puede comparar los resultados previstos y los reales para facilitar el análisis de la causa de origen. También puede actualizar automáticamente las versiones de las bibliotecas de software.
  9. Completar y revisar el código. Aunque GenAI (todavía) no puede generar código complejo desde cero, puede ayudar a los programadores humanos mediante la finalización inteligente de código, sugerencias de refactorización de código y revisión automatizada.
  10. Documentación automática. GenAI puede documentar el desarrollo de software, facilitando la resolución de problemas y permitiendo un traspaso más fluido entre equipos. GenAI también puede generar automáticamente notas de publicación y guías de usuario.

Próximamente: nuevos tipos de software y modelos de negocio

¿Qué tipo de software desarrollarás cuando la IA generativa te ayude a hacerlo en la mitad de tiempo y a la mitad de coste? ¿A qué nuevos mercados llegará y qué nuevos modelos de negocio surgirán? Son preguntas que merece la pena plantearse porque ese futuro se acerca. Basándonos en nuestro uso diario de la GenAI, el trabajo en nuestros laboratorios de innovación y nuestras alianzas con los principales desarrolladores del ecosistema, estamos seguros de lo que esta tecnología hará por el desarrollo de software.

Durante el próximo año, prevemos que los diez casos de uso mencionados mejoren rápidamente. Los usuarios cualificados podrán instruir a la GenAI para que genere artefactos de alta calidad para historias de usuario, criterios de aceptación, casos de prueba, documentación, etcétera. La documentación, por ejemplo, será dinámica y en tiempo real. Asimismo, la GenAI será capaaz de generar APIs de forma automática.

Adicionalmente, consideramos que será capaz de generar no sólo “fragmentos” de código, sino código de más alta calidad y con mayor número de dependencias bajo arquitecturas más complejas. Realizará automáticamente simulaciones muy sofisticadas y pruebas de rendimiento y seguridad. Con la ayuda de GenAI, un sprint que hoy dura dos semanas podrá realizarse en dos días.

La etapa final: los agentes de la GenAI serán la próxima metodología Agile

A medida que la GenAI madure más, podría redefinir la metodología Agile, ya que automatiza la mayoría de las etapas y cambia continuamente de una a otra. Los agentes de la IA, por ejemplo, comprenderán probablemente de forma autónoma los requisitos, desglosarán los problemas y generarán código. Es probable que los distintos agentes de IA se comuniquen y colaboren como lo hacen las personas hoy en día. Estos agentes se mejorarán a sí mismos, actualizando automáticamente algoritmos y estrategias. Con tanta “experiencia” (es decir, datos) en la generación, prueba, revisión y mejora del código, estos agentes de la GenAI podrían predecir las necesidades de los usuarios, los requisitos de mantenimiento y los posibles fallos del sistema.

El desarrollo ya no empezaría con estudios y con planificación. Se podrá pasar directamente a la creación de prototipos, solicitando a la GenAI la generación de diferentes opciones. La reducción de costes y tiempo, y el aumento de la calidad, podrían hacer posibles nuevos modelos de negocio. Sin embargo, seguirá siendo necesario contar con ingenieros cualificados. Los humanos tendrán que desarrollar de forma creativa algoritmos, arquitecturas y experiencias de usuario para instruir cuidadosamente a los agentes de IA y supervisarlos rigurosamente en cada paso del camino.

Es hora de replantearse la forma de trabajar

Sólo será posible obtener estos beneficios  en la medida que los equipos de desarrollo puedan impulsar la IA de forma dinámica, con validación e iteración continuas. Para ello, se ha de empezar por dividir las tareas en pequeños fragmentos, ya que los modelos de GenAI destacan con proyectos finamente segmentados. A continuación, los desarrolladores solicitarán al modelo que genere resultados preliminares, que evaluarán y utilizarán para proporcionar a la GenAI un resultado aún mejor. A medida que el ciclo se repite, los resultados pueden acercarse rápidamente a las soluciones óptimas.

Si los equipos son capaces de identificar “patrones” en los casos de uso de GenAI -tareas similares en diferentes proyectos de software y fases de desarrollo- se ayudará a ampliar GenAI (y su valor) rápidamente. Y como GenAI automatiza las tareas rutinarias y permite a los desarrolladores “probar” soluciones complejas rápidamente, los desarrolladores podran ser más innovadores y creativos. Según nuestra experiencia en PwC, los desarrolladores avanzan cuando se les deja “jugar” con GenAI, ya sea de forma libre (con los límites adecuados) o en hackathons. La exploración puede convertirse rápidamente en innovación y en una importante ventaja competitiva.


atoca: