En mi juventud (apenas saliendo de la universidad) fui por algunos años desarrollador de software en lenguaje “C”, una época en la que apliqué lo aprendido en las aulas pero, ya no para cumplir con los proyectos universitarios, sino para crear aplicaciones y resolver necesidades de la organización. Fue una época de muchos retos, errores y principalmente aprendizaje. En esos años, la programación consistía en desarrollar todas las librerías que el diseño exigía; desde los efectos en la pantalla simples hasta la creación de las bases de datos.
Revisando ahora como la Inteligencia Artificial, en particular la Generativa, me imagino todo lo que habría podido desarrollar y en menos tiempo. Así entonces, comparto un análisis sobre el Ciclo de Vida del Desarrollo de Software (SDLC), denominado “Generative AI in Software Engineering” de Aruna Pattam, que contiene valiosas recomendaciones para los colegas en la industria del software.
Fue grato la lectura puesto que distinguí que algunos pronunciamientos del análisis, yo también ya los había mencionado en mi libro “Integrando la Inteligencia Artificial en la Gestión de Proyectos”- (Amazon - 2023).
En resumen, les comparto mis principales notas de la lectura.
Análisis de requisitos:
• La IA generativa facilita la identificación de necesidades de usuarios, la creación de historias de usuarios, la ingeniería inversa y la resolución de conflictos en los requisitos.
Diseño:
• Permite la generación de diagramas de arquitectura, selección de tecnologías, creación de modelos de datos y estructuras alámbricas, y la creación de prototipos y pruebas de UI/UX.
Construcción:
• La IA generativa ayuda a la generación de código eficiente, revisión y depuración de código, migración de código heredado y generación de pruebas unitarias.
Pruebas:
• Mejora la generación de casos de prueba, creación de conjuntos de datos de prueba, automatización de pruebas y análisis de la causa raíz de problemas.
Implementación:
• La IA generativa facilita la generación de definiciones de infraestructura como código (IaC), creación de scripts de construcción de contenedores, implementación de canales de CI/CD e identificación de vulnerabilidades de seguridad.
Soporte y mantenimiento:
• Permite la detección de anomalías, análisis de comentarios de usuarios, resolución de problemas y creación de chatbots y herramientas de soporte.
Desafíos y riesgos:
• La IA generativa presenta desafíos como la confiabilidad del código, el sesgo de la IA, la dependencia excesiva de la IA, la propiedad intelectual y la naturaleza de "caja negra".
Mitigación de riesgos:
• Se pueden implementar estrategias como la validación del código, la transparencia y equidad de la IA, la combinación de IA y experiencia humana, la adaptación de marcos legales y el desarrollo de modelos de IA interpretables.
Conclusión:
La IA generativa tiene un enorme potencial para transformar el desarrollo de software, pero es crucial encontrar un equilibrio entre la IA y la experiencia humana. Se invita a los lectores a profundizar en este campo y participar en su desarrollo.
Cristóbal Morocho Moreno
PMP-DASM
Febrero 2024
(*) Imagen: AdobeStock
Comentarios
Publicar un comentario
Gracias por sus comentarios que permitan al contenido de éste Blog y al Autor mejorar continuamente.