Pregunta

Un cliente nos ha pedido que nos proporcione una estimación del tiempo de cada error que tenemos.

Aunque tenemos un calendario establecido para la corrección de errores y hemos asignado tiempo para ello, no tenemos una asignación de tiempo en cada uno de los errores que tenemos. Simplemente, hemos priorizado nuestros errores y nos hemos asegurado de que se solucionen los errores de mayor prioridad en el tiempo asignado.

No soy un fanático de asignar tiempo a los errores, simplemente porque:

  1. Por lo general es inexacto. Es muy difícil averiguar cuánto tiempo tomaría arreglarlo.
  2. pérdida de tiempo.
  3. Afecta la calidad del código
  4. Crea más errores a largo plazo (es posible que perdamos ciertas cosas en nuestro intento de completarlo antes de la fecha límite).

¿Cómo deberíamos abordar este problema en el que no queremos proporcionar el número de horas por error, sino solo un marco de tiempo en cuanto a qué errores se solucionarán?

¿Cómo asignas tiempo a tus errores? ¿Es efectivo? Vale la pena el tiempo y el esfuerzo?

¿Fue útil?

Solución

La única respuesta que puedo dar es ser extremadamente conservador. Adivina cuánto tiempo tomará, y multiplica tu conjetura por cuatro. Use eso como su estimación. Como ha dicho, es muy difícil averiguar cuánto tardarán las cosas en arreglarse, y es mejor decir que tomará más tiempo de lo que realmente lo hace que ser atrapado " rompiendo su fecha límite " porque no eras lo suficientemente conservador.

Otros consejos

La empresa para la que trabajo a menudo recibe solicitudes no razonables de nuestros clientes. Lo importante a recordar es que los clientes desean estar bien informados. Hemos encontrado que la mejor manera de hacerlo es en términos de informes de estado.

Entonces, primero hacemos un buen trabajo explicando nuestra posición. En tu ejemplo, esto sería algo como esto:

  

Tenemos un calendario establecido para corregir los errores en nuestro proyecto, que históricamente tenemos un buen historial de mantener el calendario. Sin embargo, el proceso de detallar cuánto tiempo tomará reparar cada error es bastante propenso a errores. Nos complacería brindarle actualizaciones semanales (o dos veces por semana o por día, según el cliente) sobre los errores que se han solucionado y las soluciones que se han probado.

Sin embargo, creo que es bueno tratar de estimar cuánto tiempo tomará cada error para solucionarlo. La razón de esto es que necesita comprender cuál será el tiempo total para solucionar todos los errores. No podrá obtener una estimación precisa si no tiene una estimación de cuánto tardarán en repararse las piezas individuales. Por supuesto, estas pueden ser estimaciones aproximadas (que se estiman no más que pasar una hora investigando el problema). No querrá perder demasiado tiempo estimando. Entonces típicamente tomo en cuenta un 20% extra. Así que digamos que las estimaciones de errores son 3 días, 5 días y 2 días. Luego le informaría al cliente que deberíamos poder solucionar los errores en 12 días. Entonces, por supuesto, es posible que deba agregar más tiempo para probar y volver a empaquetar su producto antes de poder entregarlo.

No pienses en esto en términos de estimar cuánto tardan en solucionarse los errores, porque posiblemente no puedas estimar eso correctamente.

Piense en esto en términos de gestión de la ira del cliente . Si les dice que los errores no tardarán en resolverse y terminan en 3 meses, su cliente estará contento con usted ahora y furioso con usted en el futuro.

Si les dice que los errores tardarán 3 meses en solucionarse y en realidad demoran 3 meses en solucionarlo (lo que harán), su cliente estará furioso y feliz con usted en el futuro.

Por lo general, digo que los errores no tardarán en absoluto (2-3 días parece ser un buen número de pacificación).

Debe ser lo mismo que estimar cualquier otra tarea que tenga. Divídalo en las tareas más pequeñas posibles y calcúlelas con la mayor precisión posible con el relleno para lo inesperado. Luego, asigne un rango para que no se encuentre en una fecha específica en tareas que no estén bien definidas. No hay diferencia entre el tiempo estimado para corregir un error y el tiempo estimado para implementar una función con requisitos nebulosos.

Tienes razón, las estimaciones suelen ser inexactas.

Tal vez quiera preguntarles cuánto les cuesta cada error si no se resuelve. Luego, puede realizar el cálculo apropiado para determinar si alguna vez deberían solucionarse, y cuánto tiempo usted (o, de manera realista, pueden) dedicar a cada error.

¿Por qué no elegir varias bandas para la gravedad de los errores, por ejemplo? 1 hora, 1/2 día, 1 día, 1 semana y asignar contra ellos. En general, tendrá una sensación de un error, para el que no tiene idea, ¡póngale la peor figura!

No creo que te gustaría que te estimáramos a un nivel más fino que ese, por las razones que has citado (demorando mucho en investigar, etc.)

No creo que sea una pérdida de tiempo. Su cliente quiere saber más que la cantidad de errores y su prioridad, quiere saber cuánto trabajo queda.

Bajo ninguna circunstancia esto debería dar lugar a que generes más errores. No deberías apresurarte contra el reloj para arreglar esto. Si estimaste 1 día y tardaste 10 horas, está bien. Si estimaste 1 semana y tardaste 2 horas, ¡buen resultado!

¡Esto es simplemente un ejercicio de estimación!

Por lo general, acordaremos qué errores se deben corregir para una versión en particular, y luego definiremos un marco de tiempo para corregir todos los errores. Para cada error individual hay una gran cantidad de incertidumbre / variabilidad en cuanto al tiempo que puede tardar en solucionarse, pero eso tiende a promediarse con un mayor número de errores. Para ciertos errores que sabe que tomarán más tiempo, puede ser posible dar algunas estimaciones, por ejemplo. si necesita escribir un simulador o un marco de prueba para ello.

Si estos son errores que se han encontrado y reportado, entonces debería ser capaz de desarrollar una estimación del tiempo para solucionarlo (y el tiempo para volver a realizar la prueba). La confianza de la estimación será proporcional al tiempo que dedique a la estimación, tal vez explique este costo al cliente.

Si hay varios informes de errores pequeños relacionados, tal vez podría contraerlos en un solo informe general. Esto podría evitar que el cliente intente seleccionar y elegir los errores que se deben corregir basándose únicamente en estimaciones individuales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top