

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Capacidades fundamentales para una experiencia de desarrollo de software basada en la IA
<a name="generative-ai-capabilities"></a>

Para implementar con éxito una experiencia de desarrollo de software generativa basada en la IA, es necesario establecer un conjunto de capacidades fundamentales que abarquen a varias personas de su organización. Estas capacidades representan su capacidad para desplegar recursos y procesos de forma eficaz y lograr los resultados deseados en el contexto del desarrollo de software impulsado por la IA. Al cultivar estas capacidades, se crea una base sólida que le ayuda a integrar sin problemas la IA generativa en todas las etapas del SDLC.

AWS proporciona servicios clave para ayudarlo a implementar estas capacidades. Por ejemplo, [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html) ayuda a acelerar el desarrollo de software al actuar como un asistente impulsado por IA. [Amazon Q Business](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html) te ayuda a obtener respuestas rápidas y relevantes a preguntas urgentes, resolver problemas y generar contenido. También puede actuar en su nombre integrando herramientas relacionadas con el desarrollo de software. [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) proporciona acceso a modelos básicos y a un amplio conjunto de capacidades para personalizar requisitos y flujos de trabajo de desarrollo específicos.

Al desarrollar estas capacidades Servicios de AWS, usted crea una base sólida que le ayuda a integrar sin problemas la IA generativa en todas las etapas del SDLC.

Las siguientes son las capacidades fundamentales en las que debes centrarte:
+ [Administración de proyectos](generative-ai-capabilities-proj-mgmt.md)
+ [Gestión de requisitos](generative-ai-capabilities-req-mgmt.md)
+ [Arquitectura y diseño](generative-ai-capabilities-arch-design.md)
+ [Colaboración](generative-ai-capabilities-collaboration.md)
+ [DevSecOps](generative-ai-capabilities-devsecops.md)
+ [Operación y mantenimiento](generative-ai-capabilities-ops-maintenance.md)
+ [Asistentes de IA](generative-ai-capabilities-assistants.md)
+ [Uso de análisis e información](generative-ai-capabilities-analytics.md)
+ [Administración de conocimientos](generative-ai-capabilities-knowledge-mgmt.md)
+ [Extensibilidad](generative-ai-capabilities-extensibility.md)

Cada capacidad fundamental se integra con las dimensiones del marco y las diferentes etapas del SDLC. Esta integración le ayuda a utilizar las capacidades de IA de forma eficaz en todo el proceso de desarrollo de software. Mejora la eficiencia, la calidad y la innovación en cada paso. La sinergia entre estas capacidades fundamentales, el marco y las etapas del SDLC crea un ecosistema integral para el desarrollo de software impulsado por la IA. Esto le ayuda a aprovechar todo el potencial de la IA generativa, impulsar la mejora continua, acelerar los ciclos de desarrollo y ofrecer productos de software de calidad.

La siguiente tabla muestra cómo las capacidades y subcapacidades fundamentales se corresponden con las dimensiones del marco y las fases del SDLC.


****  

| Capacidad: subcapacidad | Investiga | Integrar | Interactuar | Itera | Impact | 
| --- | --- | --- | --- | --- | --- | 
| Gestión de proyectos: gestión de problemas | Requisitos y planificación | Ninguno | Ninguna | Ninguna | Ninguno | 
| Gestión de proyectos: gestión de sprints y tareas | Requisitos y planificación | Requisitos y planificación | Ninguno | Ninguna | Ninguno | 
| Gestión de proyectos: gestión de la cartera de productos | Requisitos y planificación | Ninguno | Ninguno | Requisitos y planificación | Ninguno | 
| Gestión de proyectos: mapeo de historias de usuarios | Requisitos y planificación | Ninguno | Ninguna | Ninguna | Ninguno | 
| Gestión de proyectos: informes y análisis | Requisitos y planificación | Ninguno | Ninguna | Ninguno | Requisitos y planificación | 
| Gestión de proyectos: gestión de la hoja de ruta del producto | Requisitos y planificación | Ninguno | Requisitos y planificación | Ninguno | Ninguno | 
| Gestión de proyectos: circuitos de retroalimentación | Ninguno | Ninguna | Ninguno | Requisitos y planificación | Ninguno | 
| Gestión de proyectos: retrospectivas | Ninguno | Ninguna | Ninguno | Requisitos y planificación | Ninguno | 
| Gestión de requisitos | Requisitos y planificación | Requisitos y planificación | Ninguno | Ninguna | Ninguno | 
| Arquitectura y diseño: diseño de soluciones | Diseño y arquitectura | Diseño y arquitectura | Ninguno | Ninguna | Ninguno | 
| Colaboración: gestión de la documentación | Todas las fases del SDLC | Ninguno | Todas las fases del SDLC | Ninguno | Ninguno | 
| Colaboración: intercambio de conocimientos | Todas las fases del SDLC | Ninguno | Todas las fases del SDLC | Ninguno | Ninguno | 
| Colaboración: gestión de activos del proyecto | Ninguno | Todas las fases del SDLC | Todas las fases del SDLC | Ninguno | Ninguno | 
| DevSecOps: CI/CD | Pruebas, despliegue | Implementación, pruebas, despliegue | Implementación | Ninguno | Ninguno | 
| DevSecOps: DevOps seguridad | Implementación | Implementación, pruebas, operación y mantenimiento | Ninguno | Implementación, pruebas, operación y mantenimiento | Ninguno | 
| DevSecOps: Supervisión del rendimiento de las aplicaciones | Ninguno | Operación y mantenimiento | Ninguno | Ninguna | Ninguno | 
| DevSecOps: Agregación y análisis de registros | Operación y mantenimiento | Operación y mantenimiento | Ninguno | Ninguna | Ninguno | 
| DevSecOps: AIOps | Operación y mantenimiento | Ninguno | Ninguno | Operación y mantenimiento | Ninguno | 
| DevSecOps: Mejora continua | Ninguno | Ninguna | Ninguno | Operación y mantenimiento | Ninguno | 
| DevSecOps: Supervisión del panel de control | Ninguno | Operación y mantenimiento | Ninguno | Ninguna | Ninguno | 
| DevSecOps: Información sobre el rendimiento | Operación y mantenimiento | Ninguno | Ninguno | Operación y mantenimiento | Ninguno | 
| Operación y mantenimiento: gestión de incidentes | Ninguno | Ninguna | Ninguno | Operación y mantenimiento | Ninguno | 
| Operación y mantenimiento: actualizaciones de código | Ninguno | Operación y mantenimiento | Ninguno | Ninguna | Ninguno | 
| Operación y mantenimiento: optimización del código | Operación y mantenimiento | Operación y mantenimiento | Ninguno | Ninguna | Ninguno | 
| Operación y mantenimiento: gestión técnica de la deuda | Ninguno | Operación y mantenimiento | Operación y mantenimiento | Ninguno | Ninguno | 
| Operación y mantenimiento: gestión de cambios | Ninguno | Implementación, despliegue | Ninguno | Ninguna | Ninguno | 
| Operación y mantenimiento: ingeniería inversa | Operación y mantenimiento | Ninguno | Ninguna | Ninguna | Ninguno | 
| Operación y mantenimiento: modernización del código | Ninguno | Implementación | Ninguno | Ninguna | Ninguno | 
| Operación y mantenimiento: optimización del rendimiento | Ninguno | Operación y mantenimiento | Ninguno | Operación y mantenimiento | Ninguno | 
| Análisis e información | Ninguno | Requisitos y planificación | Ninguno | Ninguno | Todas las fases del SDLC | 
| Asistente de IA | Ninguno | Ninguno | Todas las fases del SDLC | Ninguno | Ninguno | 
| Gestión del conocimiento | Ninguno | Ninguno | Todas las fases del SDLC | Ninguno | Ninguno | 
| Extensibilidad | Ninguno | Implementación | Ninguno | Ninguna | Ninguno | 

