XP Extreme Programming

Objetivos

Introducción a la programación extrema, principios de la programación extrema
Lean Startup y desarrollo de software ágil
Fases del desarrollo de software: alcance, descubrimiento, mapeo y entrega
Valores y principios de programación extremos
12 prácticas de programación extrema: prácticas fundamentales
Estimación y planificación ágiles, incluida la identificación de riesgos y oportunidades
Descubrimiento de productos: investigación de usuarios, identificación de valores comerciales y exploración técnica
Mapeo de requisitos: mapeo de impacto, mapeo de historias, MVP y planificación de lanzamientos
Entrega de software: estándar de codificación, propiedad colectiva del código, ritmo sostenible
Desarrollo basado en pruebas: por qué, qué y cómo
Ciclo TDD: rojo, verde y refactorización
Impulsar el desarrollo (diseño e implementación) de una historia de usuario
Aprenda el concepto de diseño emergente y por qué el diseño emergente
Descripción general de la refactorización, el principio de código limpio y la refactorización a patrones
Diseño de software: profundizando en los principios de diseño SOLID
Desarrollo impulsado por el comportamiento versus desarrollo impulsado por pruebas
Integración continua, entrega continua, implementación y lanzamientos
Introducción a la programación extrema, principios de la programación extrema
Lean Startup y desarrollo de software ágil
Fases del desarrollo de software: alcance, descubrimiento, mapeo y entrega
Valores y principios de programación extremos
12 prácticas de programación extrema: prácticas fundamentales
Estimación y planificación ágiles, incluida la identificación de riesgos y oportunidades
Descubrimiento de productos: investigación de usuarios, identificación de valores comerciales y exploración técnica
Mapeo de requisitos: mapeo de impacto, mapeo de historias, MVP y planificación de lanzamientos
Entrega de software: estándar de codificación, propiedad colectiva del código, ritmo sostenible
Desarrollo basado en pruebas: por qué, qué y cómo
Ciclo TDD: rojo, verde y refactorización
Impulsar el desarrollo (diseño e implementación) de una historia de usuario
Aprenda el concepto de diseño emergente y por qué el diseño emergente
Descripción general de la refactorización, el principio de código limpio y la refactorización a patrones
Diseño de software: profundizando en los principios de diseño SOLID
Desarrollo impulsado por el comportamiento versus desarrollo impulsado por pruebas
Integración continua, entrega continua, implementación y lanzamientos

diseno

Disponible en formato e-learning

Disponible en formato presencial

Disponible en formato a distancia

Subvención disponible
A través de Fundae, cumpliendo requisitos.

Duración
24 horas

  • Dificultad 50% 50%
  • Nivel alcanzado 80% 80%

Dirigido a

Conocimientos requeridos

Temario

Introducción a la programación extrema
 Descripción general ágil y marco disponible
 ¿Qué es la programación extrema (XP)?
 Cómo y por qué XP es diferente a Scrum
 Valores, reglas y fases de XP
 12 prácticas de programación extrema

Programación extrema: juego de planificación, pequeño lanzamiento y metáfora
 Historia de usuario y estimación
 Taller de redacción de historias de usuario
 División de la historia del usuario
 Ejecutar picos en historias complejas
 Planificación de lanzamiento
 Planificación de iteraciones

Especificación
 Desafíos en la colaboración entre el negocio y el equipo de desarrollo
 Cómo escribir una mejor especificación
 Por qué se necesitan ejemplos para la especificación
 Ejemplos de escritura en pepinillo

ATDD y BDD
 Principios del desarrollo impulsado por pruebas de aceptación
 Consecuencias de ATDD en la planificación y revisión de Sprint
 Principios del desarrollo impulsado por el comportamiento
 Practicar BDD con Cucumber / SpecFlow: instalación, funciones de escritura, pruebas e informes
 Papel del Gerente de iteración y la tripulación al escribir la aceptación de escenarios

Desarrollo basado en pruebas
 Enfoque de desarrollo impulsado por pruebas (TDD) y sus beneficios
 Mejorando la calidad y el diseño del código por TDD
 Diferentes tipos de pruebas: unitarias, de integración, funcionales

Prueba unitaria con el marco de prueba unitario
 Comprender el ciclo de vida de una prueba en el marco de pruebas unitarias
 Respeto del principio de aislamiento y control de los resultados de las pruebas.
 Las simulaciones o simulan cómo se probó el código del dispositivo.
 Uso de marcos de simulación

Organización de actividades de prueba
 Metodología para corregir un error
 Automatizar la ejecución de la prueba unitaria
 Generando informes
 Integración con Build Tool e IDE

Marcos de diseño
 Definición y principios de marcos
 Diseño Emergente
 Principio de escalabilidad e implementación

Refactorización
 Consecuencia de la deuda técnica y riesgo de «romper» el código
 ¿Dónde? ¿Cuando? ¿Cómo refactorizar?
 3 etapas de refactorización
 Soporte de TDD y ATDD durante la refactorización
 Mejores prácticas y limitaciones
 Trabajar con código heredado

Introducción a la integración continua
 Principios, medio ambiente e infraestructura
 Estrategias y patrones de ramificación para la integración continua.
 Soluciones para la integración continua: Hudson, Jenkins, Cruise Control, Bamboo, TeamCity, Apache Continuum

Introducción a Jenkins
 Dashboard y proyectos de salud
 Principio de arquitectura y extensión
 Instalación, configuración y uso de Jenkins
 Compilaciones automatizadas con Jenkins
 Pruebas de automatización con JUnit (TDD) y pepino (BDD / ATDD)

Pruebas ágiles
 Importancia de las pruebas ágiles
 Garantizar una mejor calidad de productos sprint a sprint
 Marcos de automatización de pruebas
 Prueba de cuadrantes y prueba de pirámides

Solicita información del curso