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

  1. Reutilización de patrones POST: La experiencia de HU07 facilitó la implementación de HU08
  2. Componentes de UI consolidados: Los componentes de detalle fueron fácilmente adaptables
  3. Testing automatizado: Las pruebas implementadas desde Sprint 1 aceleraron la validación
  4. 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

  1. Diferenciación clara de complejidad: El sistema de 3-5-8 puntos fue efectivo
  2. Reutilización de código: Los componentes creados en Sprint 1 aceleraron los sprints posteriores
  3. Testing temprano: Implementar pruebas desde el inicio redujo deuda técnica
  4. Documentación continua: Mantener documentación actualizada facilitó la integración

🔄 Áreas de Mejora Identificadas

  1. Estimación de tareas POST/PUT: Considerar 8-13 puntos para operaciones de escritura complejas
  2. Buffer para integración: Las HUs de creación requieren tiempo adicional para testing E2E
  3. Refactoring planificado: Incluir tiempo para optimización de código existente
  4. 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