Ejemplos de cálculos resueltos
Las historias reales están presentes a lo largo de todo el proceso de estimación —inicio de sesión, pagos, migraciones, picos de tráfico— y las preguntas que deben aclararse antes de que nadie vote una cifra.
Cómo evaluar una función de inicio de sesión: el alcance oculto —restablecimiento de contraseña, autenticación de dos factores (2FA), federación, limitación de frecuencia, sesiones— y las preguntas que deben plantearse antes de que nadie vote.
Cómo estimar una integración de SSO: el trabajo no reside en su código fuente, sino en las particularidades del proveedor de identidad. Las preguntas que debe responder antes de fijar una cifra.
Cómo calcular el coste de una integración de pagos: entorno de pruebas frente a entorno de producción, reembolsos, webhooks, idempotencia y ámbito de aplicación de la normativa PCI. La conversación que debe mantenerse antes de fijar cualquier cifra.
Cómo realizar una estimación de una función de búsqueda: relevancia, clasificación, facetas y quién es el responsable del índice. Las preguntas que convierten la simple idea de «añadir una barra de búsqueda» en una estimación real.
Cómo evaluar un sistema de notificaciones: canales, preferencias, deduplicación y garantías de entrega. Por qué «enviar un correo electrónico» se convierte, sin que uno se dé cuenta, en un proyecto de seis semanas.
Cómo calcular el tiempo necesario para la subida de un archivo: límites de tamaño, análisis antivirus, posibilidad de reanudación, almacenamiento y retención. La función de «arrastrar y soltar» es la parte más sencilla; lo complicado está en los detalles.
Cómo diseñar un panel de control: fuentes de datos, frecuencia de actualización, zonas horarias, análisis detallado, permisos. El gráfico es sencillo; lo complicado es el proceso de tratamiento de datos que hay detrás.
Cómo estimar una prueba inestable: por qué se necesitan dos estimaciones, y no una sola, y por qué es preferible fijar un plazo fijo antes que discutir sobre puntos cuando la respuesta depende de lo que se descubra.
Cómo estimar un error que no se puede reproducir: no se puede calcular la duración de la corrección, sino solo la de la búsqueda. Cómo establecer un plazo para la investigación en lugar de votar una historia que nadie puede ver.
Cómo evaluar una disminución del rendimiento: la mayor parte del trabajo consiste en el diagnóstico, no en la solución. Cómo evaluar su magnitud cuando se desconoce la causa y está en juego un SLO.
Cómo estimar un error notificado por un cliente: la descripción que figura en el ticket determina su envergadura. Cómo distinguir entre una corrección de una sola línea y una respuesta que consume todo el sprint.
Cómo calcular el tiempo necesario para la migración de una base de datos: rellenado, duración del bloqueo, implementación y reversión. «Añadir una columna» es una línea de SQL; el tiempo estimado es aproximadamente el de un segundo.
Cómo realizar una estimación de una migración de datos: traslado de datos entre sistemas, conciliación y transición. La transformación se lleva a cabo en una hora; la limpieza dura un trimestre.
Cómo estimar una actualización del marco de trabajo: por qué un cambio de versión importante es un proyecto, no una incidencia, y cómo dividirlo en historias que se puedan cuantificar de forma realista.
Cómo estimar una actualización de dependencias: el aumento de larga duración que oculta N picos en un único ticket. Lea primero los registros de cambios y, a continuación, estime lo que haya encontrado.
Cómo estimar una revisión integral de CI/CD: el trabajo en el pipeline no tiene demostración, así que divídalo en partes según lo que se pueda eliminar. Esa tarea que lleva todo un trimestre y que se esconde en la lista de tareas pendientes como una refactorización.
Cómo evaluar la sustitución de una API de terceros: lagunas semánticas, ejecución simultánea y los supuestos implícitos en las peculiaridades del antiguo proveedor. La nueva API solo parece idéntica.
Cómo planificar la implantación de un límite de tráfico: umbrales, períodos de prueba y comunicaciones con los clientes. El código se escribe en medio día; lo difícil es elegir unos límites que no generen quejas.
Cómo evaluar un cambio en el sistema de diseño: implementaciones de tokens, rutas de obsolescencia, cobertura de Codemod y los 200 puntos de llamada que utilizan el componente antiguo. Evalúe el impacto en las fases posteriores.
Cómo estimar una corrección de accesibilidad: los problemas de accesibilidad son funcionalidades que no se incluyeron en la primera versión. Por qué hay que evaluar la magnitud del problema en su conjunto, y no cada caso concreto.
Cómo planificar el lanzamiento de un «feature flag»: porcentajes por fases, «kill-switches», métricas de control y la limpieza que nadie programa. Un «feature flag» es un pequeño producto, no una implementación.
Cómo estimar un «spike» de investigación: un «spike» es un intervalo de tiempo con un resultado concreto, no una «story». Cómo evitar que, sin que uno se dé cuenta, se convierta en el trabajo que en un principio se había previsto incluir en el alcance.
Cómo evaluar un prototipo: se trata de un producto diseñado para el aprendizaje, no para su uso. Cómo evitar que lo que se ha creado con fines de prueba acabe convirtiéndose en el código de producción que nadie había previsto.
Cómo realizar una estimación de un experimento de aprendizaje automático: se trata de investigación combinada con ingeniería; el modelo es sencillo, el trabajo está en los datos. Cómo determinar el volumen de un presupuesto, no una previsión.