1. Contenidos
1.1 ¿Por qué surge el desarrollo ágil?
En muchos proyectos software no conocemos desde el primer día todos los requisitos. Los usuarios descubren nuevas necesidades, la tecnología cambia y el equipo aprende mientras construye el producto.
Los enfoques ágiles intentan trabajar bien en este contexto mediante:
- entregas frecuentes;
- feedback temprano;
- colaboración;
- priorización;
- adaptación al cambio;
- mejora continua.
1.2 Enfoque predictivo y enfoque adaptativo
Un enfoque predictivo intenta definir con gran detalle el trabajo antes de ejecutarlo. Puede ser adecuado cuando existe poca incertidumbre y los requisitos son estables.
Un enfoque adaptativo admite que parte del conocimiento aparecerá durante el proyecto y organiza ciclos cortos de trabajo para inspeccionar el resultado y ajustar el plan.
Agile no significa que los enfoques predictivos sean incorrectos. La forma de trabajo debe seleccionarse según el contexto.
1.3 Manifiesto Ágil
El Manifesto for Agile Software Development establece cuatro valores:
- individuos e interacciones sobre procesos y herramientas;
- software funcionando sobre documentación exhaustiva;
- colaboración con el cliente sobre negociación contractual;
- respuesta ante el cambio sobre seguir un plan.
Los elementos de la derecha siguen teniendo valor; el manifiesto establece una preferencia por los de la izquierda.
1.4 Scrum
Scrum es un marco de trabajo para desarrollar productos complejos mediante iteraciones cortas denominadas Sprints.
Product Backlog
↓
Sprint Planning
↓
Sprint
↓
Incremento
↓
Sprint Review
↓
Sprint Retrospective
↓
Siguiente Sprint
1.5 Product Backlog e historias de usuario
El Product Backlog es una lista ordenada y evolutiva del trabajo que puede ser necesario para mejorar el producto.
Una forma habitual de expresar necesidades es la historia de usuario:
Como [tipo de usuario]
quiero [funcionalidad]
para [beneficio].
Ejemplo:
Como dependiente, quiero buscar un producto por nombre para consultar rápidamente su stock.
1.6 Sprint, Sprint Backlog e incremento
- Sprint: periodo de duración fija de un mes o menos en el que se trabaja para lograr un objetivo.
- Sprint Backlog: objetivo del Sprint, elementos seleccionados y plan de trabajo de los Developers.
- Incremento: resultado usable que incorpora el trabajo terminado y cumple la definición de terminado.
1.7 Responsabilidades de Scrum
El Scrum Team está formado por:
- Product Owner: responsable de maximizar el valor y gestionar eficazmente el Product Backlog;
- Scrum Master: ayuda a que Scrum se comprenda y aplique correctamente;
- Developers: personas responsables de crear un incremento usable cada Sprint.
El Scrum Master no debe confundirse con un jefe tradicional que asigna todas las tareas.
1.8 Eventos de Scrum
- Sprint Planning: inicia el Sprint y establece por qué es valioso, qué puede hacerse y cómo se realizará.
- Daily Scrum: evento de 15 minutos para que los Developers inspeccionen el progreso hacia el Sprint Goal y adapten su plan.
- Sprint Review: inspección del resultado del Sprint con los interesados y adaptación del Product Backlog.
- Sprint Retrospective: reflexión sobre cómo mejorar calidad y efectividad.
1.9 Kanban
Kanban ayuda a visualizar y gestionar el flujo de trabajo. Un tablero sencillo puede tener:
| Por hacer | En proceso | Pruebas | Terminado |
| Crear clientes | Registrar venta | Buscador | Catálogo |
Las tareas avanzan a través del flujo hasta terminarse.
1.10 Límites WIP
Kanban utiliza límites al trabajo en curso o WIP (Work In Progress). Por ejemplo, si la columna “En proceso” tiene un límite de 2, no se debería iniciar una tercera tarea hasta liberar capacidad.
Limitar el WIP ayuda a:
- reducir multitarea;
- hacer visibles los cuellos de botella;
- terminar antes el trabajo empezado;
- mejorar el flujo.
1.11 Scrum y Kanban: escenarios de uso
| Aspecto | Scrum | Kanban |
| Organización | Sprints | Flujo continuo |
| Roles definidos | Sí | No necesariamente |
| Eventos definidos | Sí | No necesariamente |
| Límite WIP | Puede aplicarse | Elemento central |
| Escenario típico | Desarrollo iterativo de producto | Flujo continuo de incidencias o tareas |
Por ejemplo, el desarrollo inicial de nuevas funcionalidades de El Emporio Arcano podría organizarse con Scrum, mientras que un flujo continuo de incidencias y mantenimiento podría gestionarse bien con Kanban.
1.12 Errores frecuentes
- “Agile significa no planificar”: falso; se planifica de manera continua y adaptativa.
- “Agile significa no documentar”: falso; se documenta cuando aporta valor.
- “Scrum es reunirse todos los días”: falso; la Daily es solo uno de sus eventos.
- “Kanban es poner post-it”: falso; el tablero sirve para gestionar un sistema de flujo.
- “Scrum sirve para cualquier proyecto”: no necesariamente; debe evaluarse el contexto.