Metodología Agile

Metodologías de Desarrollo Agile: Kanban Vs. Scrum Vs. XP

Cuando eres nuevo en Agile, las diversas metodologías y marcos que compiten por tu atención pueden ser una fuente de confusión. En este post voy a tratar de hacer lo más claro posible las diferencias (y similitudes) entre los tres sabores más populares de Agile: Scrum, Kanban y XP.

¿Qué es Srum?

Fue desarrollado por Jeff Sutherland y Ken Schwaber a principios de los 90.

En términos simples, Scrum descompone las organizaciones en pequeños equipos auto-organizados. Estos equipos rompen las funciones que han sido asignadas a entregar en pequeñas tareas manejables que abordan en iteraciones en tiempo real llamadas sprints.

El más prescriptivo de los tres marcos considerados en este post, Scrum insiste en que los equipos comprenden tres roles distintos: el Product Owner, el ScrumMaster y los miembros del equipo de desarrollo.

También hay cuatro reuniones prescritas en Scrum: la Reunión de Planificación de Sprint, el Daily Stand Up, la Sprint Review y la Sprint Retrospective.

¿Qué es Kanban?

Kanban se desarrolló como un subcomponente del Sistema de Producción Toyota y tiene sus orígenes en estos procesos de fabricación Lean and Just In Time (JIT).

En Kanban se visualiza el flujo de trabajo: el trabajo se divide en artículos pequeños y discretos y se escribe en una tarjeta pegada a un tablero; El tablero tiene columnas diferentes y como el trabajo progresa a través de diversas etapas (por ejemplo listo, en progreso, listo para la revisión etc.) la tarjeta se mueve en consecuencia.

En Kanban el número de artículos que pueden estar en progreso en cualquier momento es estrictamente limitado.

El tiempo promedio que se tarda en completar un elemento (a veces llamado el “tiempo de ciclo”) es rastreado y optimizado para que el proceso se vuelva tan eficiente y previsible como sea posible. La eliminación de los desechos es primordial.

¿Qué es XP?

XP es la abreviatura de eXtreme Programming, un marco que se centra principalmente en garantizar la calidad del software suministrado y que prescribe soluciones de ingeniería para ese fin.

Un equipo de XP (compuesto por todos los que contribuyen al proyecto) participan en la planificación de la liberación y planificación de la iteración. Trabajan en ciclos de desarrollo muy cortos para que los cambios solicitados por el cliente (que trabaja en el sitio con el equipo) se pueden incorporar con frecuencia.

A través de más de una docena de prácticas básicas que incluyen Test Driven Development, Customer Testing, Integración Continua, Pequeños Lanzamientos y Programación de Pares, XP trabaja para un producto continuamente mejorado y de alta calidad que puede responder a los cambios en los requerimientos del cliente.

Kanban Vs. Scrum:

Scrum es más prescriptivo que Kanban, que evita la definición de roles y equipos y que no tiene una estructura formal de reuniones. Kanban no prescribe iteraciones tampoco – aunque pueden incorporarse si lo desea.

Las técnicas de visualización de procesos de Kanban hacen que sea ideal para equipos ubicados en un mismo lugar que están trabajando en un retraso de artículos que están sujetos a cambios frecuentes (por ejemplo, el Kanban es utilizado con frecuencia por los equipos de apoyo).

El tablero de Kanban sin embargo es a menudo adoptado por los equipos de Scrum en la forma de un tablero de la tarea y se utiliza para seguir progreso a través de un sprint.

El límite de la regla de Trabajo en Progreso en Kanban también lo hace adecuado para equipos con recursos limitados o donde la entrada de cada miembro se requiere en cada elemento. Esto podría aplicarse, por ejemplo, a un equipo de comunicaciones dentro de una organización grande.

Mientras que Scrum limita la cantidad de trabajo que va en cada sprint, la carga de trabajo se determina por la estimación relativa del tamaño de cada historia (en puntos) y es acordado por el equipo Scrum en cada sesión de planificación.

