2008-09-25 19 views
7

Un cliente nos ha pedido que nos proporcione una estimación de tiempo sobre cada uno de los errores que tenemos.Asignación de tiempo de reparación de errores

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 los errores de mayor prioridad se corrijan en el tiempo asignado.

No soy un fan de la asignación de tiempo para errores, simplemente porque:

  1. Por lo general, es inexacta. Es muy difícil determinar cuánto tardaría arreglarlo.
  2. Pérdida de tiempo.
  3. Afecta la calidad del código
  4. Crea más errores a la larga (podemos perder ciertas cosas en nuestro intento de completarlo antes de la fecha límite).

¿Cómo debemos abordar este problema en el que no queremos proporcionar el número de horas por error, sino solo un plazo en cuanto a qué errores se corregirán?

¿Cómo se asigna tiempo a sus errores? ¿Es efectivo? ¿Vale la pena el tiempo y el esfuerzo?

Respuesta

5

La única respuesta que puedo dar es ser extremadamente conservador. Adivina cuánto tiempo tomará, y multiplica tu suposición por cuatro. Use eso como su estimado. Como dijiste, es muy difícil determinar cuánto demorarán las cosas en solucionar, y es mejor decir que tomará más tiempo de lo que realmente es que ser atrapado "rompiendo el plazo" porque no fuiste lo suficientemente conservador.

+1

Cuatro es un poco más arriba, pero este es probablemente el camino a seguir. –

+1

Un factor de 4 es bastante grande. Para mí, esta es una señal de que los desarrolladores deben aprender a estimar con mayor precisión. –

+1

Supongo que no soy muy bueno en las estimaciones de tiempo. Usualmente estoy muy por debajo, pero cuando estoy equivocado, estoy espectacularmente equivocado. :) –

0

Debería ser lo mismo que estimar cualquier otra tarea que tenga. Dividirlo en las tareas más pequeñas posibles y estimar esas con la mayor precisión posible con relleno para lo inesperado. A continuación, proporcióneles un rango para que no esté anclado a una fecha específica en tareas que no están bien definidas. No hay diferencia entre estimar el tiempo para corregir un error y estimar el tiempo para implementar una función con requisitos nebulosos.

+0

Hay una diferencia si me preguntas. Puedes pasar una semana buscando la causa de un error ... ¿cómo se supone que debes calcularlo? –

+0

Cuando escribe una característica ... ¿la diseña, solicita información, la implementa, la prueba, la documenta y la lanza? En general, cuando estás solucionando errores, cazas, ¡arregla! ¡Diría que es solo otra tarea! Si le lleva una semana localizarlo, ¡su software está mal escrito, probado y documentado! –

+0

O ... significa que está confiando en un software que no comprende tan bien como creía que era, o para el cual hay poca o ninguna documentación, o que es defectuoso, o no lo hizo t tiene una muestra de prueba lo suficientemente amplia, o no "ingenia" perfectamente todo porque lleva mucho más tiempo de lo que el cliente está dispuesto a gastar, por lo que solo prueba ligeramente en lugar de perder al cliente. – David

0

Tiene razón, las estimaciones son generalmente inexactas.

Quizás desee preguntarles cuánto les cuesta cada error si no se corrige. Luego puede realizar el cálculo apropiado para determinar si alguna vez se deben reparar, y cuánto tiempo (o realista) pueden dedicar a cada error.

0

¿Por qué no simplemente elegir varias bandas para la gravedad de los errores, p. 1 hora, 1/2 día, 1 día, 1 semana y asignar contra ellos. En general, tendrás una sensación de error, para los que no tienes idea, ¡ponle la peor cifra posible!

no pensaría que estaría quiso estimar en cualquier nivel más fino que, por las razones que he citado (tomando demasiado tiempo para investigar, etc.)

no creo que es una pérdida de tiempo. Su cliente desea saber más que la cantidad de errores y su prioridad, quieren tener una idea de cuánto trabajo queda.

En ninguna circunstancia debe generar más errores. No debes apresurarte contra el reloj para arreglar esto. Si calculó 1 día y tardó 10 horas, está bien. Si estima 1 semana y tardó 2 horas, ¡buen resultado!

¡Esto es simplemente un ejercicio de estimación!

0

Por lo general, aceptaremos 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, existe una gran incertidumbre/variabilidad en cuanto a cuánto tiempo se tardará en solucionar, pero tiende a promediar con una mayor cantidad de errores. Para ciertos errores que usted sabe que tomarán más tiempo, es posible dar algunas estimaciones, p. si necesita escribir un simulador o un marco de prueba para ello.

0

Si estos son errores que se han encontrado e informado, entonces debería ser capaz de desarrollar una estimación sobre el tiempo para solucionarlo (y el tiempo para volver a realizar la prueba). La confianza de la estimación probablemente será proporcional al tiempo que gasta en la estimación, tal vez explicar este costo para el cliente.

Si hay varios informes de errores pequeños relacionados, tal vez podría colapsarlos en un único informe general. Esto podría evitar que el cliente intente elegir y elegir qué errores corregir basándose únicamente en estimaciones individuales.

2

No pienses en esto en términos de estimar cuánto tardan los errores en arreglarse, porque no es posible calcularlo correctamente.

Piense en esto en términos de administración cliente rabia. Si les dice que los errores no tardarán en arreglarse y que terminarán tomando 3 meses, su cliente estará contento con usted ahora y furioso con usted en el futuro.

Si les dices que los errores demorarán 3 meses en solucionarse y que en realidad tardan 3 meses en solucionarse (lo que harán), tu cliente estará furioso y feliz contigo en el futuro.

Normalmente digo que los errores no tardarán en nada (2-3 días parece ser un buen número de pacificación).

4

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

Por lo tanto, primero hacemos un buen trabajo explicando nuestra posición. En su ejemplo, esto sería algo como esto:

Tenemos un cronograma establecido para corregir los errores en nuestro proyecto, que históricamente hemos tenido un buen historial de mantenernos dentro del cronograma. Sin embargo, el proceso de detallar cuánto tardará cada error en corregir es bastante propenso a errores. Estaremos encantados de proporcionarle actualizaciones semanales (o dos veces por semana o por día, dependiendo del cliente) sobre los errores que se han corregido y las soluciones que se han probado.

Sin embargo, creo que es bueno intentar estimar cuánto tardará cada error en arreglar. La razón de esto es que necesita comprender cuál será el tiempo total para corregir todos los errores. No podrá obtener una estimación precisa si no tiene una estimación del tiempo que las piezas individuales tomarán para repararla. Estas pueden ser estimaciones aproximadas del curso (se estima que no más de una hora investigando el problema) - no se debe perder demasiado tiempo estimando. Entonces, por lo general, incluyo un 20% extra. Así que supongamos que las estimaciones de errores son de 3 días, 5 días y 2 días. Luego informaría al cliente que deberíamos poder corregir los errores en 12 días. Entonces, por supuesto, puede que necesite agregar más tiempo para probar y volver a empaquetar su producto antes de poder entregarle un producto.

+0

Sí, hacemos informes de estado, ahí es donde les informamos. Creo que más que nada, es una forma de que nos mantengan bajo control y de que seamos responsables de los errores pendientes, de modo que nos concentremos en terminarlos a tiempo. –

Cuestiones relacionadas