# Agile y Scrum

> Hacer software en ciclos cortos, mostrar resultados seguido y ajustar sobre la marcha.

- Nivel: Básico
- Temas: Software
- URL: https://tidbit.legios.com.ar/es/agile-and-scrum/
- En inglés: [Agile and Scrum](https://tidbit.legios.com.ar/agile-and-scrum/)

**Agile** (ágil) es una familia de formas de organizar el trabajo de software alrededor de ciclos cortos y feedback constante, en lugar de un gran plan ejecutado durante un año. Lo bautizó en 2001 un grupo de developers que escribió el **Manifiesto Ágil**, que valora el software que funciona, la colaboración con el cliente y la respuesta al cambio por encima de la documentación pesada y los contratos rígidos. El estilo anterior contra el que reaccionaba suele llamarse **cascada** (waterfall): especificar todo, después construir todo, después probar todo y recién ahí entregar.

**Scrum** es la forma más usada de llevar Agile a la práctica. El trabajo se hace en **sprints**, períodos fijos de hasta un mes, muy seguido de dos semanas. Todo lo pendiente vive en una lista priorizada llamada **product backlog**. Al arrancar un sprint, el equipo elige lo que puede terminar; todos los días hace una reunión corta, la **daily scrum** o daily; al final muestra lo que construyó en una **sprint review** y charla cómo trabajar mejor en una **retrospectiva**.

Scrum define tres roles: el **product owner**, que decide qué importa más; el **Scrum Master**, que ayuda al equipo a seguir el proceso y saca obstáculos del camino; y los developers, que hacen el trabajo. **Kanban** es una alternativa más liviana, sin sprints: las tareas avanzan por un tablero de "por hacer" a "hecho", con un límite de cuántas pueden estar en curso a la vez. En la práctica muchos equipos mezclan las dos, y a veces "ágil" termina queriendo decir solo "muchas reuniones", que es justo no entender la idea.

## Una analogía

Como manejar con un GPS que recalcula, en vez de imprimir toda la ruta antes de salir. Seguís sabiendo a dónde vas, pero cada pocos kilómetros revisás dónde estás de verdad y corregís.

## Para quedarse

- Agile es un conjunto de valores; Scrum es una forma concreta de aplicarlos.
- Scrum trabaja en sprints de hasta un mes, muchas veces de dos semanas.
- Cada sprint debería terminar con algo que funcione y que la gente pueda ver y usar.
- Kanban deja de lado los sprints y limita cuánto trabajo hay en curso.

## Para seguir leyendo

- [Manifiesto por el Desarrollo Ágil de Software](https://agilemanifesto.org/iso/es/manifesto.html)
- [Qué es Scrum (Atlassian)](https://www.atlassian.com/es/agile/scrum)
- [Scrum en Wikipedia](https://es.wikipedia.org/wiki/Scrum_(desarrollo_de_software))
