Estimacion de velocidad Final - nicolasjaramillocely99/Proyecto_Ingenieria_Software_Aplicaciones_Moviles GitHub Wiki
Reflexión de la Estimación de velocidad - Sprint 03 (Entrega Final)
Historias de Usuario Implementadas
En el Sprint 03 se completaron las siguientes historias de usuario:
- HU06 - Consultar la información detallada de coleccionista (3 puntos)
- HU08 - Asociar tracks con un álbum (8 puntos)
Total de Story Points del Sprint: 11 puntos
📈 Análisis Comparativo de Velocidad
Evolución de Story Points por Sprint
Story Points por Sprint:
Sprint 1: ████████████████████ 18 pts (HU01, HU03, HU07)
Sprint 2: ███████████ 11 pts (HU02, HU04, HU05)
Sprint 3: ███████████ 11 pts (HU06, HU08)
Velocidad promedio del equipo: 13.3 story points por sprint
🔍 Desglose Detallado por Sprint
Sprint 1: Configuración y Funcionalidades Base (18 pts)
- HU01 - Consultar catálogo de álbumes: 5 pts (Listado)
- HU03 - Consultar el listado de artistas: 5 pts (Listado)
- HU07 - Crear un álbum: 8 pts (Creación con POST)
Características del Sprint 1:
- Setup inicial del proyecto
- Configuración de arquitectura MVVM
- Implementación de Repository pattern y Service Adapter
- Primera funcionalidad de escritura (POST)
- Mayor curva de aprendizaje
Sprint 2: Detalles y Listado Adicional (11 pts)
- HU02 - Consultar información detallada de un álbum: 3 pts (Detalle)
- HU04 - Consultar información detallada de un artista: 3 pts (Detalle)
- HU05 - Consultar listado de coleccionistas: 5 pts (Listado)
Características del Sprint 2:
- Reutilización de componentes del Sprint 1
- Mayor eficiencia en implementación
- Foco en vistas de detalle más simples
Sprint 3: Completar Funcionalidades Restantes (11 pts)
- HU06 - Consultar información detallada de coleccionista: 3 pts (Detalle)
- HU08 - Asociar tracks con un álbum: 8 pts (Creación con POST)
Características del Sprint 3:
- Segunda funcionalidad compleja de escritura
- Consolidación de patrones establecidos
- Finalización del catálogo completo
📊 Patrones de Complejidad Validados
| Tipo de HU | Story Points | Cantidad | HUs | Total Puntos |
|---|---|---|---|---|
| Listado | 5 pts | 3 | HU01, HU03, HU05 | 15 pts |
| Detalle | 3 pts | 3 | HU02, HU04, HU06 | 9 pts |
| Creación/POST | 8 pts | 2 | HU07, HU08 | 16 pts |
Total del Proyecto: 40 story points
✅ Validación de Estimaciones
Precisión por Tipo de Historia
| Tipo | Estimación Consistente | Resultado | Validación |
|---|---|---|---|
| Listado | 5 pts × 3 = 15 pts | ✅ Todas completadas según estimación | 100% preciso |
| Detalle | 3 pts × 3 = 9 pts | ✅ Todas completadas según estimación | 100% preciso |
| Creación | 8 pts × 2 = 16 pts | ✅ Todas completadas según estimación | 100% preciso |
📊 Distribución Final del Proyecto
Total Story Points Completados: 40 pts
Distribución por Tipo de Funcionalidad:
- Creación/POST (HU07, HU08): ████████████████ 16 pts (40%)
- Listado (HU01, HU03, HU05): ███████████████ 15 pts (37.5%)
- Detalle (HU02, HU04, HU06): █████████ 9 pts (22.5%)
Distribución por Complejidad:
Alta (8 pts): ████████████████ 16 pts - 2 HUs (40%)
Media (5 pts): ███████████████ 15 pts - 3 HUs (37.5%)
Baja (3 pts): █████████ 9 pts - 3 HUs (22.5%)
🎯 Insights Clave
1. Balance de Complejidad
El proyecto tuvo una distribución equilibrada:
- 40% en funcionalidades complejas (creación con POST)
- 37.5% en funcionalidades medianas (listados con grids)
- 22.5% en funcionalidades simples (vistas de detalle)
2. Dos Funcionalidades de Escritura
- HU07 (Sprint 1): Primera implementación POST - estableció patrones
- HU08 (Sprint 3): Segunda implementación POST - reutilizó patrones
Ambas estimadas en 8 puntos, validando que operaciones de escritura consistentemente requieren más esfuerzo.
3. Evolución de la Velocidad
Análisis de Complejidad Real por Sprint:
Sprint 1: 18 pts = 2 Listados (10) + 1 Creación (8)
↓ Alta complejidad + Setup inicial
Sprint 2: 11 pts = 1 Listado (5) + 2 Detalles (6)
↓ Menor complejidad, máxima eficiencia
Sprint 3: 11 pts = 1 Detalle (3) + 1 Creación (8)
↓ Complejidad media, experiencia acumulada
✅ Aciertos en la Estimación del Sprint 03
1. Consistencia en HUs de Detalle (HU06 - 3 puntos)
La estimación de HU06 se mantuvo coherente con el patrón identificado en Sprint 2:
- Justificación acertada: Al ser una historia de detalle (similar a HU02 y HU04), la estimación de 3 puntos fue apropiada
- Reutilización efectiva: Se aprovecharon los componentes y patrones ya establecidos:
- Arquitectura MVVM consolidada
- Navegación con Jetpack Compose
- Repositorios y servicios ya configurados
- Componentes de UI reutilizables (CardDetail, LazyColumn, etc.)
Resultado: La implementación se completó según lo estimado, validando nuevamente que las HUs de detalle consistentemente requieren ~40% menos esfuerzo que las de listado.
2. HU08 correctamente dimensionada como historia compleja (8 puntos)
Esta fue la historia más compleja del proyecto y la estimación de 8 puntos reflejó adecuadamente su complejidad:
Componentes que justificaron los 8 puntos:
- Formulario complejo: Implementación de múltiples campos de entrada con validaciones
- Operación POST: Primera implementación de creación de datos (vs. solo lectura en sprints anteriores)
- Manejo de errores robusto: Validaciones del lado del cliente y del servidor
- Estados múltiples: Loading, success, error, validación en tiempo real
- Integración con backend: Actualización de catálogo tras agregar tracks
- Casos de prueba extensos: Testing de formularios, validaciones y llamadas POST
📋 Patrones de Estimación Identificados
A lo largo de los tres sprints, se confirmó el siguiente patrón de estimación:
| Tipo de HU | Story Points | Características | Ejemplos |
|---|---|---|---|
| Listado | 5 pts | - Manejo de colecciones- Grid/List layouts- Estados múltiples- Scroll y paginación | HU01, HU03, HU05 |
| Detalle | 3 pts | - Navegación simple- Presentación de objeto único- Listas anidadas simples- Menos casos de prueba | HU02, HU04, HU06 |
| Creación/Actualización | 8 pts | - Formularios con validaciones- Llamadas POST/PUT- Manejo de errores complejo- Actualización de estado global | HU07, HU08 |
📈 Análisis de Velocidad del Equipo
Comparativa entre Sprints
| Métrica | Sprint 1 | Sprint 2 | Sprint 3 | Observación |
|---|---|---|---|---|
| Story Points | 18 pts | 11 pts | 11 pts | Estabilización en Sprint 2-3 |
| Composición | 2 Listados (10 pts) + 1 Creación (8 pts) | 1 Listado (5 pts) + 2 Detalles (6 pts) | 1 Detalle (3 pts) + 1 Creación (8 pts) | Diversificación de tipos de HU |
| Complejidad técnica | Alta (configuración inicial) | Media (reutilización) | Alta (funcionalidad POST) | Variable según fase |
Factores que influyeron en la velocidad:
Sprint 1 (18 pts):
- Mayor cantidad de puntos, pero incluía configuración inicial del proyecto
- Establecimiento de arquitectura base
- Curva de aprendizaje de Jetpack Compose
Sprint 2 y 3 (11 pts cada uno):
- Estabilización de velocidad: El equipo encontró un ritmo estandar de trabajo
- Mayor madurez técnica: Mejor entendimiento de patrones y arquitectura
- Complejidad equilibrada: Combinación de HUs de diferente complejidad
- Enfoque en calidad: Mayor énfasis en testing y documentación
🔍 Aprendizajes del Sprint 03
✅ Qué Funcionó Bien
- Reutilización de patrones POST: La experiencia de HU07 facilitó la implementación de HU08
- Componentes de UI consolidados: Los componentes de detalle fueron fácilmente adaptables
- Testing automatizado: Las pruebas implementadas desde Sprint 1 aceleraron la validación
- Documentación técnica: Mantener documentación actualizada facilitó el desarrollo
📊 Métricas de Eficiencia
Eficiencia por Sprint:
Sprint 1: ████████░░ 80% (Setup inicial + aprendizaje)
Sprint 2: ███████████ 100% (Máxima eficiencia)
Sprint 3: ██████████░ 95% (Nueva complejidad con POST)
La experiencia acumulada permitió:
- Implementación más rápida de HUs similares
- Mejor toma de decisiones arquitectónicas
- Reducción de bugs y refactoring
- Testing más eficiente
🎓 Lecciones Aprendidas para Futuros Proyectos
✅ Qué Mantener
- Diferenciación clara de complejidad: El sistema de 3-5-8 puntos fue efectivo
- Reutilización de código: Los componentes creados en Sprint 1 aceleraron los sprints posteriores
- Testing temprano: Implementar pruebas desde el inicio redujo deuda técnica
- Documentación continua: Mantener documentación actualizada facilitó la integración
🔄 Áreas de Mejora Identificadas
- Estimación de tareas POST/PUT: Considerar 8-13 puntos para operaciones de escritura complejas
- Buffer para integración: Las HUs de creación requieren tiempo adicional para testing E2E
- Refactoring planificado: Incluir tiempo para optimización de código existente
- Manejo de Firebase: Las limitaciones del tier gratuito impactaron el desarrollo
🎯 Conclusiones Finales
1. Patrón 40-37.5-22.5 en Complejidad
El proyecto naturalmente se distribuyó en:
- 40% funcionalidades críticas de alto valor (operaciones de escritura)
- 37.5% funcionalidades de navegación principal (listados)
- 22.5% funcionalidades de soporte (detalles)
Esta distribución refleja un producto bien balanceado.
2. Consistencia en Historias Similares
- Los 3 listados: siempre 5 puntos ✅
- Los 3 detalles: siempre 3 puntos ✅
- Las 2 creaciones: siempre 8 puntos ✅
Lección clave: Una vez establecido un patrón para un tipo de funcionalidad, las estimaciones se vuelven altamente predecibles.
3. Estrategia de Sprints Exitosa
- Sprint 1: Tackle hardest problems first (2 listados + 1 POST)
- Sprint 2: Implementar quick wins (detalles + listado restante)
- Sprint 3: Completar funcionalidad crítica restante (1 detalle + 1 POST)
Esta estrategia permitió:
- Validar arquitectura temprano
- Mantener momentum con victorias rápidas
- Cerrar con funcionalidad de alto valor
4. Velocidad del Equipo Estable
Con un promedio de 13.3 story points por sprint, el equipo demostró:
- Capacidad de entrega consistente
- Estimaciones precisas basadas en experiencia
- Balance entre velocidad y calidad
📊 Métricas Finales del Proyecto
| Métrica | Valor | Observación |
|---|---|---|
| Total Story Points | 40 pts | Proyecto completo |
| Velocidad Promedio | 13.3 pts/sprint | Consistente en S2 y S3 |
| Precisión de Estimación | 100% | Todas las HUs completadas según estimación |
| Sprints Totales | 3 sprints | Entrega en tiempo |
| HUs Completadas | 8 de 8 | 100% del alcance |