# Casos de uso de IA generativa para la gestión de proyectos
<a name="generative-ai-capabilities-proj-mgmt"></a>

La gestión eficaz de los proyectos es la base del éxito del desarrollo de software. En el contexto de la IA generativa, la gestión de proyectos adquiere nuevas dimensiones. Puede ser más predictiva, adaptativa y basada en datos. Las herramientas de gestión de proyectos impulsadas por la IA analizan los datos históricos del proyecto para generar estimaciones de tiempo y recursos más precisas. Pueden priorizar automáticamente las tareas en función de los objetivos empresariales y la capacidad del equipo, e incluso pueden predecir posibles obstáculos antes de que se produzcan. Por ejemplo, un director de proyecto podría utilizar la IA generativa para crear un plan de proyecto preliminar basado en los requisitos del proyecto y en los datos históricos de proyectos similares. La IA podría entonces sugerir composiciones de equipo óptimas que tengan en cuenta las habilidades, las cargas de trabajo y las necesidades del proyecto. A lo largo del proyecto, los cuadros de mando basados en la IA proporcionan información prácticamente en tiempo real sobre el estado del proyecto, ya que generan informes automáticamente y destacan las áreas que requieren atención.

Este enfoque de gestión de proyectos impulsado por la IA puede mejorar la eficiencia. Ayuda a los directores de proyectos a centrarse en la toma de decisiones estratégicas y en el liderazgo del equipo, en lugar de quedarse atascados en tareas administrativas rutinarias.

La siguiente tabla muestra los casos de uso de la gestión de proyectos que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Subcapacidad: caso de uso | Persona | 
| --- | --- | 
| Gestión de problemas: cree y asigne problemas | Administrador de proyectos | 
| Gestión de problemas: detecte problemas durante las pruebas y regístrelos | Ingeniero de pruebas | 
| Gestión de problemas: priorice los problemas en función de su gravedad y asígnelos a los desarrolladores | Administrador de proyectos | 
| Gestión de problemas: identifique y combine los problemas duplicados | Administrador de proyectos | 
| Gestión de problemas: realice un seguimiento y genere informes sobre los problemas clave, las métricas y el estado general del proyecto | Administrador de proyectos | 
| Gestión de sprints y tareas: Calcule el esfuerzo realizado para realizar las tareas y asigne argumentos en función de la capacidad del equipo | Scrum Master | 
| Gestión del sprint y de las tareas: distribuya las tareas entre los miembros del equipo para lograr una carga de trabajo uniforme a lo largo del sprint | Scrum Master | 
| Gestión de sprints y tareas: facilita las sesiones de planificación de los sprints para alinear los esfuerzos del equipo con los objetivos del sprint | Scrum Master | 
| Gestión de la cartera de productos: reordene los elementos de la cartera de pedidos en función del valor empresarial, la urgencia y los comentarios de los usuarios | Propietario del producto | 
| Gestión de la cartera de productos: integre los comentarios de los nuevos clientes y la información sobre el mercado en la cartera de productos para priorizarlos casi en tiempo real | Propietario del producto | 
| Gestión de la cartera de productos: identifique y gestione las dependencias entre los elementos de la cartera de productos para agilizar el desarrollo | Gerente de producto | 
| Mapeo de historias de usuarios: cree mapas de los viajes de los usuarios para identificar todas las funciones necesarias y sus historias de usuario correspondientes | Propietario del producto | 
| Mapeo de historias de usuario: identifique las brechas o los pasos que faltan en el flujo de usuarios | Analista de negocios | 
| Mapeo de historias de usuario: priorice las historias de usuario en función de su impacto en el valor empresarial | Gerente de producto | 
| Informes y análisis: genere paneles prácticamente en tiempo real que visualicen las métricas clave del proyecto, como la velocidad de los sprints y las tasas de resolución de problemas | Administrador de proyectos | 
| Informes y análisis: analice los datos históricos y prediga los resultados futuros del proyecto, como posibles retrasos o cuellos de botella | Administrador de proyectos | 
| Informes y análisis: cree informes personalizados, como informes sobre el rendimiento del equipo o el estado del proyecto, que se adapten a las diferentes partes interesadas | Administrador de proyectos | 
| Gestión de la hoja de ruta del producto: cree y mantenga una hoja de ruta del producto que describa los hitos principales y las fechas de lanzamiento | Administrador de proyectos | 
| Gestión de la hoja de ruta del producto: actualice la hoja de ruta en función de los cambios en las prioridades o los plazos del proyecto | Gerente de producto | 
| Gestión de la hoja de ruta del producto: comparta la hoja de ruta con las partes interesadas para proporcionar visibilidad sobre la dirección del producto | Gerente de producto | 
| Bucles de retroalimentación: recopila los comentarios del equipo después de cada sprint e identifica las áreas de mejora | Scrum Master | 
| Retrospectivas: Traduce los comentarios en elementos procesables para el próximo sprint, impulsando la mejora continua | Scrum Master | 
| Retrospectivas: haga un seguimiento del impacto de los cambios implementados a partir de retrospectivas anteriores para medir su eficacia | Maestro de Scrum | 

