Propietario de Producto Agile · CULTIVA IA

Sprint 12 — Portal de Informes Compartidos

GrowthPulse SaaS · Marketing Analytics para pymes · Épica descompuesta con criterios INVEST

Cliente GrowthPulse
Sprint Goal Compartir informe en < 30 seg
PM Ana García
Duración 2 semanas · 12–26 jun 2026
34
Velocidad media (pts)
0.85
Factor disponibilidad
29
Capacidad ajustada (pts)
25
Comprometidos (86 %)

Velocidad histórica · últimos 5 sprints

30
S7
32
S8
34
S9
36
S10
38
S11
25*
S12
Tendencia ↑ Creciente
Avg 5 sprints 34 pts
Cap. S12 (×0.85) 29 pts
Comprometidos 25 pts
Stretch 4 pts
Backlog del Sprint 12

Comprometidos · 25 pts

GP-001 5 pts · Fibonacci
Generar enlace de compartición
High
"Como cliente de GrowthPulse, quiero generar un enlace único para mi informe con fecha de expiración configurable, para que pueda enviarlo a mi director sin que tenga cuenta en la plataforma."
Criterios de aceptación (Given-When-Then)
Dado que el usuario está en un dashboard, cuando pulsa "Compartir", entonces se genera un enlace JWT válido en < 1 s.
El usuario puede seleccionar expiración: 24 h, 7 días o 30 días.
El enlace copia al portapapeles con confirmación visual.
Si el token expira, el visitante ve mensaje de "Enlace caducado" (no 404).
I ✓ N ✓ V ✓ E ✓ S ✓ T ✓
GP-002 8 pts · Fibonacci
Vista pública del informe
High
"Como destinatario externo, quiero ver el informe a través del enlace sin necesitar cuenta, para revisar las métricas que mi proveedor ha compartido conmigo."
Criterios de aceptación
Dado un token JWT válido, cuando el visitante accede a la URL pública, entonces el dashboard se renderiza en modo lectura en < 3 s.
No se muestran controles de edición ni navegación de cuenta.
El informe es responsive (mobile-first, ≥ 320 px).
Rate limit: máx. 60 req/min por IP; respuesta 429 con retry-after.
Accesible con lector de pantalla (WCAG 2.1 AA).
I ✓ N ✓ V ✓ E ✓ S ✓ T ✓
GP-003 5 pts · Fibonacci
Revocar acceso de enlace
High
"Como administrador de la cuenta, quiero poder revocar cualquier enlace activo, para controlar qué información sigue siendo accesible a externos."
Criterios de aceptación
Dado que hay enlaces activos, cuando el admin pulsa "Revocar", entonces el enlace deja de funcionar en < 5 s (TTL de caché).
El panel de admin muestra lista de enlaces activos con fecha de creación y expiración.
Los no-admin no ven el panel de gestión de enlaces.
I ✓ N ✓ V ✓ E ✓ S ✓ T ✓
GP-E01 3 pts · Enabler
Token JWT firmado para links públicos
High · Enabler técnico
"Como developer, necesito implementar firma y validación de tokens JWT con expiración configurable para habilitar las historias de compartición pública."
Criterios de aceptación
Endpoint POST /api/share genera JWT firmado con RS256.
Tests unitarios de firma y validación con ≥ 90 % cobertura.
Sin regresión en endpoints de autenticación existentes.
I ✓ N — V ✓ E ✓ S ✓ T ✓
GP-E02 4 pts · Enabler
Rate limiting en endpoint público
Medium · Enabler técnico
"Como developer, necesito implementar rate limiting en el endpoint público para proteger la plataforma de abuso y garantizar disponibilidad."
Criterios de aceptación
60 req/min por IP; respuesta HTTP 429 con header Retry-After.
Configuración via variable de entorno (no hardcoded).
Tests de integración que verifican el throttling.
I ✓ N — V ✓ E ✓ S ✓ T ✓

Stretch goals · 4 pts

GP-004 3 pts · Fibonacci
Registro de visualizaciones
Medium
"Como cliente, quiero ver quién y cuándo ha accedido a mi informe compartido, para saber si el destinatario lo revisó."
Criterios de aceptación
Dado que hay visitas al enlace, cuando el creador abre "Actividad", entonces ve IP anonimizada, timestamp y dispositivo.
Datos cumplimiento RGPD: sin PII almacenada.
Máximo 1 000 registros por enlace antes de paginar.
I ✓ N ✓ V ✓ E ✓ S ✓ T ✓
GP-005 1 pt · Fibonacci
Exportar informe a PDF desde vista pública
Low
"Como destinatario externo, quiero descargar el informe como PDF para adjuntarlo en mi presentación de resultados."
Criterios de aceptación
Botón "Descargar PDF" visible en vista pública.
PDF generado en < 5 s; incluye logo del cliente y marca de agua "Compartido vía GrowthPulse".
No disponible si el enlace ha expirado o sido revocado.
I ✓ N ✓ V ✓ E ✓ S ✓ T ✓
Pendiente backlog (próximos sprints)
GP-006 · Personalizar branding del informe compartido — 5 pts · Low
GP-007 · Notificación email al crear enlace — 2 pts · Low
GP-008 · Compartir múltiples informes en un paquete — 8 pts · Medium
Priorización ponderada del backlog (sprint actual)
Historia Valor negocio (40%) Impacto usuario (30%) Riesgo/dep. (15%) Esfuerzo (15%) Score Pts Bloque
GP-001 · Generar enlace 9.0 9.5 7.0 7.0 88.5 5 High
GP-E01 · JWT token 8.5 8.0 9.0 8.0 85.3 3 High
GP-002 · Vista pública 9.0 9.0 6.0 5.0 83.1 8 High
GP-003 · Revocar enlace 8.0 7.5 8.0 7.0 79.4 5 High
GP-E02 · Rate limiting 7.0 6.0 9.5 7.5 72.8 4 Medium
GP-004 · Registro vistas 6.5 7.0 5.0 7.0 64.3 3 Stretch
GP-005 · Export PDF 5.0 6.0 4.0 8.5 55.9 1 Stretch
Definition of Done — Sprint 12
Entregado cuando…
✅ Código revisado (peer review ≥ 1 aprobación)
✅ Tests unitarios + integración pasando (> 85 % coverage)
✅ Criterios de aceptación verificados por QA
✅ Desplegado en staging + smoke test
✅ Documentación de API actualizada (Swagger)
✅ PO (Ana) ha aceptado la historia
✅ Sin bugs P1 abiertos
Métricas objetivo S12
📊 Commitment reliability ≥ 85 %
📊 Scope change < 10 % de los pts
📊 Carryover < 15 % de comprometidos
📊 Velocidad sprint 25 pts (ajustada)
📊 Bugs introducidos en sprint ≤ 2 (P2+)
📊 Tiempo promedio de enlace generado < 1 s
📊 Satisfacción demo (1-5) ≥ 4.0