Técnicas Ágiles en el Desarrollo de Software: Automatización, Pair Programming, TDD y Refactorización

Establecer las metas para la integración de diferentes técnicas ágiles en el desarrollo de software.


Comprender los principios y los conceptos teóricos relacionados con la aplicación de las siguientes técnicas ágiles para el desarrollo de software.

Objetivos:

  • Establecer las metas para la integración de diferentes técnicas ágiles en el desarrollo de software.
  • Comprender los principios y los conceptos teóricos relacionados con la aplicación de las siguientes técnicas ágiles para el desarrollo de software:
    • Automatización de Tareas.
    • Revisiones del Código y Pair Programming.
    • Pruebas y TDD.
    • Refactorización.
  • Asentar los conocimientos teóricos adquiridos a través de su aplicación, con el apoyo de diferentes herramientas del mercado, en un proyecto simulado.


El curso Incluye:

  • Material de alumno: "Técnicas ágiles en el desarrollo de software: guía de estudio" fichas de actividades y ejercicios.
  • Curso presencial de 24 horas con los talleres y actividades "learning by doing"
  • Pruebas y certificación oficial Scrum Manager


Temario:

Definición de excelencia del código. 


Automatización de tareas

  • Convenciones de código
  • Sistemas de control de versiones
  • Conceptos fundamentales
  • Estrategias de ramificación y fusión
  • Scripts de automatización / Ant
  • Sistemas de Integración Frecuente
  • Buenas prácticas


Revisiones de Código

  • Programación por parejas
  • Participantes
  • Variantes
  • Buenas prácticas
  • Peer reviews
  • Análisis de métricas de calidad del código
  • Goal, Question, Metric
  • Metric abuse

Pruebas

  • Entornos de pruebas
  • Pruebas Unitarias
    • Desarrollo Dirigido por Tests (TDD)
  • Pruebas de Integración
    • Artefactos específicos para pruebas
  • Pruebas de Sistema
  • Pruebas de Implantación
  • Pruebas de Aceptación
  • Pruebas de Regresión

Refactorización del código

  • Diario de deuda técnica
  • Refactorizaciones básicas
  • Refactorizaciones avanzadas
  • Refactorizaciones 'a la carta'

Repaso y conclusiones