Contacta con nosotros

Temario del curso

Fundamentos del Pensamiento Ágil

  • El Manifiesto Ágil y su relevancia más allá del software.
  • Comparación de ágil con modelos tradicionales en cascada y basados en planificación.
  • Roles, eventos y artefactos de Scrum mapeados a los ciclos de proyectos académicos.
  • Kanban y gestión basada en flujos para equipos de investigación y enseñanza.
  • Elegir híbridos ágiles adecuados para entornos de ingeniería y diseño.

Planificación Ágil y Colaboración

  • Escritura de historias de usuario y definición de criterios de aceptación para problemas de ingeniería.
  • Técnicas de priorización del backlog: MoSCoW, valor vs. esfuerzo, ordenamiento basado en riesgos.
  • Planificación de sprints y estimación con equipos no dedicados al software.
  • Retrospectivas y mejora continua en un entorno académico.
  • Herramientas y tableros de colaboración para participantes multidisciplinarios.

Introducción a la Cultura DevOps

  • Definición de DevOps: rompimiento de silos entre desarrollo y operaciones.
  • El modelo CALMS: Cultura, Automatización, Lean (desperdicio cero), Medición, Compartir.
  • DevOps en laboratorios de investigación, equipos de ingeniería civil y estudios de arquitectura.
  • Construcción de una cultura sin culpas y bucles de retroalimentación en instituciones educativas.
  • Consideraciones éticas, de seguridad y cumplimiento en la adopción de DevOps académico.

Control de Versiones y Gestión Colaborativa de Código

  • Fundamentos de Git para trabajos reproducibles de ingeniería y diseño.
  • Estrategias de ramificación: trunk-based, ramas de funcionalidades (feature branches) y GitFlow simplificado.
  • Pull requests, revisión por pares y propiedad del código en equipos docentes.
  • Gestión de activos no codificados: archivos CAD, modelos BIM, conjuntos de datos de simulación.
  • Organización de repositorios para materiales de curso y proyectos estudiantiles.

Integración Continua y Automatización de Compilación

  • Conceptos de CI (Integración Continua) y su aplicación en herramientas de ingeniería compiladas y scripteadas.
  • Configuración de compilaciones automatizadas para software, simulaciones y documentación.
  • Etapas del pipeline: compilación, empaquetado, inspección de código (linting) y comprobaciones previas.
  • Vista general de plataformas CI populares: GitHub Actions, GitLab CI, Jenkins.
  • Gestión de artefactos grandes, almacenamiento en caché de dependencias y ejecución paralela.

Calidad de Software y Análisis Estático

  • Definición de calidad de software: mantenibilidad, confiabilidad, usabilidad, eficiencia.
  • Métricas de código: complejidad ciclomática, acoplamiento, cohesión y duplicación.
  • Herramientas de análisis estático para Python, Java, C++ y scripts comunes de ingeniería.
  • Documentación como calidad: docstrings, estándares README y documentación viva.
  • Integración de puertas de calidad (quality gates) en pipelines CI sin obstaculizar el progreso estudiantil.

Estrategias de Pruebas y Diseño de Pruebas

  • La pirámide de pruebas: unitarias, integración, sistema y aceptación.
  • Escritura de pruebas unitarias para cálculos de ingeniería, simulaciones y utilidades.
  • Fundamentos del Desarrollo Guiado por Pruebas (TDD) y Desarrollo Guiado por Comportamiento (BDD).
  • Simulación (mocking) de sistemas externos: sensores, APIs, solucionadores de elementos finitos.
  • Estructuración de suites de pruebas para proyectos de equipos multidisciplinarios.

Automatización de Pruebas y Pruebas Continuas

  • Automatización de la ejecución de pruebas dentro de pipelines CI/CD.
  • Informes de pruebas, umbrales de cobertura y gestión de pruebas inestables (flaky tests).
  • Pruebas basadas en propiedades y fuzzing para algoritmos de ingeniería.
  • Estrategias de pruebas de regresión para asignaciones de curso en evolución.
  • Pruebas de rendimiento y carga para cargas de trabajo de simulación y renderizado.

Conceptos de Entrega Continua y Despliegue

  • Fundamentos de CD (Entrega Continua): entrega vs. despliegue, entornos y promoción.
  • Patrones de despliegue: azul-verde, canario e interruptores de funcionalidad (feature toggles).
  • Aplicación de principios de CD para publicar artefactos de investigación, sitios de curso y aplicaciones.
  • Fundamentos de contenedores con Docker para entornos de ingeniería reproducibles.
  • Introducción a la Infraestructura como Código: gestión declarativa de configuraciones de laboratorio y nube.

Observabilidad, Monitoreo y Retroalimentación

  • Registros (logging), métricas y trazado para software académico y simulaciones.
  • Configuración de monitoreo ligero para proyectos estudiantiles y herramientas de investigación.
  • Uso de datos de retroalimentación para iterar sobre materiales de enseñanza y asignaciones de laboratorio.
  • Paneles de control y alertas apropiados para contextos educativos.
  • Verificación post-despliegue y procedimientos de reversión.

Mejores Prácticas de Seguridad y Calidad

  • Fundamentos de codificación segura: validación de entradas, autenticación y gestión de secretos.
  • Escaneo de dependencias y gestión de vulnerabilidades en pilas de código abierto.
  • Cumplimiento de licencias para software utilizado en enseñanza y publicación.
  • Consideraciones de privacidad de datos al manejar información estudiantil y de investigación.
  • Construcción de una cultura consciente de la seguridad en programas de ingeniería y diseño.

Traducción de Prácticas en Módulos de Enseñanza

  • Diseño de asignaciones de proyectos ágiles para estudiantes de sistemas, civil, diseño y arquitectura.
  • Creación de rúbricas que evalúen la calidad del proceso junto con la calidad del producto.
  • Configuración de repositorios plantilla con CI preconfigurado para uso estudiantil.
  • Acompañamiento (scaffolding) progresivo de conceptos DevOps a lo largo de un semestre.
  • Evaluación de equipos estudiantiles utilizando métricas reales de calidad y automatización.

Selección de Herramientas y Restricciones Académicas

  • Evaluación de herramientas gratuitas y de código abierto para departamentos con presupuestos ajustados.
  • Integración con sistemas existentes de gestión del aprendizaje (LMS), almacenamiento de archivos e infraestructura de laboratorio.
  • Gestión de la deuda técnica en bases de código de investigación de larga duración.
  • Incorporación de estudiantes y facultad con diversos antecedentes técnicos.
  • Mantenimiento de la sostenibilidad cuando los colaboradores clave se gradúan o rotan.

Requerimientos

  • Comprensión básica de los conceptos de desarrollo de software.
  • Familiaridad con flujos de trabajo generales de ingeniería o diseño.
  • Experiencia utilizando computadoras para trabajo académico o basado en proyectos.

Público Objetivo

  • Profesores y catedráticos de programas de Ingeniería de Sistemas, Ingeniería Civil, Diseño y Arquitectura.
  • Personal académico que busca modernizar su enseñanza con prácticas relevantes para la industria.
  • Líderes de investigación y coordinadores de laboratorios que integran tecnología en el currículo.
 42 Horas

Número de participantes


Precio por participante

Testimonios (2)

Próximos cursos

Categorías Relacionadas