Skip to content

Clase 2 — Panorámica de Metodologías Ágiles: XP, Scrum, Crystal, FDD y ASD

Resumen Ejecutivo

Esta sesión completa el tema 1 de introducción a la agilidad ofreciendo una panorámica de las principales metodologías ágiles: Programación Extrema (XP), Scrum, Crystal, Feature-Driven Development (FDD) y Adaptive Software Development (ASD). Se analizan sus diferencias clave en cuanto a enfoque, roles y prácticas, y se cierra con una comparativa entre metodologías ágiles y tradicionales, incluyendo los factores que determinan cuándo aplicar cada enfoque.

Conceptos Clave

  • Framework vs. Metodología: Muchas propuestas ágiles son frameworks (marcos de trabajo) más que metodologías estrictas; están abiertas a la adaptación al contexto concreto de la empresa y el proyecto. ⚠️ EXAMEN
  • Programación Extrema (XP): Metodología ágil creada por Kent Beck, centrada en prácticas concretas de ingeniería (TDD, pair programming, integración continua) con iteraciones muy cortas. ⚠️ EXAMEN
  • Scrum: Marco de trabajo ágil organizado en tres fases (prejuego, juego, posjuego) con roles, reuniones y artefactos definidos. ⚠️ EXAMEN
  • Crystal: Familia de metodologías creada por Alistair Cockburn (firmante del Manifiesto Ágil), centrada en la gestión de personas, con variantes según el tamaño del equipo (Clear, Yellow, Orange, Red). ⚠️ EXAMEN
  • Feature-Driven Development (FDD): Metodología orientada a la entrega de valor mediante características concretas, contempla la figura del jefe de proyecto y es apta para proyectos más grandes. ⚠️ EXAMEN
  • Adaptive Software Development (ASD): Metodología centrada en la adaptación organizacional al cambio, con un modelo de proceso de tres fases: especulación, colaboración y aprendizaje. ⚠️ EXAMEN
  • Spike Solution: Técnica de XP para explorar soluciones a problemas técnicos y mejorar las estimaciones de carga de trabajo. ⚠️ EXAMEN
  • Comunicación osmótica: Flujo natural de información entre miembros de un equipo pequeño que trabajan en proximidad física (pasillos, cafés, misma oficina). ⚠️ EXAMEN
  • Pila de producto (Product Backlog): Especificación completa del sistema, mantenida por el dueño del producto.
  • Pila de sprint (Sprint Backlog): Subconjunto de la pila de producto seleccionado para implementar en una iteración concreta.

Desarrollo del Temario

1. Frameworks vs. Metodologías en el mundo ágil

Las propuestas ágiles prefieren no denominarse "metodologías" en sentido estricto, ya que las metodologías implican roles rígidos, procedimientos formales y fases estrictas. La agilidad valora la flexibilidad y la adaptación al entorno concreto. Scrum, por ejemplo, se define como un framework: un marco que guía la organización del trabajo, las reuniones y la colaboración, pero que requiere adaptación a cada caso. ⚠️ EXAMEN

Ejemplo: El profesor menciona un vídeo de MiduDev donde un usuario de Twitter criticaba Scrum diciendo que "era un cáncer" por tener muchas reuniones. Sin embargo, las quejas describían prácticas que no son Scrum canónico (demasiadas reuniones, uso obligatorio de puntos de historia), sino malas implementaciones de la metodología.

Idea clave: Si una organización modifica un framework y las modificaciones entorpecen el trabajo, el problema no es el framework sino la implementación. Hay que conocer bien la metodología original para diagnosticar correctamente los problemas.

2. Programación Extrema (XP)

Desarrollada por Kent Beck. Propone un marco metodológico iterativo similar a Scrum, pero su filosofía diferenciadora es llevar las iteraciones a la mínima expresión (lo más cortas posible). ⚠️ EXAMEN

Elementos clave de XP: - Historias de usuario y pila de producto (terminología común con Scrum) - Planificación a dos niveles: a nivel de release y a nivel de iteración. Una release puede contener varias iteraciones. ⚠️ EXAMEN - Desarrollo dirigido por pruebas (TDD): las pruebas se escriben antes que el código. ⚠️ EXAMEN - Spike solutions: técnica para explorar soluciones y mejorar estimaciones de carga de trabajo del sprint. ⚠️ EXAMEN - Propiedad compartida del código: no hay asignación exclusiva de partes del sistema a desarrolladores individuales. ⚠️ EXAMEN - Prácticas como: metáfora del sistema, bienestar del programador, cliente in situ. - Define más roles que Scrum.

Se profundizará en el Tema 3.

3. Scrum

