¿Hay otras metodologías ágiles a parte de Scrum? Pues sí, hace unas semanas ojeando un curso de agile y lean me encontré con esta diapositiva que enumeraba 5 metodologías ágiles a parte de Scrum. Por cierto, el curso de agile y lean normalito, nada que no encuentres en el blog de Javier Garzás

Cómo sobrevivir... A la planificación de un proyecto ágil
Ver los Precios EUR 14,52
Sobrevivir, anteponerse a duras adversidades usando lo imprescindible, manteniendo las condiciones físicas y psíquicas.En ocasiones, la complejidad de planificar y gestionar un proyecto software se asemeja a una situación de supervivencia, nos hace enfrentarnos a una...
Más información >>

metodologías ágiles

La mayoría de metodologías ágiles las conocía y alguna la verdad que ni había oído hablar de ella, así que hoy me he decidido a hacer un pequeño resumen de en qué consiste cada una.

Método de desarrollo de sistemas dinámicos DSDM

Esta es una metodología ágil orientada a cumplir con proyectos acotados en tiempo y presupuesto, es decir, los típicos proyectos a medida, el cáncer de la informática. DSDM incluye algunas prácticas ágiles:

  • Involucrar al cliente
  • Entrega contínua de valor
  • Comunicación contínua
  • Cambios reversibles

Aunque por contra, incluye algunos aspectos que hacen que sea una metodología ágil bastante restrictiva:

  • Los requisitos y el alcance están (casi) cerrados de inicio
  • El modelo es iterativo e incremental, pero no hay compromiso en cuanto a entrega de valor en cada iteración

Feature Driven Development

Esta metodología ágil se da mucho en proyectos a coste cerrado y funcionalidad (no) cerrada, en los que en vez de aplicar el típico modelo de desarrollo en cascada, el equipo de desarrollo en un alarde de valentía decide tener un poco de sentido común y aplicar un modelo iterativo e incremental, de acuerdo a las siguientes características:

  • Visión inicial del proyecto: Lo que viene siendo leer el pliego del proyecto que ha escrito alguien que no sabe ni lo que quiere
  • Construcción de la lista de funcionalidades: Llega el analista y redacta los casos de uso
  • Planificación de funcionalidades en iteraciones
  • Diseño por funcionalidad
  • Construcción por funcionalidad

En el fondo, iterar el modelo en cascada. Además, se utilizan herramientas CASE, diseño modelos con UML y toda la parafernalia que ya sabemos que servir, sirve poco y puntualmente.

Extreme programming

Lo de que nadie usa Extreme programming obviamente no es cierto, ya que es una metodología ágil bastante extendida. Eso sí, para aplicarla hay que tener los huevazos bien gordos para cumplir con algunos de sus principios:

  • Pruebas unitarias y TDD
  • Programación en parejas o ¿qué hacéis perdiendo el tiempo en el mismo ordenador?
  • Integración con el cliente o mete al enemigo en tu casa
  • Refactorización, entrega contínua, simplicidad en el código

Extreme programming es sobretodo para virtuosos técnicos y equipos sobradísimos (envidia++)

Y.. las otras dos metodologías ágiles

Crystal clear y Adaptive software development alias “no nos conoce ni el tato

¿Por qué hay tantas metodologías ágiles?

En realidad puede haber tantas como uno quiera, una metodología es ágil si cumple el manifiesto ágil, así de simple. De las 5 enumeradas arriba algunas van cogidas con pinzas, pero bueno.

agile

Y sí, es cierto que Scrum es el más conocido, pero en el fondo la gracia de las metodologías ágiles es que son adaptativas y aunque como en todo hay ‘talibanes agile‘ que promueven cosas como “Scrum by the book“, el objetivo final debería ser puede adaptar cualquier metodología ágil a las necesidades de tu equipo, tu empresa o tu proyecto siempre que cumplas con los 4 principios ágiles. En el fondo, así es como funcionan los buenos equipos de desarrollo.