# Casos de uso de IA generativa para la gestión de requisitos
<a name="generative-ai-capabilities-req-mgmt"></a>

La gestión de requisitos es un proceso fundamental que está estrechamente vinculado a la gestión de proyectos. Imagine que el propietario de un producto utiliza una herramienta de inteligencia artificial para analizar los comentarios de los clientes, las tendencias del mercado y las opiniones de las partes interesadas. La herramienta de IA podría generar un conjunto completo de historias de usuario y requisitos, clasificarlos automáticamente, detectar posibles conflictos o brechas e incluso sugerir la priorización en función del valor empresarial y la complejidad de la implementación. A medida que el proyecto avanza y los requisitos evolucionan, la IA puede actualizar y refinar continuamente los requisitos para asegurarse de que estén alineados con las cambiantes necesidades empresariales y las limitaciones técnicas. Este enfoque dinámico e impulsado por la IA para la gestión de requisitos ayuda a garantizar que los esfuerzos de desarrollo se mantengan estrechamente alineados con las necesidades de los usuarios y los objetivos empresariales durante todo el ciclo de vida del proyecto.

La siguiente tabla muestra los casos de uso de la gestión de requisitos que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Caso de uso | Persona | 
| --- | --- | 
| Cree requisitos empresariales | Analista de negocios | 
| Cree epopeyas a partir de funciones | Propietario del producto | 
| Sigue el progreso de una epopeya supervisando la finalización de las historias de usuario asociadas | Gerente de producto | 
| Crea historias de usuario | Propietario del producto | 
| Calcule el esfuerzo necesario para cada historia de uso y asigne puntos a la historia | Maestro de Scrum | 
| Defina los criterios de aceptación para cada historia de usuario | Propietario del producto | 

# Casos de uso de IA generativa para arquitectura y diseño
<a name="generative-ai-capabilities-arch-design"></a>

Con una base sólida de gestión de proyectos y requisitos bien definidos, la siguiente capacidad crítica es la arquitectura y el diseño. En este sentido, la IA generativa abre nuevas posibilidades para crear arquitecturas de software sólidas, escalables y eficientes. Las herramientas de diseño impulsadas por la IA pueden analizar los requisitos y las limitaciones para sugerir patrones arquitectónicos y enfoques de diseño óptimos. Generan múltiples alternativas de diseño, y cada una está optimizada para diferentes prioridades, como el rendimiento, la escalabilidad o la facilidad de mantenimiento. Por ejemplo, un arquitecto de soluciones podría utilizar un asistente de IA para generar rápidamente varios diseños arquitectónicos de alto nivel en función de los requisitos del proyecto. Este enfoque impulsado por la IA acelera el proceso de diseño y ayuda a los arquitectos a tomar decisiones más informadas. Esto conduce a diseños de software más robustos y preparados para el futuro.

La siguiente tabla muestra los casos de uso de arquitectura y diseño que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Caso de uso | Persona | 
| --- | --- | 
| Crea un documento de arquitectura | Arquitectura de soluciones | 
| Cree un documento de diseño detallado | Líder técnico | 
| Comprenda los estándares de arquitectura y diseño existentes | Arquitectura de soluciones | 
| Desarrolle maquetas y prototipos detallados de una interfaz de usuario | Diseñador de UX/UI | 

# Casos de uso de IA generativa para la colaboración
<a name="generative-ai-capabilities-collaboration"></a>

El desarrollo de software es intrínsecamente un esfuerzo colaborativo. Puede utilizar la IA generativa para mejorar la colaboración en su equipo de desarrollo de software. Las herramientas de colaboración impulsadas por la IA van más allá de la simple mensajería y el intercambio de archivos. Facilitan una comunicación más eficaz al resumir largos hilos de debate, destacar las decisiones clave e incluso sugerir horarios óptimos para las reuniones en función de los horarios y los patrones de productividad de los miembros del equipo. La IA puede ayudar a revisar el código al identificar automáticamente los posibles problemas, sugerir mejoras e incluso explicar los cambios complejos a los revisores. Durante las sesiones de intercambio de ideas, la IA puede actuar como facilitadora, generar ideas, ayudar a organizar las reflexiones e incluso mediar en los debates para garantizar que se escuchen todas las voces. En el caso de los equipos distribuidos, la IA puede ayudar a superar las barreras culturales y lingüísticas. Puede ofrecer traducciones de idiomas prácticamente en tiempo real en los chats y las videollamadas, y ofrecer un contexto cultural que ayude a evitar malentendidos. Al aumentar la colaboración humana con la IA, esta capacidad ayuda a los equipos a trabajar de manera más eficiente y eficaz, lo que fomenta la innovación y mejora los resultados generales del proyecto.