Marco de trabajo ágil cuyo nombre proviene de una formación de rugby donde todos los miembros funcionan como uno para conseguir un objetivo. ⚠️ EXAMEN

Estructura en tres fases: ⚠️ EXAMEN

Fase Descripción
Prejuego Especificación y análisis. Se trabaja en la pila de producto y la pila de sprint.
Juego Iteración propiamente dicha. Seguimiento mediante Daily Scrums (reuniones diarias de ~15 min).
Posjuego Reuniones de revisión (feedback del producto) y retrospectiva (reflexión del equipo).

Daily Scrum (reunión diaria): ⚠️ EXAMEN - Máximo 15 minutos, de pie (stand-up). - Cada miembro responde tres preguntas: ¿Qué hice ayer? ¿Qué voy a hacer hoy? ¿Qué problemas tengo? - Si alguien se extiende, el Scrum Master debe cortar y derivar la discusión a otro momento. - No es un espacio para debates que no afecten a todo el equipo.

Reuniones al final del sprint: ⚠️ EXAMEN - Revisión del sprint: evaluación del producto entregado y obtención de feedback. - Retrospectiva del sprint: reflexión del equipo sobre su proceso de trabajo (herramientas, cooperación, mejoras).

Ejemplo: El profesor enfatiza que Scrum solo prescribe una reunión diaria corta (Daily) y dos reuniones al final de cada sprint (Revisión y Retrospectiva). Si en tu empresa hay "muchas reuniones", no estás haciendo Scrum correctamente.

Origen: Scrum proviene del ámbito del desarrollo de producto empresarial, no del software. Artículo fundacional publicado en el Harvard Business Review. ⚠️ EXAMEN

Error común en TFG/TFM: Planificar a priori qué se hará en cada sprint al inicio del proyecto. En Scrum, cada sprint se planifica cuando llega su momento, no al principio del proyecto. Solo se conoce con detalle la pila del sprint actual. ⚠️ EXAMEN

Se profundizará en el Tema 2.

4. Crystal

Familia de metodologías creada por Alistair Cockburn (firmante del Manifiesto Ágil) para IBM. Muy centrada en la gestión de personas y el bienestar del equipo. ⚠️ EXAMEN

Variantes según tamaño del equipo: Crystal Clear, Yellow, Orange, Red. También considera la criticidad del sistema (pérdida de vidas, pérdida reputacional). ⚠️ EXAMEN

Prioridades de Crystal: 1. Obtención de resultados según recursos. 2. Eficiencia en el proceso. 3. Aceptación de la metodología por parte del equipo (que la comprenda, la estudie y se sienta cómodo). ⚠️ EXAMEN

Propiedades fundamentales e ineludibles: ⚠️ EXAMEN - Entregas frecuentes: de una semana a cuatro meses. - Mejora reflexiva: diálogo sobre la propia práctica (equivalente a la retrospectiva en Scrum). - Comunicación osmótica: la información fluye naturalmente entre miembros del equipo porque trabajan en proximidad física. ⚠️ EXAMEN - Seguridad personal: sentirse seguro para expresar opiniones. - Capacidad para concentrarse.

Ejemplo: La comunicación osmótica es lo que se pierde al no tener documentación formal: se suple con comunicación directa, intercambio de ideas al ir a tomar un café o cruzarse por un pasillo.

5. Feature-Driven Development (FDD)

Desarrollo guiado por características que aportan valor al producto. ⚠️ EXAMEN

Formato de las características (patrón):

Verbo + Acción + Resultado + Objeto Ejemplo: "Calcular el importe total de un pedido", "Enviar un mensaje de confirmación al comprador", "Generar el listado de calificaciones de los alumnos de una asignatura".

Diferencias clave con otras metodologías ágiles: - Contempla la figura del jefe de proyecto (a diferencia de Scrum y XP). ⚠️ EXAMEN - Pensada para proyectos y equipos más grandes. ⚠️ EXAMEN - Énfasis en modelado inicial, arquitectura general y diseño del sistema. - Existen dueños de clases y dueños de conjuntos de características: cada desarrollador se encarga de un paquete concreto del sistema. ⚠️ EXAMEN - Propiedad individual del código (opuesto a la propiedad compartida de XP). ⚠️ EXAMEN

Proceso FDD: 1. Desarrollar un modelo de dominio general (modelado/arquitectura inicial). 2. Construir una lista de características jerarquizadas. 3. Planificar por características. 4. Diseñar por características. 5. Construir por características.

Ejemplo: FDD es un híbrido entre agilidad y metodologías tradicionales: mantiene el jefe de proyecto y el modelado inicial, pero organiza el desarrollo iterativamente en torno a características de valor.

