Estimación es una evaluación cuantitativa del esfuerzo necesario para completar una tarea, desarrollar una funcionalidad o entregar un proyecto en su totalidad. En el desarrollo móvil, las estimaciones se utilizan para la planificación de sprints, la determinación de costos y la gestión de expectativas del cliente. Según el Project Management Institute, 2024, el error de estimación en las etapas tempranas del proyecto puede alcanzar el 100%, lo que convierte a la estimación en una de las disciplinas más desafiantes del desarrollo.
Puntos Clave
Estimación (del inglés estimate — evaluación) es una predicción de la cantidad de tiempo o esfuerzo necesario para completar una tarea. En el desarrollo móvil, las estimaciones pueden expresarse en horas, días, story points o términos monetarios. El propósito de una estimación no es una predicción exacta, sino reducir la incertidumbre para la toma de decisiones.
Estimación es un pronóstico con margen de error. Compromiso es una promesa de completar una tarea en una fecha determinada. La diferencia es crítica: una estimación dice “probablemente 5 días”, un compromiso dice “lo haremos en 5 días”. Los gerentes a menudo confunden estos conceptos, convirtiendo una estimación en un plazo sin margen de error.
El proceso de estimación no es menos importante que su resultado. Cuando el equipo discute una estimación de tarea, salen a la luz requisitos ocultos, dependencias y riesgos. Incluso si el número final es inexacto, la discusión brinda a todos los participantes una comprensión de la tarea. Por eso los métodos de estimación colectiva (Planning Poker) son más efectivos que los individuales.
Existen varios métodos de estimación, cada uno adecuado para diferentes etapas del proyecto y niveles de detalle. La elección del método depende de los datos disponibles y la precisión requerida.
| Método | Tipo | Precisión | Cuándo usarlo |
|---|---|---|---|
| Planning Poker | Experto, colectivo | Alta (en sprint) | Estimación de tareas para sprint |
| T-Shirt sizing | Experto, rápido | Media | Estimación preliminar de épicas |
| Estimación análoga | Basada en historial | Media | Tareas similares del pasado |
| Tres puntos (PERT) | Probabilística | Superior a la media | Tareas con alta incertidumbre |
| Paramétrica | Basada en fórmulas | Depende de los datos | Tareas repetitivas y medibles |
Planning Poker es el método de estimación más popular en Agile. Cada desarrollador recibe un mazo de cartas con números de Fibonacci (1, 2, 3, 5, 8, 13, 21). Después de discutir la tarea, todos muestran su carta simultáneamente. Si las estimaciones difieren, los desarrolladores con la estimación mínima y máxima explican su razonamiento, luego se realiza una nueva votación. El método elimina el sesgo de autoridad y produce una estimación más precisa.
T-Shirt sizing es una estimación aproximada por talla de camiseta: XS, S, M, L, XL, XXL. Este método se utiliza para la estimación rápida de tareas grandes (épicas) en etapas tempranas cuando los detalles son desconocidos. Más adelante, cada una de estas tareas se descompone y se estima en Planning Poker. T-Shirt sizing toma de 5 a 10 minutos por tarea, pero solo proporciona un orden de magnitud.
PERT utiliza tres estimaciones: optimista (O), pesimista (P) y más probable (M). La estimación final se calcula mediante la fórmula: (O + 4M + P) / 6. Este método tiene en cuenta la incertidumbre y da un resultado más realista que una estimación única. PERT es especialmente útil para tareas con alto riesgo o nuevas tecnologías.
La precisión de la estimación depende de la etapa del proyecto y la cantidad de información conocida. Cuanto antes se realiza la estimación, mayor es el margen de error — esto es normal y debe tenerse en cuenta en la planificación.
El Cono de incertidumbre (Cone of Uncertainty) es un modelo que describe cómo disminuye el error de estimación a medida que avanza el proyecto. En la etapa de concepto, el margen de error es del 400% (una tarea podría tomar de 1 a 4 meses). Para la etapa de sprint, es del 20% (1-1.2 meses). Comprender este modelo ayuda a no exigir estimaciones precisas en etapas tempranas.
La estimación relativa (en story points) es más precisa que la absoluta (en horas) porque las personas son mejores comparando tareas que estimando tiempo. “Esta tarea es el doble de compleja que aquella” es un juicio más fiable que “esta tarea tomará 8 horas”. Las estimaciones relativas no dependen de un desarrollador específico y mantienen la precisión al cambiar de responsable.
La precisión de la estimación puede mejorarse mediante un enfoque sistemático, la discusión colectiva y el análisis de errores pasados. Existen varias prácticas comprobadas.
Cualquier tarea estimada en más de 2 días debe descomponerse en subtareas. El principio: si una tarea no puede estimarse con más del 50% de precisión, es demasiado grande. Divídala en pasos, cada uno comprensible y evaluable. Después de la descomposición, la estimación total a menudo resulta ser 1.5-2 veces mayor que la inicial.
Mantenga un historial de estimaciones y compárelo con el esfuerzo real. Por ejemplo: “las tareas estimadas en 3 story points toman en promedio 4 días, no 2”. Use la velocity del equipo para pronosticar: si el equipo completa 20 story points por sprint, no planifique 30. Analizar la precisión de estimaciones pasadas es el mejor entrenamiento para la habilidad de estimar.
Anclaje es un efecto psicológico donde la primera estimación expresada influye en todos los participantes. Para evitar el anclaje en Planning Poker, todos muestran sus cartas simultáneamente, no por turnos. Calibración es la comparación regular de estimaciones con resultados reales: después de 10-20 sprints, el equipo aprende a estimar con mayor precisión mediante la retroalimentación.
Cada tarea contiene riesgos ocultos: enfermedad del desarrollador, problemas con la API, cambios de requisitos. Agregue un factor ajustado al riesgo a su estimación: para tareas de alto riesgo, un multiplicador de 1.5-2; para bajo riesgo, 1.1-1.2. Muestre de forma transparente al cliente qué riesgos se han considerado y cómo afectan los plazos.
Los errores de estimación se repiten en la mayoría de los equipos, independientemente de su madurez. Conocer estos errores es el primer paso para corregirlos.
El error más común es estimar según el mejor escenario: “si todo sale perfecto, lo haremos en 3 días”. En realidad, nada sale perfecto: errores, dudas sobre requisitos, tareas dependientes. Solución: estime según el escenario más probable, no el optimista. Use PERT para considerar la variabilidad.
Cuando un gerente dice “lo necesitamos para el viernes”, el desarrollador ajusta subconscientemente la estimación a ese plazo. La estimación bajo presión siempre es inferior a la real y lleva a incumplir plazos. Solución: la estimación debe preceder al plazo, no al revés. Primero el equipo estima, luego las partes acuerdan los plazos.
La complejidad de la tarea (cuánto pensar) y el tiempo (cuánto hacer) son métricas diferentes. Una tarea puede ser simple pero llevar mucho tiempo (maquetar 10 pantallas) o compleja pero rápida (encontrar un error en código heredado). Los story points generalmente estiman la complejidad, mientras que el tiempo se deriva de la velocity del equipo.
Un desarrollador no trabaja 8 horas seguidas en una sola tarea: reuniones, revisiones de código, ayuda a colegas y tareas administrativas consumen el 30-50% del tiempo laboral. Los cambios de contexto deben considerarse en la estimación: en realidad, un desarrollador escribe código de 3 a 4 horas al día.
Preguntas Frecuentes
El desarrollo es un proceso creativo con alta incertidumbre. A diferencia de la construcción o la fabricación, donde cada paso es conocido, en TI cada tarea es única. Las incógnitas desconocidas (unknown unknowns) son la principal causa de imprecisión. Incluso un equipo experimentado se equivoca en el 30-50% de las estimaciones. Esto es normal y debe considerarse en la planificación.
Los story points son mejores para la planificación de sprints porque son relativos y no dependen del responsable. Las horas son necesarias para contratos e informes externos, pero son menos precisas. La combinación óptima: las tareas se estiman en story points y los plazos se convierten mediante la velocity del equipo en días calendario.
Para tareas con tecnologías desconocidas, primero use un Spike (investigación con tiempo limitado). Después de la investigación, el equipo comprende la complejidad y puede dar una estimación realista. Aplique un multiplicador de 2-3 a la estimación habitual y añada un 50% de margen para dificultades imprevistas.
Muestre el desglose — divida la tarea en subtareas con estimaciones individuales. Explique en qué consiste el tiempo: desarrollo, pruebas, revisión de código, documentación. Ofrezca alternativas: reducir el alcance, simplificar la funcionalidad o dividir en fases. Nunca reduzca una estimación sin cambiar los requisitos.
La reestimación es necesaria cuando surge nueva información sobre una tarea: se descubren requisitos adicionales, se encuentran limitaciones técnicas o cambian las prioridades. Dentro de un sprint, las tareas no se reestiman — el enfoque está en la finalización. Entre sprints, el backlog se reestima durante el grooming.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también