En la siguiente tabla se muestra cómo se puede utilizar la IA generativa para mejorar los casos de uso de la colaboración.


****  

| Subcapacidad: caso de uso | Persona | 
| --- | --- | 
| Administración de documentos: cree y mantenga un repositorio de documentación centralizado | Redactor técnico | 
| Gestión de documentos: permite que varios miembros del equipo colaboren en la documentación en tiempo real | Desarrollo en equipo | 
| Intercambio de conocimientos: utilice los foros de debate como plataforma para que los desarrolladores formulen preguntas, compartan conocimientos y solucionen problemas de forma colaborativa | Desarrollo en equipo | 
| Intercambio de conocimientos: utilice los foros de debate para documentar y realizar un seguimiento de las decisiones tomadas durante las discusiones del proyecto, asegurándose de que se capte la razón de ser de las decisiones clave y que esté accesible para consultarlas en el futuro | Director de producto | 
| Gestión de activos del proyecto: facilite el intercambio fácil de los recursos relacionados con el proyecto | Desarrollo en equipo | 
| Gestión de activos del proyecto: Implemente el control de versiones del contenido compartido para que los miembros del equipo puedan realizar un seguimiento de los cambios, volver a versiones anteriores y colaborar en las actualizaciones del contenido | Desarrollo en equipo | 

# Casos de uso de IA generativa para DevSecOps
<a name="generative-ai-capabilities-devsecops"></a>

 DevSecOps Las herramientas impulsadas por la IA automatizan muchos aspectos del proceso de entrega de software. Por ejemplo, pueden realizar revisiones inteligentes del código, detectar posibles errores, detectar vulnerabilidades de seguridad e identificar problemas de rendimiento prácticamente en tiempo real a medida que los desarrolladores escriben el código. La IA genera y ejecuta conjuntos de pruebas integrales, y los actualiza automáticamente a medida que evoluciona la base de código. Este enfoque impulsado por la IA DevSecOps acelera el proceso de entrega y mejora significativamente la seguridad y la confiabilidad del software que se entrega.

