Descomponiendo Épicas en Tareas Manejables
Las épicas grandes son el enemigo del flujo. Cuando el trabajo es demasiado grande, es difícil de estimar, rastrear y completar. Descomponer épicas en tareas manejables permite mejor planificación, visibilidad de progreso más clara y entrega más rápida. La jerarquía de tareas de GitScrum soporta descomposición efectiva para equipos de cualquier tamaño.
Por Qué Descomponer Épicas
La descomposición efectiva transforma trabajo abrumador en progreso predecible y entregas incrementales de valor.
| Épicas Grandes | Tareas Descompuestas |
|---|---|
| Difíciles de estimar | Estimables en horas/días |
| Sin progreso visible | Completados diarios |
| Bloqueadas por dependencias | Trabajo paralelo posible |
| Entrega todo-o-nada | Valor incremental |
| Abrumadoras | Alcanzables |
Técnicas de Descomposición
Corte Vertical (Vertical Slicing)
El corte vertical entrega funcionalidad completa en menos tiempo, permitiendo feedback temprano y ajustes.
ENFOQUE DE CORTE VERTICAL
═════════════════════════
MAL (Horizontal/Por Capas):
───────────────────────────
Épica: Autenticación de Usuario
Tarea 1: Diseñar esquema de BD (2 semanas)
Tarea 2: Construir API backend (2 semanas)
Tarea 3: Crear UI frontend (2 semanas)
Tarea 4: Pruebas de integración (1 semana)
Problema: Sin valor hasta semana 7
BIEN (Corte Vertical):
──────────────────────
Épica: Autenticación de Usuario
Slice 1: Login email/contraseña (3 días)
└── BD + API + UI + Tests para login básico
Slice 2: Reset de contraseña (2 días)
└── BD + API + UI + Tests para flujo reset
Slice 3: Recordarme (1 día)
└── BD + API + UI + Tests para persistencia
Slice 4: Login OAuth (3 días)
└── BD + API + UI + Tests para Google/GitHub
¡Valor: Login funcionando después de 3 días!
Criterios INVEST
INVEST es un acrónimo que ayuda a verificar si las tareas están bien definidas para desarrollo ágil.
CHECKLIST INVEST
════════════════
Para cada tarea, verifica:
I - Independiente
Puede trabajarse sin bloquear otros
N - Negociable
Detalles pueden discutirse, no spec rígido
V - Valiosa
Entrega algo útil cuando se completa
E - Estimable
Equipo puede estimar el esfuerzo
S - Small (Pequeña)
Completable en 1-3 días
T - Testeable
Criterios claros para "terminado"
Si alguno falla → Descomponer más
Story Mapping
El story mapping visualiza el producto completo y ayuda a priorizar qué construir primero.
ESTRUCTURA DE STORY MAP
═══════════════════════
VIAJE DEL USUARIO (izquierda a derecha)
───────────────────────────────────────
Visitar → Registrar → Config → Usar → Gestionar
Sitio Cuenta Perfil Features Cuenta
PRIORIDAD (arriba a abajo)
──────────────────────────
MVP: [Landing] [Registro] [Básico] [Core] [Logout]
Page Email Nombre Feature
V1.1: [About] [OAuth] [Avatar] [Avanzado] [Settings]
Page Login Feature
V1.2: [Blog] [Invitar] [Prefs] [Premium] [Billing]
Equipo Feature
Implementación en GitScrum
Jerarquía de Tareas
GitScrum soporta estructuras jerárquicas que reflejan la descomposición natural de épicas en historias y tareas.
ESTRUCTURA DE TAREAS EN GITSCRUM
════════════════════════════════
ÉPICA (usando etiqueta + tarea padre):
├── Etiqueta: epica:user-auth
├── Tarea Padre: "Sistema de Autenticación de Usuario"
│
├── Historia: "Login Email/Contraseña"
│ ├── Tarea: Crear migración tabla usuarios
│ ├── Tarea: Construir endpoint API login
│ ├── Tarea: Crear componente form login
│ ├── Tarea: Añadir validación de form
│ ├── Tarea: Implementar gestión de sesión
│ └── Tarea: Escribir tests de login
│
├── Historia: "Reset de Contraseña"
│ ├── Tarea: Añadir token reset al esquema
│ ├── Tarea: Construir endpoint request reset
│ ├── Tarea: Crear template email reset
│ ├── Tarea: Construir form reset
│ └── Tarea: Escribir tests flujo reset
│
└── Historia: "Login OAuth"
├── Tarea: Configurar proveedores OAuth
├── Tarea: Construir handler callback OAuth
├── Tarea: Crear componentes botón OAuth
└── Tarea: Escribir tests OAuth
Seguimiento de Progreso
GitScrum visualiza el progreso a nivel de épica para visibilidad de stakeholders y planificación del equipo.
VISTA DE PROGRESO DE ÉPICA
══════════════════════════
Sistema de Autenticación de Usuario
───────────────────────────────────
Progreso: ████████░░ 75%
Historias:
├── Login Email/Contraseña ████████████ 100% ✓
├── Reset de Contraseña ████████░░░░ 67%
├── Login OAuth ████░░░░░░░░ 33%
└── Auth Dos Factores ░░░░░░░░░░░░ 0%
Completadas: 15/20 tareas
Este Sprint: 5 tareas restantes
Taller de Descomposición
Ejercicio de Equipo
Realizar sesiones de descomposición en equipo mejora la comprensión compartida y estimaciones más precisas.
SESIÓN DE BREAKDOWN DE ÉPICA
════════════════════════════
DURACIÓN: 30-60 minutos
1. ENTENDER (10 min)
├── ¿Qué es la épica?
├── ¿Quién es el usuario?
└── ¿Cuál es el objetivo?
2. MAPEAR (15 min)
├── Dibujar viaje del usuario
├── Identificar pasos principales
└── Agrupar por funcionalidad
3. CORTAR (20 min)
├── Identificar slice MVP
├── Descomponer en historias
├── Descomponer más en tareas
└── Aplicar criterios INVEST
4. ESTIMAR (10 min)
├── Sizing rápido (S/M/L)
├── Identificar incógnitas
└── Marcar riesgos
OUTPUT:
├── Lista priorizada de historias
├── Tareas por historia
└── Alcance del primer sprint
Patrones Comunes
Por Área Técnica
Patrones de descomposición reutilizables que aplican a tipos comunes de trabajo.
PATRONES DE DESCOMPOSICIÓN
══════════════════════════
OPERACIONES CRUD:
├── Funcionalidad Create
├── Funcionalidad Read/List
├── Funcionalidad Update
├── Funcionalidad Delete
└── Validación y manejo de errores
FLUJOS DE USUARIO:
├── Happy path
├── Estados de error
├── Casos edge
├── Estados de carga
└── Estados vacíos
INTEGRACIÓN:
├── Definición de contrato API
├── Implementación
├── Manejo de errores
├── Lógica de retry
└── Monitoreo/logging
Mejores Prácticas
Para Descomposición Efectiva
- Cortar verticalmente — Funcionalidad completa, no capas
- Mantener tareas 1-3 días — Más pequeño usualmente es mejor
- Incluir testing — No como fase separada
- Definir done claramente — Criterios de aceptación testeables
- Permitir refinamiento — Detalles emergen durante desarrollo
Anti-Patrones
EVITAR ESTOS:
✗ Tareas que toman semanas
✗ Cortes horizontales (toda la BD, luego toda la API)
✗ Testing como épica separada
✗ Sin criterios de aceptación
✗ Descomponer demasiado temprano (desperdicio si prioridades cambian)
✗ Una persona dueña de épica completa