Curso de Certified Scrum Developer- CSD (ADGD337PO) (Programa detallado)

Objetivo:

Aprender técnicas y buenas prácticas ágiles de Ingeniería Software para implementar con éxito Scrum a nivel de desarrollo técnico (TDD, Refactorización, Integración continua) y aplicarlas en un entorno profesional.

Dirigido a:

Este curso está dirigido a personas interesadas en adquirir o mejorar sus competencias en metodologías ágiles de desarrollo de software, con especial énfasis en la implementación de Scrum a nivel técnico.

Está orientado a profesionales, empresas y organizaciones que buscan optimizar sus procesos de desarrollo mediante buenas prácticas como Test-Driven Development (TDD), refactorización e integración continua, aplicables en diversos entornos tecnológicos.

No se requieren conocimientos previos específicos, pero se recomienda tener una base en desarrollo de software para un mejor aprovechamiento del curso.

Requisitos:

  • Conocimientos básicos de programación.
  • Conceptos generales de desarrollo de software.
  • Nociones sobre metodologías ágiles.
  • Habilidades digitales básicas.
  • Capacidad para el trabajo en equipo.

PROGRAMA DEL CURSO

1.- Arquitectura en un entorno ágil con Scrum

Objetivo

  • Describir la arquitectura de un entorno ágil utilizando Scrum.

Contenido

  1. Arquitectura en un entorno ágil con Scrum
    1. Principios de la Arquitectura Ágil
    2. Arquitectura Emergente y Diseño Evolutivo
    3. El Rol del Arquitecto en Scrum y la Colaboración del Equipo
    4. Construcción del "Architectural Runway": Spikes y Prototipos
    5. Integración de la Arquitectura en los Sprints: Backlog Técnico y Definition of Done
    6. Herramientas y Prácticas para Soportar la Arquitectura Ágil
    7. Resumen

2.- Técnicas de construcción de un equipo ágil

Objetivo

  • Identificar las técnicas para construir un equipo ágil eficaz.

Contenido

  1. Técnicas de construcción de un equipo ágil
    1. Características clave de un equipo ágil
    2. Selección y formación de los miembros del equipo ágil
    3. Dinámicas y prácticas colaborativas
    4. Herramientas y artefactos para la construcción de equipos ágiles
    5. Gestión de conflictos y cohesión de equipo
    6. Retrospectivas y mejora continua
    7. Resumen

3.- Comportamientos colaborativos de apoyo

Objetivo

  • Enumerar los comportamientos colaborativos que apoyan un entorno de trabajo ágil.

Contenido

  1. Comportamientos colaborativos de apoyo
    1. Principios de comportamientos colaborativos de apoyo
    2. Comunicación asertiva y escucha activa
    3. Empatía y apoyo mutuo
    4. Compromiso y responsabilidad compartida
    5. Feedback constructivo y mejora continua
    6. Dinámicas y prácticas de apoyo en equipos ágiles
    7. Resumen

4.- Diseño de productos software con Test Driven Development (TDD)

Objetivo

  • Aplicar el diseño de productos de software mediante Test Driven Development (TDD).

Contenido

  1. Diseño de productos software con Test Driven Development (TDD)
    1. Fundamentos de Test Driven Development (TDD)
    2. El ciclo Red-Green-Refactor
    3. Integración de TDD en el diseño de software
    4. Beneficios y desafíos de TDD en proyectos Scrum
    5. Cultura y colaboración del equipo en TDD
    6. Resumen

5.- Ciclo de desarrollo TDD

Objetivo

  • Describir el ciclo de desarrollo utilizando TDD.

Contenido

  1. Ciclo de desarrollo TDD
    1. Fase Red: Definición de pruebas
    2. Fase Green: Implementación mínima
    3. Fase Refactor: Mejora y limpieza de código
    4. Integración del ciclo TDD en un Sprint Scrum
    5. Resumen

6.- Principio y buenas prácticas en pruebas unitarias

Objetivo

  • Identificar principios y buenas prácticas en pruebas unitarias.

Contenido

  1. Principio y buenas prácticas en pruebas unitarias
    1. Principios fundamentales de las pruebas unitarias
    2. Estructura y nomenclatura de un test limpio
    3. Diseño de pruebas efectivas: Arrange-Act-Assert
    4. Mantenimiento y refactorización de pruebas
    5. Integración con CI/CD y herramientas de soporte
    6. Cultura y colaboración en torno a la calidad de pruebas
    7. Resumen

7.- Medidas de calidad en pruebas

Objetivo

  • Medir la calidad en pruebas de software.

Contenido

  1. Medidas de calidad en pruebas
    1. Métricas de Cobertura de Código
    2. Métricas de Efectividad de Pruebas
    3. Métricas de Rendimiento de Pruebas
    4. Métricas de Calidad del Proceso de Pruebas
    5. Integración de Métricas en Scrum
    6. Herramientas para Medición de la Calidad de Pruebas
    7. Resumen

8.- Pruebas de aceptación con ATDD

Objetivo

  • Realizar pruebas de aceptación utilizando ATDD.

Contenido

  1. Pruebas de aceptación con ATDD
    1. Fundamentos de ATDD
    2. Colaboración y roles en ATDD
    3. Especificación de criterios de aceptación con Gherkin
    4. Implementación de pruebas de aceptación automáticas
    5. Integración de ATDD en un Sprint Scrum
    6. Retos y buenas prácticas en ATDD
    7. Resumen

9.- Prácticas fundamentales de integración continua (IC)

Objetivo

  • Aplicar prácticas fundamentales de integración continua.

Contenido

  1. Prácticas fundamentales de integración continua (IC)
    1. Principios de la Integración Continua
    2. Herramientas y plataformas de IC
    3. Diseño del pipeline de IC
    4. Gestión de ramas y merges en IC
    5. Monitoreo, métricas y feedback rápido
    6. Integración Continua en Scrum
    7. Resumen

10.- Técnicas de automatización de pruebas de software

Objetivo

  • Implementar técnicas de automatización de pruebas de software.

Contenido

  1. Técnicas de automatización de pruebas de software
    1. Clasificación de técnicas de automatización
    2. Automatización de pruebas unitarias y de integración
    3. Automatización de pruebas de API y servicios
    4. Automatización de pruebas de interfaz de usuario (UI)
    5. Automatización de pruebas de rendimiento y carga
    6. Técnicas avanzadas: Data-Driven, Keyword-Driven, Model-Based y Virtualización de Servicios
    7. Resumen

11.- Configuración de la IC. Repositorio de código

Objetivo

  • Configurar un entorno de integración continua con un repositorio de código.

Contenido

  1. Configuración de la IC. Repositorio de código
    1. Estructura y organización del repositorio
    2. Gestión de ramas y estrategias de branching
    3. Control de accesos y permisos en el repositorio
    4. Etiquetado, versiones y releases
    5. Integración de hooks y automatizaciones básicas
    6. Buenas prácticas de commits y mensajes
    7. Resumen

12.- Refactorización del código. Código limpio. Patrones

Objetivo

  • Efectuar la refactorización del código aplicando principios de código limpio y patrones.

Contenido

  1. Refactorización del código. Código limpio. Patrones
    1. Principios de la Refactorización de Código
    2. Código Limpio: Conceptos y Prácticas Esenciales
    3. Principios SOLID y su Aplicación en Código Limpio
    4. Patrones de Diseño Fundamentales
    5. Integración de la Refactorización en TDD y CI/CD
    6. Herramientas y Métricas para Mantener Código de Calidad
    7. Resumen