En la siguiente tabla se muestran los casos de DevSecOps uso que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Subcapacidad: caso de uso | Persona | 
| --- | --- | 
| DevOps y entrega continua: procesos de despliegue completos automatizados | DevOps ingeniero | 
| DevOps y entrega continua: reciba comentarios casi en tiempo real sobre la calidad del código y los posibles problemas | Desarrollador de software | 
| DevOps y entrega continua: reciba recomendaciones sobre problemas de seguridad y soluciones prácticamente en tiempo real | Desarrollador de software | 
| DevOps y entrega continua: reciba sugerencias sobre códigos y mejores prácticas prácticamente en tiempo real | Desarrollador de software | 
| DevOps y entrega continua: automatice las tareas repetitivas e integre los comandos en los scripts | DevOps ingeniero | 
| DevOps y entrega continua: cree código y genere artefactos automáticamente después de cada confirmación de código | Desarrollador de software | 
| DevOps y entrega continua: cree código de acuerdo con los estándares y el marco de la organización | Desarrollador de software | 
| DevOps y entrega continua: ejecute automáticamente pruebas unitarias en cada commit to catch errores al principio del proceso de desarrollo | Desarrollador de software | 
| DevOps y entrega continua: analice la cobertura de las pruebas unitarias para asegurarse de que se prueban todas las rutas de código críticas | Desarrollador de software | 
| DevOps y entrega continua: administre las sucursales y fusione los cambios | Desarrollador de software | 
| DevOps y entrega continua: administre el control de versiones de códigos y artefactos | Desarrollador de software | 
| DevOps y entrega continua: almacene y gestione los artefactos de construcción y las dependencias | DevOps ingeniero | 
| DevOps y entrega continua: resuelva y recupere las dependencias durante el proceso de creación | Desarrollador de software | 
| DevOps y entrega continua: genere y ejecute pruebas de integración para asegurarse de que los componentes funcionan juntos según lo esperado | Ingeniero de pruebas | 
| DevOps y entrega continua: utilice servicios simulados durante las pruebas de integración para simular interacciones con sistemas externos | Ingeniero de pruebas | 
| DevOps y entrega continua: compare el rendimiento de las aplicaciones bajo diferentes cargas | Ingeniero de rendimiento | 
| DevOps y entrega continua: simule escenarios de alto tráfico para probar la escalabilidad y los tiempos de respuesta de la aplicación | Ingeniero de rendimiento | 
| DevOps y entrega continua: pruebe la capacidad del sistema para recuperarse de fallas, como caídas del servidor o interrupciones de la red | Ingeniero de confiabilidad del sitio | 
| DevOps y entrega continua: realice una ingeniería de caos | Ingeniero de confiabilidad del sitio | 
| DevOps y entrega continua: ejecute pruebas para verificar que la aplicación cumpla con los requisitos empresariales | Un ingeniero | 
| DevOps y entrega continua: realice pruebas de aceptación por parte de los usuarios | Propietario del producto | 
| DevOps y entrega continua: escanee las dependencias en busca de vulnerabilidades y problemas de conformidad con las licencias | Ingeniero de seguridad | 
| DevOps y entrega continua: supervise y administre las dependencias del código abierto para asegurarse de que estén actualizadas y seguras | Ingeniero de seguridad | 
| DevOps y entrega continua: genere y mantenga una lista de materiales (SBOM) de software para realizar un seguimiento de todos los componentes y dependencias | Ingeniero de seguridad | 
| DevOps y entrega continua: utilice la SBOM para realizar auditorías a fin de garantizar el cumplimiento de las normas | Oficial de cumplimiento | 
| DevOps y entrega continua: cree notas de lanzamiento | Gestor de versiones | 
| DevOps y entrega continua: planifique y coordine los lanzamientos | Gestor de lanzamientos | 
| DevOps y entrega continua: Implemente procedimientos operativos estándar para la gestión de la reversión y las versiones | Gestor de versiones | 
| DevOps y entrega continua: utilice indicadores de funciones para habilitar o deshabilitar las funciones en producción sin implementar código nuevo | Gerente de producto | 
| DevOps y entrega continua: ejecute A/B pruebas utilizando indicadores de características para medir el impacto de las diferentes funciones en el comportamiento de los usuarios | Gerente de producto | 
| DevOps y entrega continua: analice y supervise las fallas en las tuberías | DevOps ingeniero | 
| DevOps y entrega continua: cree y gestione los recursos de infraestructura | DevOps ingeniero | 
| DevOps y seguridad: escanee los repositorios de códigos en busca de secretos codificados | DevOps ingeniero | 
| DevOps y seguridad: Implemente una detección casi en tiempo real para alertar inmediatamente a los desarrolladores si hay secretos guardados en el repositorio | DevOps ingeniero | 
| DevOps y seguridad: aplique un monitoreo continuo de la calidad del código | Desarrollador de software | 
| DevOps y seguridad: detecte y señale los indicadores de posibles vulnerabilidades de seguridad en el código | Desarrollador de software | 
| DevOps y seguridad: Implemente pruebas automatizadas para detectar los 10 principales riesgos de seguridad del Open Worldwide Application Security Project (OWASP) para asegurarse de que la aplicación cumple con las prácticas de seguridad estándar del sector | Ingeniero de seguridad | 
| DevOps y seguridad: actualice y eduque periódicamente a los desarrolladores sobre los riesgos del OWASP integrando las comprobaciones en el proceso de desarrollo | Ingeniero de seguridad | 
| DevOps y seguridad: escanee bibliotecas y dependencias de terceros para detectar vulnerabilidades de seguridad conocidas | DevOps ingeniero | 
| DevOps y seguridad: escanee el código y la infraestructura de la aplicación para detectar vulnerabilidades | DevOps ingeniero | 
| DevOps y seguridad: analice el código en busca de vulnerabilidades antes del despliegue | Ingeniero de seguridad | 
| DevOps y seguridad: aplique las políticas de seguridad evitando que se fusione el código con vulnerabilidades críticas | Ingeniero de seguridad | 
| DevOps y seguridad: Implemente un control de acceso basado en roles (RBAC) para restringir el acceso a los sistemas y datos confidenciales y garantizar que solo el personal autorizado pueda acceder a los recursos críticos | Ingeniero de seguridad | 
| DevOps y seguridad: ajuste los controles de acceso en función de las funciones y responsabilidades adaptándolos a los cambios en la estructura del equipo | DevOps ingeniero | 
| DevOps y seguridad: pruebe las aplicaciones en ejecución para detectar vulnerabilidades de seguridad casi en tiempo real simulando ataques al entorno de producción | Ingeniero de seguridad | 
| DevOps y seguridad: supervise continuamente las aplicaciones implementadas para detectar vulnerabilidades de seguridad | DevOps ingeniero | 
| DevOps y seguridad: programe escaneos de vulnerabilidades periódicos en todos los entornos para identificar y abordar las debilidades de seguridad | Ingeniero de seguridad | 
| DevOps y seguridad: aplique parches y actualizaciones en función de los resultados del análisis de vulnerabilidades para ayudar a mantener los sistemas seguros | DevOps ingeniero | 
| Supervisión del rendimiento de las aplicaciones: supervise continuamente el rendimiento de las aplicaciones casi en tiempo real para detectar y diagnosticar los problemas de rendimiento antes de que afecten a los usuarios | Ingeniero de confiabilidad del sitio | 
| Supervisión del rendimiento de las aplicaciones: detecte anomalías en el rendimiento, como picos repentinos en los tiempos de respuesta o un aumento de las tasas de error, e inicie alertas | DevOps ingeniero | 
| Supervisión del rendimiento de las aplicaciones: rastrea las solicitudes a medida que se propagan por un sistema distribuido para identificar los cuellos de botella en el rendimiento y los problemas de latencia | DevOps ingeniero | 
| Supervisión del rendimiento de las aplicaciones: utilice el rastreo distribuido para identificar el servicio o componente exacto responsable de los fallos o la degradación del rendimiento | DevOps ingeniero | 
| Agregación y análisis de registros: agregue registros de múltiples fuentes en un sistema centralizado para facilitar la búsqueda y el análisis a fin de identificar tendencias y problemas | Ingeniero de confiabilidad del sitio | 
| Análisis y agregación de registros: Implemente el análisis automático de registros para extraer información relevante y detectar patrones o anomalías que puedan indicar problemas | DevOps ingeniero | 
| Agregación y análisis de registros: recopile y visualice las métricas clave de rendimiento | Ingeniero de confiabilidad del sitio | 
| Análisis y agregación de registros: supervise las métricas comparándolas con los acuerdos de nivel de servicio predefinidos () SLAs | Gerente de producto | 
| Operaciones de IA: detecte incidentes, analice las causas fundamentales e inicie acciones correctivas sin intervención humana | DevOps ingeniero | 
| Operaciones de IA: prediga las demandas futuras de recursos y optimice la planificación de la capacidad para evitar interrupciones | Ingeniero de confiabilidad del sitio | 
| Mejora continua: supervise las interacciones reales de los usuarios con la aplicación para recopilar información sobre el rendimiento e identificar las áreas de mejora | Diseñador de UX | 
| Mejora continua: realice un seguimiento del rendimiento de las aplicaciones en diferentes regiones geográficas para garantizar una experiencia de usuario uniforme a nivel mundial | Gerente de producto | 
| Supervisión del panel de control: cree paneles personalizables para visualizar las métricas, los registros y los rastreos críticos casi en tiempo real a fin de ofrecer una visión completa del estado del sistema | Ingeniero de confiabilidad del sitio | 
| Supervisión de paneles: cree paneles para diferentes equipos (como los equipos de desarrollo, operaciones y productos) a fin de proporcionar información relevante en función de sus áreas de interés | DevOps ingeniero | 
| Información sobre el rendimiento: realice un análisis detallado del rendimiento de las aplicaciones para identificar las ineficiencias y optimizar el código o la infraestructura | Desarrollador de software | 
| Información sobre el rendimiento: utilice la información sobre el rendimiento para mejorar de forma iterativa el rendimiento de las aplicaciones y optimizar la experiencia del usuario a lo largo del tiempo | Gerente de producto | 

