Gestión de proyectos de desarrollo de software
Conocer las herramientas, metodologías y conocimientos necesarios para planificar, ejecutar, controlar y culminar proyectos de software.
Programa
- 01Fundamentos de la ingeniería del software40 h
Conocimiento de fundamentos de ingeniería del software
Definiciones y evolución de la ingeniería del software
Ciclo de vida del software y metodologías ágiles
Ingeniería del software orientada a objetos y web
Consideraciones de sostenibilidad en el desarrollo de software
Análisis de sistemas de información
Análisis de requisitos
Herramientas de análisis de requisitos
Análisis orientado a objetos y diagramas UML
Análisis de eficiencia energética en sistemas de información
Análisis específicos
Diseño de software sostenible
Enfoques y niveles de diseño
Herramientas de diseño
Diseño de interfaces de usuario accesibles y eficientes
Arquitecturas de software
Técnicas de diseño orientado a objetos y UML
Implementación de pruebas y calidad del software
Estrategias de pruebas unitarias y del sistema
Pruebas de eficiencia energética y rendimiento
Aseguramiento de la calidad en el desarrollo sostenible
- 02Gestión de proyectos de software40 h
Gestión tradicional de proyectos
Fases del ciclo de vida del proyecto: iniciación, planificación, ejecución, monitoreo y cierre
Herramientas y técnicas de planificación (gantt, PERT, CPM)
Gestión del alcance, tiempo y costos
Control y documentación del proyecto
Uso de metodologías ágiles de gestión de proyectos
Principios y valores del manifiesto ágil
Scrum, Kanban y metodologías híbridas
Roles y responsabilidades en equipos ágiles
Planificación y seguimiento de proyectos ágiles
Técnicas de estimación ágil (planning poker, story points)
Gestión de backlog y sprints
Métricas ágiles y dashboards de proyecto
Gestión de costos en proyectos de software
Estimación de costos utilizando COCOMO II y otros modelos
Análisis del costo total de propiedad (TCO) en proyectos
Presupuestación y control financiero en proyectos ágiles
Conocimiento de DevSecOps: integración de desarrollo, operaciones y seguridad
Principios y prácticas de DevSecOps
Automatización de CI/CD con enfoque en seguridad
Herramientas de DevSecOps (jenkins, GitLab, SonarQube)
Gestión de recursos y productividad
Formación de equipos multifuncionales
Técnicas de mejora continua (retrospectivas, kaizen)
Medición y optimización de la eficiencia del equipo
- 03Arquitecturas modernas y desarrollo avanzado50 h
Uso de arquitecturas de software actuales
APIs, diseño e implementación
Microservicios y arquitecturas basadas en eventos
Serverless y computación en el edge
Arquitecturas cloud-native y patrones de diseño asociados
Desarrollo de software ecológico
Principios de green software engineering
Técnicas de optimización de recursos y eficiencia energética
Métricas y herramientas para medir el impacto ambiental del software
Introducción a la ingeniería de software aumentada por IA
Herramientas de IA para asistencia en codificación (GitHub copilot, tabnine)
Análisis de código y detección de bugs asistido por IA
Generación automática de pruebas y documentación
Desarrollo avanzado y prácticas de código limpio
Principios SOLID y patrones de diseño avanzados
Técnicas de refactorización y optimización de código
Programación funcional y reactiva
Uso de inteligencia artificial y Machine Learning en ingeniería de software
MLOps y gestión del ciclo de vida de modelos de ML
Desarrollo de sistemas con componentes IA/ML
Consideraciones éticas y privacidad en IA
Desarrollo para tecnologías específicas
Realidad aumentada (AR) y realidad virtual (VR)
Internet de las cosas (IoT) y sistemas embebidos
Desarrollo para redes 5G
Conocimiento de blockchain y tecnologías distribuidas
Fundamentos del blockchain y contratos inteligentes
Desarrollo DApps (aplicaciones descentralizadas)
Casos prácticos del uso del blockchain en ingeniería
Uso de otros planteamientos en la ingeniería del software
Low-code/no-code development platforms
Quantum computing e impacto en la ingeniería
Ética y responsabilidad en el desarrollo
- 04Gestión práctica de proyectos de software50 h
Uso de herramientas de gestión de proyectos
Uso avanzado de Microsoft Project y alternativas (jira, trello, asana...)
Configuración y personalización de herramientas para proyectos de software
Integración con otras herramientas de desarrollo (GitHub, GitLab...)
Planificación detallada del proyecto
Creación de la estructura de desglose del trabajo (EDT/WBS)
Estimación de esfuerzo y duración (PERT, analogía, juicio experto)
Asignación de recursos y nivelación
Seguimiento y control del proyecto
Técnicas de valor ganado (EVM) para proyectos de software
Gestión de la ruta crítica y análisis de desviaciones
Informes de estado y cuadros de mando (dashboards)
Gestión de riesgos en proyectos de software
Identificación y análisis de riesgos específicos de software
Estrategias de mitigación y planes de contingencia
Seguimiento continuo de riesgos
Gestión de la calidad del software
Planificación de la calidad y definición de métricas
Implementación de revisiones y auditorías
Gestión de defectos y mejora continua
Cierre del proyecto y lecciones aprendidas
Procedimientos de cierre formal del proyecto
Evaluación tras la finalización y documentación de lecciones aprendidas
Transferencia de conocimientos y mejores prácticas