6. Adaptive Software Development (ASD)

Creada por Jim Highsmith (firmante del Manifiesto Ágil). Se centra en ayudar a las organizaciones (no solo equipos) a adaptarse al cambio. ⚠️ EXAMEN

Premisa fundamental: siempre habrá cambios (en necesidades del cliente, tecnología, demandas del mercado, competencia).

Modelo de proceso en tres fases: ⚠️ EXAMEN

Fase Equivalente en Scrum Descripción
Especulación Prejuego Definir misión, objetivos, riesgos, alcance, restricciones. Se plantea un marco temporal y número de iteraciones.
Colaboración Juego El sistema evoluciona, orientado a componentes. Importancia de la comunicación.
Aprendizaje Posjuego Cierre del bucle: retroalimentación hacia la planificación. Reflexión del equipo.

Diferencia clave con Scrum: ASD plantea inicialmente un marco temporal y número de iteraciones (aunque sujeto a replanificación), mientras que Scrum planifica exclusivamente sprint a sprint. ⚠️ EXAMEN

Ejemplo: La palabra "especulación" se elige deliberadamente porque connota incertidumbre: no tengo certezas absolutas ni sé qué me voy a encontrar en tres meses, pero al menos planifico teniendo en cuenta los riesgos conocidos.

7. Comparativa: Agilidad vs. Metodologías Tradicionales

Aspecto Tradicional (Cascada) Ágil
Modelo de proceso Fases secuenciales y concatenadas Iterativo e incremental ⚠️ EXAMEN
Requisitos Bien definidos desde el inicio Pila mutable gestionada por el cliente ⚠️ EXAMEN
Toma de decisiones Jerárquica, roles definidos Equipos empoderados, responsabilidad distribuida ⚠️ EXAMEN
Entregas Estructuradas y planificadas Frecuentes, orientadas a feedback ⚠️ EXAMEN
Validación Al final del proyecto Continua con participación de stakeholders ⚠️ EXAMEN
Conocimiento Basado en experiencia previa Incorpora aprendizaje sobre la marcha ⚠️ EXAMEN
Pruebas Generalmente al final Al comienzo de cada iteración (en XP: TDD) ⚠️ EXAMEN

8. Factores para elegir metodología ágil

  • Tamaño del proyecto y del equipo (pequeño vs. grande, colocado vs. distribuido). ⚠️ EXAMEN
  • Volatilidad de los requisitos: ¿tenemos claro qué necesita el cliente? ⚠️ EXAMEN
  • Criticidad del sistema: riesgo de romper algo en despliegues frecuentes.
  • Disponibilidad del cliente: ¿puede dar feedback frecuente?
  • Experiencia del equipo: ¿conocen la metodología? ¿pueden estimar bien?
  • Cultura organizacional: ¿la empresa acepta la informalidad, reuniones diarias, documentación relajada? ⚠️ EXAMEN

9. Desafíos de la agilidad en grandes sistemas

En proyectos grandes con múltiples equipos y subsistemas: - La comunicación entre equipos se dificulta. - Aparecen dependencias entre subsistemas. - Puede haber regulación que obligue a metodologías específicas. - Se prolonga el desarrollo en el tiempo, aumentando la probabilidad de cambios. - Múltiples stakeholders con perfiles distintos dificultan la retroalimentación.

Soluciones: mayor énfasis en documentación, uso de herramientas tecnológicas de comunicación (Slack, etc.), repositorios documentales compartidos y técnicas de escalado de Scrum.

Preguntas de Autoevaluación

  1. ¿Por qué muchas propuestas ágiles prefieren denominarse "frameworks" en lugar de "metodologías"?
  2. Explica la diferencia entre la planificación a dos niveles de XP (release e iteración) y la planificación sprint a sprint de Scrum.
  3. ¿Qué es una spike solution en XP y para qué sirve?
  4. Nombra las tres fases de Scrum (prejuego, juego, posjuego) y describe brevemente qué ocurre en cada una.
  5. ¿Cuáles son las tres preguntas que debe responder cada miembro del equipo en un Daily Scrum?
  6. ¿Qué diferencia fundamental tiene FDD respecto a Scrum y XP en cuanto a la propiedad del código?
  7. ¿Qué significa "comunicación osmótica" en Crystal y por qué es importante?
  8. Describe las tres fases del modelo de proceso de ASD y su equivalencia con Scrum.
  9. ¿Por qué es un error planificar al inicio del proyecto qué se hará en cada sprint de Scrum?
  10. Enumera al menos cuatro factores que determinan si conviene aplicar una metodología ágil o tradicional.

Guía generada automáticamente a partir de transcripción con faster-whisper + Claude Sonnet.