# Casos de uso de IA generativa para operación y mantenimiento
<a name="generative-ai-capabilities-ops-maintenance"></a>

Una vez implementado el software, la atención se centra en la operación y el mantenimiento. La IA generativa puede mejorar los enfoques tradicionales al proporcionar una gestión del sistema más proactiva y eficiente. Las herramientas de operaciones impulsadas por la IA supervisan continuamente el rendimiento del sistema y predicen posibles problemas antes de que afecten a los usuarios. Realizan un análisis automatizado de la causa raíz cuando se producen problemas, lo que reduce significativamente el tiempo medio de resolución. La IA también optimiza el rendimiento del sistema prácticamente en tiempo real. Ajusta automáticamente las configuraciones en función de los cambios en los patrones de carga y el comportamiento de los usuarios. Por ejemplo, un equipo de operaciones podría usar un asistente de inteligencia artificial para generar programas de mantenimiento predictivos, identificar automáticamente los componentes que tienen probabilidades de fallar y sugerir acciones preventivas. La IA también podría ayudar a planificar la capacidad al analizar las tendencias de uso y predecir las necesidades futuras de recursos con gran precisión.

La siguiente tabla muestra los casos de uso de operación y mantenimiento que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Subcapacidad: caso de uso | Persona | 
| --- | --- | 
| Gestión de incidentes: gestione los incidentes casi en tiempo real mediante la integración de las herramientas de supervisión con las plataformas de chat para que los equipos puedan detectar, debatir y resolver los problemas directamente en el entorno de chat | Ingeniero de confiabilidad del sitio | 
| Gestión de incidentes: permita a los equipos iniciar las implementaciones, ejecutar scripts y ejecutar comandos directamente desde la interfaz de chat, lo que agiliza las operaciones | DevOps ingeniero | 
| Actualizaciones de código: actualice las dependencias y bibliotecas del código para reducir el esfuerzo manual y asegúrese de que la base de código esté actualizada con las últimas versiones | Desarrollador de software | 
| Optimización del código: revise el código para conocer las oportunidades de optimización | Desarrollador de software | 
| Optimización del código: identifique los cuellos de botella en el código y refactorice u optimice el código para mejorar el rendimiento | Desarrollador de software | 
| Gestión de la deuda técnica: registre la deuda técnica como parte del proceso de desarrollo | Gerente de producto | 
| Gestión de la deuda técnica: priorice y aborde la deuda técnica en función del impacto, el riesgo y el costo, e intégrela en el proceso habitual de planificación de los sprints | Desarrollador de software | 
| Gestión de la deuda técnica: reduzca la deuda técnica en el código de la aplicación existente | Desarrollador de software | 
| Gestión de cambios: Implemente un proceso de aprobación de cambios que garantice que todas las partes interesadas pertinentes revisen, prueben y aprueben todos los cambios en el código antes de su implementación | Gestor de cambios | 
| Gestión de cambios: realice un análisis del impacto de los cambios propuestos | DevOps ingeniero | 
| Ingeniería inversa: analice y comprenda la estructura y el comportamiento del código heredado | Arquitectura de soluciones | 
| Ingeniería inversa: explique el código existente y genere documentación | Desarrollador de software | 
| Modernización del código: Translate código de un lenguaje de programación a otro | Desarrollador de software | 
| Modernización del código: moderniza el código heredado al lenguaje de programación más reciente | Desarrollador de software | 
| Optimización del rendimiento: supervise y ajuste continuamente el rendimiento del sistema optimizando la asignación de recursos, el equilibrio de carga y la reconfiguración de la aplicación | Ingeniero de confiabilidad del sitio | 
| Optimización del rendimiento: identifique y refactorice el código que está causando la degradación del rendimiento para mejorar la velocidad y la capacidad de respuesta del sistema | Desarrollador de software | 

# Casos de uso de asistentes de IA generativa en el desarrollo de software
<a name="generative-ai-capabilities-assistants"></a>

La capacidad de asistente de IA es la base de la experiencia de desarrollo generativa impulsada por la IA. Este sistema inteligente y sensible al contexto actúa como colaborador virtual para todos los miembros del equipo en todo el SDLC. Imagine a un desarrollador trabajando en una pieza de código compleja. Solo tienen que pedir ayuda al asistente de IA, que puede proporcionarles fragmentos de código relevantes, explicar algoritmos complejos o incluso sugerir optimizaciones en función del contexto actual y de las mejores prácticas. El asistente de IA puede ayudar a un ITOps gerente a comprender un procedimiento operativo estándar basado en documentos internos. Al proporcionar un apoyo contextual instantáneo, los asistentes de IA reducen significativamente la carga cognitiva de los miembros del equipo. Esto les ayuda a centrarse en tareas creativas y de resolución de problemas de alto nivel. Esta capacidad actúa como un multiplicador de fuerzas que mejora la productividad y la calidad en todas las etapas del desarrollo del software.