Mientras que un equipo de Kanban rastrea el tiempo de ciclo y optimiza los tiempos de avance que son tan cortos y tan predecibles como sea posible, un equipo de Scrum apunta a mejorar su salida a través de sprints sucesivos y mejorar la “velocidad” del equipo Puntos de estimación completados en un sprint). Esto, sin duda, hace Scrum más adecuado para la ampliación – sin duda se siente más familiar y predecible que puede ser tranquilizador para las grandes organizaciones.

Scrum Vs. XP:

En Scrum, los equipos y las reuniones se establecen bastante en piedra, mientras que la cuestión de cómo se hace el trabajo realmente se deja a los equipos para decidir por sí mismos. XP por otro lado viene con un conjunto de prácticas básicas que podrían parecer abrumadoras para el principiante Agile.

Podría decirse que Scrum es una metodología, que está más preocupada por la productividad, mientras que XP se preocupa más por la ingeniería.

El valor que las prácticas de XP pueden agregar sin embargo es indiscutible y muchas organizaciones que utilizan Scrum adoptan la programación del par, el desarrollo impulsado por prueba y la refactorización como prácticas que mejoran calidad, aceleran el proceso del lanzamiento y / o reducen la necesidad de volver a trabajar debido a la deuda técnica.

Junto con iteraciones más cortas, algunas otras cosas importantes que diferencian XP de Scrum son:

Los equipos de XP trabajan en los artículos en un orden de prioridad estricto, mientras que un equipo Scrum no necesariamente abordam cada elemento en orden de prioridad una vez en sprint Los equipos de XP pueden incorporar nuevos elementos de trabajo a una iteración y cambiar los elementos de tamaño equivalente (siempre y cuando no se hayan iniciado) si el cliente decide una nueva prioridad En términos de similitudes, el papel del cliente en XP es muy similar al del propietario del producto en Scrum, ya que ayudan a escribir historias de usuarios, priorizarlas y siempre están disponibles para los desarrolladores, aunque están menos definidas.

  • Tanto Scrum como XP exigen una reunión diaria de pie.
  • Mientras que ambos subrayan la importancia de la co-localización, sólo XP hace que sea deal-breaker.

Metodología Agile

Conclusión:

El objetivo de esta comparación nunca fue elegir una “mejor” metodología, sino explorar las diferencias entre ellos y descubrir posibles razones para elegir uno sobre otro en un escenario específico.

Las tres metodologías se adhieren a los principios establecidos en el Manifiesto Ágil que tiene como objetivo proporcionar tanto valor a los clientes como sea posible en el tiempo disponible. Las diferencias entre ellos son el resultado de intentar mantener los principios ágiles en contextos radicalmente diferentes.

Kanban es una forma muy útil para los equipos con un retraso continuo de artículos para aumentar la eficiencia al limitar la cantidad de trabajo en progreso, respetando las funciones y responsabilidades existentes.

Scrum es más adecuado para los equipos que pueden dedicar su tiempo colectivo a un proyecto o producto. Trae mucho más en la forma de la estructura para ayudar a los equipos a lograr mayores ganancias de productividad a través de la comunicación y la planificación frecuentes, mientras que sigue proporcionando la libertad de decidir entre sí cómo diseñar soluciones.

XP agrega otro nivel de sofisticación, poniendo un fuerte énfasis en la calidad al insistir en un conjunto de prácticas básicas de ingeniería que mantiene el código limpio y el software estable.

Como hemos visto en las comparaciones, los elementos pueden agregarse / sustraerse de una metodología para encontrar un marco que se adapte a su contexto específico. Podría tomar un poco de prueba y error para llegar allí, pero si mantiene los principios ágiles en primer lugar en su pensamiento que sin duda estará en el camino correcto.

Y si estás interesado en explorar más a fondo los elementos que componen las metodologías Ágiles, y donde se superponen, hay una gran visualización de mapa de tubo en Agile Alliance.

Fuente: Somos Sistemas

Acerca de Diego

Analista en Computación. Apasionado por internet, la tecnología. Algo fanático de los videos juegos y un poco cinéfilo.

Prendete y Comentá!