¿Proporciona estimaciones al trabajar con tecnología desconocida?

19

Se me presentó un nuevo problema recientemente, para proporcionar una estimación de un proyecto en el que debo usar un marco (y potencialmente fragmentos de otro marco) con los que no estoy familiarizado. Es mucho más fácil para mí proporcionar estimaciones cuando estoy en libertad de usar lo que estoy familiarizado, pero fue como si una parálisis paralizante por análisis hubiera comenzado cuando se solicitó una estimación para trabajar en un territorio desconocido.

Mi solución, en retrospectiva, estaba equivocada. Simplemente comencé a trabajar.

¿Cómo podría estimar mejor los proyectos y las tareas cuando se me requiere trabajar con lenguajes / tecnologías / marcos desconocidos?

Sampson
fuente
2
Dar una estimación de algo que nunca ha hecho es, en la práctica, imposible de hacer con precisión. Recientemente di esta analogía cuando me preguntaron cuánto tiempo tomaría algo cuando había muchas incógnitas: "Imagina que estás caminando en el campo por la noche. Está completamente oscuro. Necesitas caminar una milla por tierra. Sabes en qué dirección necesita ir, pero solo tiene una linterna que ilumina diez pies. No tiene idea de lo que le espera: campo, río, montaña. Dado esto, puede hacer conjeturas educadas, pero en última instancia está sujeto a cosas que están fuera de su control. "
Nemi
Esto también depende del propósito de la estimación. ¿Estás estimando el caso más probable? ¿Peor de los casos? ¿Hay plazos estrictos involucrados?
David Thornley
@David Creo que este sería un caso "muy probable".
Sampson

Respuestas:

18

La respuesta estándar del libro de texto ágil es realizar un pico. Un pico es una tarea de tiempo para explorar lo desconocido, para que al final tenga (con suerte) información suficiente para proporcionar una estimación útil o tenga una mejor idea de cuánto tiempo más necesitará para llegar a ese punto .

Los picos pueden durar desde 1 hora hasta varios días o incluso más. Dado que tienen un límite de tiempo, no existe ningún riesgo para ninguna de las partes, y el gasto es estrictamente limitado.

Idealmente, durante el pico, identificaría algunas cosas simples que debían lograrse con este nuevo marco y establecería soluciones muy simples para usarlo. A medida que avanzas, aprendes, y de eso se tratan los picos.

wolfgangsz
fuente
Tal vez sea una buena idea agregar que "spike" es la terminología de Scrum .
Jesper
1
Suena como un buen enfoque. En mi caso particular, mi "pico" consistió en el proyecto en sí. Parecía un uso valioso de mi tiempo usar la tarea como mi puerta de entrada a la familiaridad en lugar de una tarea no relacionada.
Sampson
10

La forma clásica de hacer esto es por refinamiento. En la primera reunión de planificación dices;

"No tengo idea, básicamente estamos haciendo investigación de software aquí. Sin embargo, tendré una mejor estimación para la próxima reunión, dentro de unos meses".

Luego te vas y haces la investigación. Siguiente junta:

"Parece que tomará entre dos y cuatro trimestres. Vamos a construir un prototipo que nos permitirá refinar aún más las cifras".

Siguiente junta:

"El prototipo fue más fácil de construir de lo que pensábamos. Parece que podemos hacerlo en 2 trimestres, más o menos un mes".

y así. En cada etapa, el negocio tiene la opción de enlatar el proyecto, o dejarlo continuar, obteniendo cada vez mejores estimaciones de la fecha de finalización.

Esto se describe muy bien en el gran libro Rapid Development de Steve McConnell , que merece ser mucho más conocido. Ciertamente es muy superior a cualquiera de los libros sobre "ágil" que he leído.

Neil Butterworth
fuente
+1 Gracias por la información, @Neil. Examinaré también la sugerencia del libro.
Sampson
2

Puedes hacer una investigación y aún así llegar a estimaciones incorrectas. Consulte Límites grandes para la estimación de software de JP Lewis, y el material adjunto Límites matemáticos para la estimación de software . No estoy diciendo que no debas molestarte en estimar o investigar, solo que no puedes hacer una estimación objetivamente precisa, y necesitas decir esto junto con cualquier estimación a la que llegues.

Bruce Ediger
fuente
3
Las estimaciones son por definición inexactas, y parece que muchos gerentes y / o clientes luchan con esta realidad.
wolfgangsz