En la siguiente tabla se muestran los casos de uso que se pueden mejorar con los asistentes de IA y con la persona beneficiada.


****  

| Caso de uso | Persona | 
| --- | --- | 
| Brinde asistencia inmediata al equipo de desarrollo respondiendo preguntas, como las relacionadas con los requisitos, las arquitecturas y los procedimientos operativos estándar | Equipo de desarrollo de software | 
| Busque o recupere extractos de una amplia documentación o genere resúmenes mediante consultas en lenguaje natural | Equipo de desarrollo de software | 
| Resuma documentos técnicos extensos, como documentos de requisitos, documentación de diseño de arquitectura y procesos internos | Equipo de desarrollo de software | 
| Mantenga una biblioteca de indicaciones que el equipo pueda usar para tareas comunes | Equipo de desarrollo de software | 
| Integre sin problemas la IA generativa en las herramientas y sistemas existentes | Equipo de desarrollo de software | 
| Automatice las tareas en diversas plataformas, herramientas y sistemas internos | Equipo de desarrollo de software | 
| Cree un repositorio centralizado de conocimientos, que incluya las mejores prácticas, la información específica del proyecto y el conocimiento del equipo, al que puedan acceder todos los miembros del equipo | Equipo de desarrollo de software | 
| Recupere el conocimiento relevante del repositorio en función del contexto de la tarea | Equipo de desarrollo de software | 
| Realice revisiones automatizadas del código, analice la causa raíz, sugiera mejoras, detecte posibles errores y resuelva problemas | Desarrollador de software, DevOps ingeniero e ingeniero de confiabilidad del sitio | 
| Analice los datos de rendimiento para identificar tendencias y patrones que puedan informar las decisiones sobre la optimización del rendimiento | Ingeniero de confiabilidad del sitio | 
| Proporcione recomendaciones para mejorar la eficiencia, reducir la complejidad y mejorar la seguridad | Desarrollador de software | 
| Sugiera optimizaciones para el uso de los recursos de la nube, como recomendaciones de escalado o estrategias de ahorro de costos | Desarrollador de software, DevOps ingeniero, ingeniero de confiabilidad de sitios y arquitecto de soluciones | 
| Genere contenido nuevo, como documentación basada en código, guías de usuario o versiones de funciones del producto | Equipo de desarrollo de software | 

# Casos de uso de IA generativa para análisis e información
<a name="generative-ai-capabilities-analytics"></a>

La capacidad de análisis e información ayuda a convertir grandes cantidades de datos en información procesable que impulsa la toma de decisiones y la mejora continua. Al utilizar la IA generativa, esta capacidad procesa datos de diversas fuentes, incluidos los repositorios de código, las herramientas de gestión de proyectos y las plataformas de colaboración en equipo, para ofrecer una visión holística del proceso de desarrollo y la productividad del equipo. La IA generativa va más allá de las métricas tradicionales para ofrecer análisis predictivos y prescriptivos. Puede pronosticar posibles problemas y sugerir mejoras específicas. Por ejemplo, puede analizar los patrones en las confirmaciones de código, las tasas de resolución de errores y la velocidad de entrega de las funciones para identificar los equipos con alto rendimiento, identificar los cuellos de botella y sugerir optimizaciones de procesos. Además, puede proporcionar información sobre la dinámica del equipo y el rendimiento individual. Estos conocimientos ayudan a los líderes a tomar decisiones basadas en datos sobre la distribución de la carga de trabajo, las necesidades de formación y la composición del equipo. Al presentar estos conocimientos a través de paneles interactivos, la función permite a las partes interesadas de todos los niveles tomar decisiones informadas, optimizar los procesos y mejorar continuamente la productividad del equipo, lo que se traduce en una entrega más rápida de software de alta calidad.

En la siguiente tabla se muestran los casos de uso de la analítica que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Caso de uso | Persona | 
| --- | --- | 
| Supervise la productividad individual y del equipo | Gerente de desarrollo | 
| Analiza las tendencias de productividad para detectar posibles casos de agotamiento y tomar medidas proactivas para mantener el bienestar y la productividad del equipo | Director de desarrollo | 
| Realice un seguimiento de la frecuencia con la que se implementan los cambios de código en la producción para medir la velocidad y la agilidad del proceso de desarrollo | Gerente de producto | 
| Analice los datos de frecuencia de implementación para identificar los períodos de baja actividad de implementación que puedan indicar ineficiencias del proceso o limitaciones de recursos | Gerente de producto | 
| Mida el tiempo transcurrido entre la confirmación del código y la implementación para identificar oportunidades de agilizar los procesos de desarrollo e implementación | Director de desarrollo | 
| Realice un seguimiento del porcentaje de implementaciones que provocan fallas que requieren una reparación inmediata para evaluar la confiabilidad del proceso de lanzamiento | Ingeniero de confiabilidad del sitio | 
| Utilice las métricas de la tasa de errores de cambio para identificar las áreas del código que con frecuencia causan problemas a fin de guiar los esfuerzos de refactorización y prueba específicos | Desarrollador de software | 
| Supervise el tiempo que se tarda en restablecer el servicio después de una interrupción o incidente para reducir el tiempo de inactividad y mejorar la resiliencia general del sistema | Ingeniero de confiabilidad del sitio | 
| Analice las tendencias en los tiempos de restauración para mejorar los procesos de respuesta a incidentes e impulsar una recuperación más rápida en caso de fallos del sistema | DevOps ingeniero | 
| Cree un panel de control personalizado que agrupe las métricas clave, como la frecuencia de implementación, el tiempo de entrega y la tasa de errores de cambio, a fin de ofrecer una visión integral del desarrollo y el estado operativo | Gerente de producto | 
| Cree cuadros de mando que se adapten a las necesidades de los diferentes equipos a fin de proporcionar información específica sobre sus áreas de responsabilidad específicas, como el desarrollo, las operaciones o los negocios | Gerente de producto | 
| Realice un seguimiento de los indicadores clave de rendimiento empresarial (KPIs), como el impacto en los ingresos, la satisfacción de los clientes y la cuota de mercado, a fin de alinear los esfuerzos de desarrollo con los objetivos empresariales más amplios | Gerente de producto | 
| Analice el impacto de las nuevas funciones en las empresas KPIs para evaluar su éxito y guiar el desarrollo de productos en el futuro | Analista de negocios | 
| Supervise las métricas de calidad del código, como la complejidad del código, la cobertura de las pruebas y la densidad de errores, para asegurarse de que la base de código siga siendo mantenible y segura | Desarrollador de software | 
| Identifique las áreas del código base que requieren refactorización para impulsar la sostenibilidad a largo plazo y reducir la deuda técnica | Arquitectura de soluciones | 

