Guía Agile · Fundamentos de Agile
Ciclo de vida del desarrollo ágil: las 6 fases explicadas de forma sencilla
El ciclo de vida del desarrollo ágil es la secuencia de etapas por las que pasa un producto cuando se construye con métodos ágiles: desde una primera idea, pasando por iteraciones cortas y repetidas que entregan resultados funcionales, hasta el lanzamiento, el soporte y la retirada final. A diferencia de un ciclo de vida lineal, la etapa de construcción se repite muchas veces y la retroalimentación da forma a cada pasada.
Puntos clave
- El ciclo de vida ágil va desde el concepto y el arranque, pasando por iteraciones repetidas, hasta el lanzamiento, el mantenimiento y la retirada.
- La planificación, la construcción y las pruebas se realizan juntas en cada iteración, en lugar de en fases separadas.
- Lance incrementos tempranos para obtener retroalimentación y planifique capacidad para el trabajo de mantenimiento.
- No existe un único modelo oficial, así que adapte los nombres de las fases a su contexto.
Qué es el ciclo de vida ágil
Un ciclo de vida describe cómo fluye el trabajo desde la idea hasta el producto terminado. En un ciclo de vida Cascada cada fase (requisitos, diseño, construcción, pruebas, despliegue) ocurre una sola vez, en orden. En Agile, la planificación, el diseño, la construcción y las pruebas se realizan juntos dentro de cada iteración corta, y el producto crece en incrementos. Las fases siguientes describen el recorrido del producto en su conjunto; la mayor parte del tiempo transcurre en la fase de iteración.
Las seis fases
| Fase | Qué ocurre | Resultados típicos |
|---|---|---|
| 1. Concepto | Identificar la oportunidad, los usuarios y el resultado deseado; decidir si merece la pena explorarlo | Planteamiento del problema, alcance aproximado, decisión de continuar o no |
| 2. Arranque | Formar el equipo, acordar la visión del producto, crear un backlog inicial y configurar herramientas y entornos | Visión del producto, primer backlog del producto, acuerdo de trabajo del equipo |
| 3. Iteración (construcción) | Planificar, construir, probar y revisar pequeñas porciones de valor en sprints o un flujo continuo | Incrementos funcionales y probados; retroalimentación; un backlog actualizado |
| 4. Lanzamiento | Comprobaciones finales, documentación y formación, y después despliegue a los usuarios | Producto o conjunto de funcionalidades lanzado |
| 5. Mantenimiento (producción) | Dar soporte a los usuarios, corregir defectos y seguir mejorando el producto, normalmente con nuevas iteraciones | Correcciones, mejoras, datos operativos |
| 6. Retirada | Retirar el producto, migrar usuarios y datos y cerrar el soporte | Plan de desmantelamiento, datos archivados |
Cómo funciona una iteración
- Planificar: el equipo elige los elementos de mayor valor del backlog y acuerda un objetivo para la iteración.
- Diseñar y construir: desarrolladores, testers y diseñadores trabajan juntos en cada elemento en lugar de pasarse el trabajo en cadena.
- Probar: las pruebas se realizan de forma continua, de modo que cada elemento cumple la Definición de Terminado antes de considerarse terminado.
- Revisar: el equipo muestra el resultado funcional a los interesados y recoge retroalimentación.
- Reflexionar: en una retrospectiva, el equipo acuerda una o dos mejoras en su forma de trabajar.
- Adaptar: la retroalimentación y la nueva información actualizan el backlog, y comienza la siguiente iteración.
Ejemplo práctico: una aplicación de reservas
Una cadena de gimnasios quiere que sus socios reserven clases en línea.
- Concepto (1 semana): el gerente de producto confirma que las reservas telefónicas ocupan al personal unas 20 horas a la semana y fija el objetivo de trasladar la mayoría de las reservas a internet.
- Arranque (2 semanas): un equipo de seis personas se forma, redacta una visión y crea 40 historias de usuario agrupadas en cuatro épicas.
- Iteraciones (6 sprints de dos semanas): el sprint 1 entrega un horario de clases sencillo; el sprint 2 añade reservas y cancelaciones; los sprints posteriores añaden listas de espera, recordatorios y pagos.
- Lanzamiento: tras el sprint 3, una versión básica entra en producción en dos gimnasios piloto; tras el sprint 6, se despliega en todos los centros.
- Mantenimiento: el equipo mantiene una capacidad menor para correcciones y nuevas funcionalidades basadas en los datos de uso.
- Retirada: años después, la aplicación se sustituye por una nueva plataforma para socios y los datos de reservas antiguos se migran.
Ciclo de vida ágil frente a SDLC tradicional
| SDLC tradicional (en cascada) | ciclo de vida ágil | |
|---|---|---|
| Orden del trabajo | Las fases ocurren una sola vez, en secuencia | Las fases de construcción se repiten en iteraciones cortas |
| Requisitos | Fijado de antemano | Evolucionan en un backlog priorizado |
| Pruebas | Una fase independiente cerca del final | Continuas, dentro de cada iteración |
| Entrega | Un único lanzamiento al final | Incrementos frecuentes, a menudo lanzados pronto |
| Cambio | Se controla mediante procesos formales de control de cambios | Previsto y absorbido a través del backlog |
| Participación del cliente | Principalmente al principio y al final | A lo largo de todo el proyecto, en cada revisión |
Consulte Agile vs cascada para una comparación más completa.
Errores comunes
- Sprints en minicascada: hacer todo el diseño en un sprint, toda la construcción en el siguiente y todas las pruebas después.
- Omitir el arranque: empezar los sprints sin una visión compartida, de modo que el backlog se desvía.
- No lanzar nunca: construir muchos incrementos pero retenerlos para un gran lanzamiento único, perdiendo la retroalimentación que hace funcionar Agile.
- Olvidar la capacidad de mantenimiento: planificar cada sprint como si no hubiera trabajo de soporte.
- Ignorar la retirada: dejar productos antiguos en funcionamiento sin responsable ni plan.
Plantillas gratuitas sobre este tema
Preguntas frecuentes
¿Cuáles son las fases del ciclo de vida del desarrollo ágil?
Un modelo habitual tiene seis fases: concepto, arranque, iteración (construcción), lanzamiento, mantenimiento (producción) y retirada.
¿Es el ciclo de vida ágil lo mismo que el SDLC?
El ciclo de vida del desarrollo de software (SDLC) es un término general para las etapas de construcción de software. El ciclo de vida ágil es una forma de llevar a cabo el SDLC, con las etapas de construcción repetidas en iteraciones cortas.
¿Qué fase del ciclo de vida del desarrollo ágil dura más?
La fase de iteración, porque el equipo la repite muchas veces y a menudo continúa después del primer lanzamiento.
¿Cuánto dura una iteración en el ciclo de vida del desarrollo ágil?
Normalmente de una a cuatro semanas. Muchos equipos usan sprints.
¿Tiene el ciclo de vida del desarrollo ágil una fase de diseño?
No como fase independiente. El diseño se realiza de forma continua dentro de cada iteración, con parte del diseño de alto nivel durante el arranque.
¿Dónde se realizan las pruebas en el ciclo de vida ágil?
Dentro de cada iteración. El trabajo no se considera terminado hasta que se ha probado y cumple la Definición de Terminado.
¿Es Scrum un ciclo de vida del desarrollo ágil?
Scrum es un marco para gestionar la fase de iteración. No define las fases de concepto, lanzamiento ni retirada; consulte qué es Scrum.
¿Se puede lanzar antes del final del ciclo de vida ágil?
Sí, y se recomienda. Lanzar incrementos tempranos aporta antes la retroalimentación de usuarios reales.
¿Qué ocurre en la fase de arranque del ciclo de vida ágil?
El equipo se forma, acuerda una visión del producto, configura herramientas y entornos y crea un backlog del producto.
¿Cómo encaja Kanban en el ciclo de vida ágil?
Los equipos Kanban sustituyen las iteraciones fijas por un flujo continuo de trabajo, pero el recorrido general desde el concepto hasta la retirada es el mismo; consulte qué es Kanban.
¿Usan el ciclo de vida ágil los equipos que no son de software?
Sí. Los equipos de marketing, creativos y de otros ámbitos usan la misma idea de ciclos cortos que entregan resultados utilizables y recogen retroalimentación; consulte ¿Agile es solo para software?.