Por Qué la Estimación Importa

Cada sprint planning incluye la pregunta: “¿Cuánto tomará el testing?” Equivocarse tiene consecuencias reales:

  • Subestimar: Testing apresurado, bugs escapan a producción, equipo agotado
  • Sobreestimar: Presupuesto desperdiciado, credibilidad afectada, features retrasados

Factores que Afectan las Estimaciones

FactorImpacto
Complejidad del featureMás complejo = más casos de prueba, más edge cases
Experiencia del equipoEquipo nuevo o dominio nuevo = testing más largo
Calidad de requisitosRequisitos vagos = más testing exploratorio y retrabajo
Madurez de automatizaciónMás automatización = menos ejecución manual
Estabilidad del entornoEntornos inestables = testing bloqueado
DependenciasServicios externos, otros equipos = tiempo de espera
Densidad de defectosMás bugs = más retesting y regresión

Técnicas de Estimación

1. Work Breakdown Structure (WBS)

WBS divide el testing en tareas más pequeñas y estimables.

Pasos: 1) Listar todas las actividades 2) Dividir en sub-tareas 3) Estimar cada una en horas 4) Sumar

Ejemplo:

ActividadSub-tareasHoras
Revisión de requisitosRevisar 20 user stories, escribir criterios12
Diseño de casosFuncionales (40), negativos (20), datos28
Ejecución de testsManual (60 casos) + automatizado32
Gestión de bugsRegistrar, verificar, reprobar (~15 bugs)12
RegresiónSuite de regresión8
ReportesEstado diario, reporte final4
Total96h (12 días)

2. Three-Point Estimation (PERT)

Usa tres valores: O (Optimista), M (Más Probable), P (Pesimista).

Fórmula: Estimación = (O + 4M + P) / 6

TareaOMPPERT
Diseño de casos12h16h28h17.3h
Ejecución16h24h40h25.3h
Gestión de bugs4h12h24h12.7h
Regresión4h8h16h8.7h
Total64h (8 días)

3. Wideband Delphi

Técnica de consenso donde múltiples expertos estiman independientemente.

Pasos:

  1. Presentar el scope a 3-5 expertos
  2. Cada uno estima independientemente (sin discusión)
  3. Recopilar estimaciones anónimamente
  4. Revelar todas simultáneamente
  5. Discutir valores extremos
  6. Re-estimar (independientemente)
  7. Repetir hasta convergencia (2-3 rondas)

4. Método de Puntos de Caso de Uso

Estima basándose en número y complejidad de casos de uso.

ComplejidadCantidadPesoPuntos
Simple5525
Medio81080
Complejo31545
Total150

Ajustado: 150 × factor de complejidad × productividad = horas de testing

5. Datos Históricos (Basado en Analogía)

Usar datos de proyectos similares anteriores.

Ejemplo: “El módulo de login en el Proyecto A tomó 5 días. Este módulo es similar pero agrega autenticación de dos factores. Estimación: 7 días.”

Precisión de Estimación en el Tiempo

graph LR subgraph Cono de Incertidumbre E1[Estimación Inicial
±50%] --> E2[Post-Requisitos
±25%] E2 --> E3[Post-Diseño
±15%] E3 --> E4[Durante Testing
±5%] end style E1 fill:#F44336,color:#fff style E2 fill:#FF9800,color:#fff style E3 fill:#FFC107,color:#000 style E4 fill:#4CAF50,color:#fff

Las estimaciones tempranas son inherentemente menos precisas. Proporciona rangos, no números únicos.

Ejercicio: Estimar Esfuerzo Usando Dos Técnicas

Eres QA lead de un proyecto para construir un sistema de reservas de hotel. Features:

  • Registro y login (con login social)
  • Búsqueda de hoteles (ubicación, fechas, precio, rating)
  • Reserva con pago (tarjeta, PayPal)
  • Gestión de reservas (ver, modificar, cancelar)
  • Sistema de reviews
  • Panel de administración

Equipo: 2 QA (1 senior, 1 mid), experiencia en e-commerce pero no en reservas de hotel.

Tu tarea:

  1. Estimar usando WBS
  2. Estimar usando Three-Point
  3. Comparar y explicar cuál presentarías
  4. Listar 3 riesgos
Pista

Testing de pagos necesita tiempo extra para seguridad. Login social tiene dependencias externas. La búsqueda necesita testing de rendimiento. No olvides regresión y configuración de entorno.

Solución de Ejemplo

WBS: 198h (~25 días)

ActividadHoras
Revisión de requisitos + criterios20
Diseño de casos (105 casos)56
Preparación de datos8
Ejecución (funcional + seguridad + rendimiento + cross-browser)76
Gestión de bugs (~25 bugs)16
Regresión (2 ciclos)16
Reportes6

Three-Point: 189h (~24 días)

Rango con 95% confianza: 127-251h (16-31 días)

Presentar como: “24-25 días de trabajo, con rango de 20-31 días según densidad de defectos y estabilidad del entorno.”

Riesgos:

  1. Problemas de integración con gateway de pagos
  2. Mayor densidad de defectos de lo esperado
  3. Cambios en APIs de login social

Errores Comunes

  1. Olvidar tareas no-testing: Setup de entorno, reuniones, documentación
  2. Estimar solo happy paths: Testing negativo toma tanto tiempo como el positivo
  3. Ignorar regresión: Cada fix necesita regresión
  4. Estimaciones de número único: Siempre da rangos
  5. No rastrear resultados reales: Sin datos históricos, las estimaciones nunca mejoran

Consejos Pro

  1. Rastrea estimaciones vs. reales. Después de cada proyecto, compara. Esto construye precisión con el tiempo.

  2. Agrega buffer para incertidumbre. Para dominios nuevos: 20-30%. Para terreno conocido: 10-15%.

  3. Presenta rangos, no puntos. “Estimamos 15-20 días” es más honesto que “Estimamos 17.3 días.”

  4. Usa Wideband Delphi para estimaciones importantes. Cuando la estimación determina presupuesto o headcount, involucra múltiples expertos.

  5. Estima testing durante planificación, no después. Si estimas después de que inicia el desarrollo, ya estás atrasado.