Le pregunté a algunos colegas sobre lo que esto puede estar pasando, y
mencionó que si un error no tiene ese nivel de prioridad es
muy raro que el error llame la atención del desarrollador, lo que de hecho hace
sentido
En realidad, si me preguntas no lo hace. Cuantos más (usados) niveles de prioridad, más información tienes. Si efectivamente solo tiene una prioridad, es lo mismo que no tener ninguna prioridad.
Y dado que todavía tienes la misma cantidad de errores que enfrentar, y la misma cantidad de horas de trabajo para hacerlo, se sigue que se usará alguna otra heurística, posiblemente la nula: "primero llegado, primer servido" . Y ahora tiene una métrica de prioridad de error, excepto que es la hora de llegada y ya no está bajo su control.
Puede ser un síntoma de que no se asignaron suficientes recursos a la corrección de errores (hay algunas políticas como " No hay nuevas funciones hasta los errores están solucionados "que pueden ayudar allí. Joel aprueba ; comprender los límites y las consecuencias es un < a href="https://softwareengineering.stackexchange.com/questions/198696/keeping-agile-with-zero-bug-defect-policy"> decisión empresarial ).
En un proyecto en el que trabajé, los errores entrantes se acumularon en un "búfer sin prioridad" y todos los lunes revisaríamos la lista de errores, estimaríamos la dificultad (una estimación muy aproximada; la mayoría de las veces solo agregamos "Promedio ") y ordenarlos por tiempo disponible. Esto tendió a eliminar la lista de bugs aburridos, poco interesantes o pensados para ser duros; para compensar eso, los supervisores y el marketing tenían una cierta cantidad de créditos por semana que podían gastar para eliminar la prioridad de los errores favoritos, y se les reembolsaron los errores no resueltos (esto establece un límite en cuanto a la cantidad de errores que un desarrollador puede demorar). .
También fue posible fusionar, cancelar y dividir errores; Recuerdo un módulo que fue tan imperfectamente imperfecto que hundimos unos veinte o treinta informes de errores en una sola "reescritura de esto desde cero", que luego se dividió en "establecer claramente las entradas y salidas de lo miserable", "escribir pruebas para asegurar que las entradas y salidas coincidan con las especificaciones ", y así sucesivamente. El último elemento fue "imprimir el código antiguo en papel reciclado, sacarlo en el césped y prenderlo al fuego" (También hicimos eso. Recuerdo lo bien que se sintió. Nos turnamos en el elogio; fue bastante hilarante. ).
Después de un poco de regateo, tuvimos la lista de tareas pendientes de la semana, que se dividió en "haré", "podría hacer" y "no puedo" que fueron eliminadas hasta la próxima semana. Aquí es donde entró en juego el regateo adicional: tuvimos que decir cincuenta horas para asignar errores, y estábamos 95% seguros de solucionar los primeros veinte. La gerencia quería que se solucionara un error número veintiuno y no le quedaban créditos; luego, ofreceríamos cambiar ese error por uno en la lista "Lo haré", o alguien diría "Sácame del subequipo FooBazFeature por un par de días y lo haré", o diríamos "Necesitamos más mano de obra ".
El sistema no satisfizo a nadie, realmente, pero se creía que esto (al menos entre los desarrolladores) era una buena señal.
Algunos patrones negativos adicionales que aparecieron fueron el "Deseo de Pensar" por parte de los gerentes ("Usted declaró que el error 57212 requiere ocho horas. Eso es inaceptable. Es cuatro") y el "Depuración por Fiat" ("Hacer lo que quieras, pero estos cuarenta errores deben solucionarse antes de la gran demostración de la próxima semana. No puedes tener más tiempo, no puedes tener más personas "). También el Síndrome de Boxer ("Trabajaré más duro"), que funcionó muy bien por un corto tiempo , pero generalmente llevó a un desarrollador a volverse loco o irse a pastos más verdes.