# Casos de uso de la IA generativa para la gestión del conocimiento
<a name="generative-ai-capabilities-knowledge-mgmt"></a>

En cualquier organización de desarrollo de software, el conocimiento es un activo fundamental. La capacidad de gestión del conocimiento, impulsada por la IA generativa, mejora la forma en que se captura, organiza y utiliza este activo. Los sistemas de gestión del conocimiento tradicionales suelen contener demasiada información, contenido desactualizado o son difíciles de buscar para encontrar rápidamente la información relevante.

La IA generativa aborda estos desafíos sin rodeos. Genera y actualiza automáticamente la documentación en función de los cambios en el código, las conversaciones y los artefactos del proyecto. Esto garantiza que las bases de conocimiento se mantengan actualizadas sin requerir un esfuerzo manual por parte de los miembros del equipo. Y lo que es más importante, la IA hace que este conocimiento sea accesible de forma intuitiva. Los miembros del equipo pueden hacer preguntas en un lenguaje natural y la IA puede proporcionar respuestas relevantes. La IA puede basarse en una variedad de fuentes, como documentación oficial, comentarios de código, hilos de discusión e incluso recursos externos. Por ejemplo, un nuevo miembro del equipo que intente entender un componente específico podría preguntar a la IA: «¿Cómo funciona el módulo de autenticación?» Luego, la IA proporcionaría una explicación concisa y enlaces a las secciones de código relevantes, los diagramas de arquitectura y los cambios recientes. Incluso podría adaptar esta información en función de la función y el nivel de experiencia del miembro del equipo.

Esta capacidad acelera la incorporación, reduce las preguntas repetitivas y promueve el intercambio de conocimientos en toda la organización. Ayuda a preservar el conocimiento institucional, lo que facilita a los equipos el mantenimiento y la evolución de sistemas complejos a lo largo del tiempo.

La siguiente tabla muestra los casos de uso de la gestión del conocimiento que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Caso de uso | Persona | 
| --- | --- | 
| Cree una plataforma unificada que facilite el acceso a todos los conocimientos relacionados con el proyecto | Equipo de desarrollo de software | 
| Capture el conocimiento de diversas actividades de desarrollo | Equipo de desarrollo de software | 
| Proporcione una funcionalidad de búsqueda avanzada para encontrar rápidamente el conocimiento relevante en un repositorio | Equipo de desarrollo de software | 
| Personalice los módulos y las rutas de aprendizaje para el equipo | Equipo de desarrollo de software | 

# Casos de uso de IA generativa para la extensibilidad
<a name="generative-ai-capabilities-extensibility"></a>

La extensibilidad permite una integración perfecta con las herramientas y los flujos de trabajo existentes, al tiempo que permite a las organizaciones adaptar el sistema de IA a sus necesidades específicas. Esta capacidad proporciona interfaces sólidas APIs y personalizables que facilitan la integración de las funcionalidades de la IA en las herramientas populares de desarrollo y gestión de proyectos. SDKs Por ejemplo, las organizaciones pueden mejorar Jira con funciones impulsadas por la IA para la priorización automática de los tickets, la estimación del esfuerzo y la planificación de los sprints. Puedes aumentar los procesos de trabajo de Jenkins con IA para optimizar de forma inteligente las compilaciones y seleccionar pruebas predictivas.

Además, la extensibilidad permite una integración profunda con los entornos de desarrollo integrados (IDEs), los sistemas de control de versiones y las plataformas de revisión de código. La IA puede ayudar a codificar, automatizar las revisiones de código y generar documentación contextual.

La capacidad también permite entrenar y ajustar los modelos de IA a partir de datos específicos de la organización. Esto ayuda a la IA a comprender los patrones de codificación específicos de la empresa, las preferencias arquitectónicas y el conocimiento del dominio. El resultado es una asistencia más relevante y adaptada al contexto en todas las herramientas integradas. Al proporcionar este nivel de flexibilidad e integración, la extensibilidad garantiza que la experiencia de desarrollo basada en la IA evolucione con la organización. Puede adaptarse a las cambiantes tecnologías y necesidades empresariales y, al mismo tiempo, mejorar sin problemas las cadenas de herramientas y los flujos de trabajo existentes.

En la siguiente tabla se muestran los casos de uso de la extensibilidad que se pueden mejorar con la IA generativa y la persona responsable de esos casos de uso.


****  

| Caso de uso | Persona | 
| --- | --- | 
| Integre herramientas de terceros en el entorno de desarrollo | DevOps ingeniero | 
| Cree flujos de trabajo de automatización personalizados que se adapten al proceso de desarrollo único del equipo | DevOps ingeniero | 
| Conéctese a varios servicios APIs y servicios | DevOps ingeniero | 
| Cree conectores para herramientas multiplataforma | DevOps ingeniero | 