¿Por qué necesitamos tanto prioridad como gravedad?

11

Entiendo lo que determinan, pero ¿es realmente útil asignarlos a los problemas encontrados? Quiero decir, es necesario arreglarlo rápidamente o no.

Sé cómo configurarlos, clasificarlos, etc. Sé que IEEE / ISO requieren hacerlo. Simplemente no veo por qué.

Pietross
fuente
Hmm, creo que un error que dañaría los datos es más grave que algo que es molesto, como decir que algunas funcionalidades tardan demasiado en cargarse. Ambos deben ser reparados, pero aquellos con mayor impacto negativo deben ser reparados primero.
thorsten müller
No, como escribí, sé lo que son o cómo configurarlos. Simplemente no veo el beneficio.
Pietross
En la mayoría de los casos, no. Pero siempre hay casos extremos en los que tiene sentido separarlos. Si vale la pena mantener la separación para cada problema solo para atender esas raras ocasiones es otra cuestión.
biziclop
1
Puede tener un error de interfaz de usuario que realmente no afecta la usabilidad de las aplicaciones ( baja gravedad ), pero es una alta prioridad porque es feo. Puede tener un error que bloquea la aplicación por completo ( alta gravedad ) pero es una prioridad baja porque las condiciones para que esto ocurra son de una en un millón y, en todos los términos prácticos, nunca sucederán (esto ignora el hecho de que uno en Un millón de posibilidades surgen nueve de cada diez veces ).
Binario Worrier

Respuestas:

24

Es absolutamente posible que esos valores difieran. Si tiene que realizar una venta a una agencia gubernamental importante que requiere un alto rendimiento pero nunca usará el módulo X, entonces tiene mucho sentido comercial corregir un error menor de disponibilidad de la base de datos antes que un error grave en el módulo X. Básicamente, las razones técnicas no son el único factor cuando ejecuta un negocio de software .

Kilian Foth
fuente
Exactamente: la prioridad indica el valor del negocio y es el resultado de la gestión del proyecto. La gravedad indica impacto y es el resultado de errores. Cada tarea puede tener una prioridad, pero, por ejemplo, las nuevas funciones no tienen gravedad. Además de los errores de alta gravedad críticos para la seguridad, sería una tontería dejar que la gravedad por sí sola dictara las prioridades, o la gente estaría mal incentivada para exagerar la gravedad de su problema.
amon
55
Creo que lo importante es que solo una medida (la prioridad) controla el orden de desarrollo directamente. La utilidad de un equipo para encontrar una "severidad" adicional como parte de la descripción de un defecto es extremadamente opinada: algunos podrían encontrarla útil, otros como @arnaud piensan que es "burocracia"; ambos puntos de vista podrían ser razonables.
Doc Brown
44
Alta prioridad, baja gravedad: la página de inicio de su aplicación, vista por millones de usuarios al mes, tiene un error tipográfico en el nombre de su empresa. Baja prioridad, alta gravedad: el sistema se bloquea el 25% del tiempo en el inicio de una aplicación que se retira la próxima semana.
Gort the Robot
2
La gravedad generalmente puede ser determinada por reglas por probadores automáticos y en vivo. La prioridad solo puede ser evaluada subjetivamente por el negocio.
Gort the Robot
3

Errores de fecha y hora

Error: el procesamiento de fin de año dañará totalmente su base de datos. Eso es claramente un error grave.

Fecha: 15 de diciembre. El error es de alta prioridad.

Fecha: 1 de febrero. El error es de baja prioridad.


Lanzamiento accidental de error de misil

Error: el software de control ICBM vomita cuando va del 28 de febrero al 1 de marzo en años divisibles por 4. El resultado es un lanzamiento sin comando.

Eso es un error tan grave como puede existir. Sin embargo, la prioridad es muy baja: ¿hay alguna posibilidad realista de que el software esté en uso cuando se active la condición?


Inadvertidas palabras "malas" en la pantalla

Error: los mensajes que desbordan su espacio en la pantalla dan como resultado una referencia profana inadvertida a la aparición de Bob. (Mundo real: teníamos gente trabajando en el departamento de "Final Ass". "Ass" = "Assembly".)

Desafortunadamente, mañana hará una presentación en la que conseguir la venta es decisivo para la empresa. Estás haciendo la presentación a alguien llamado "Bob". Severidad: Muy baja. Prioridad: Muy alta.

Loren Pechtel
fuente
Relacionado con los errores de 'desbordamiento' y 'fecha y hora' que mencionas, puedes disfrutar de la fase del error de la luna
0

Tu escribiste:

Quiero decir, es necesario arreglarlo rápidamente o no.

Eso es correcto. Sin embargo, si usted es como la mayoría de las empresas, sus recursos son limitados. O no tienes suficientes personas para solucionar todos los problemas, o no tienes suficiente tiempo.

Dado el hecho de que es necesario corregir un error rápidamente o no, y tiene muchos errores que deben corregirse, "prioridad" responde a la pregunta "¿cuál soluciono primero"?

La gravedad, por otro lado, es un indicador utilizado por la persona que establece la prioridad. Desde el punto de vista de un desarrollador, la gravedad es un punto discutible. Desde la perspectiva del que asigna el trabajo, la gravedad es una información importante que ayuda con el proceso de toma de decisiones.

Por supuesto, todo esto es información muy general. Si usted es un equipo con una acumulación de errores imposiblemente larga, la prioridad y la gravedad significan algo completamente diferente que si estuviera en un equipo que tiene una base de datos de errores casi vacía.

Si está en un equipo donde "alta gravedad == alta prioridad", nada de esto importa y no necesita ambas métricas. Al final del día, estas son solo herramientas. Su equipo necesita decidir cómo usarlos. Para su equipo puede no tener sentido usar ambos.

Bryan Oakley
fuente
0

En mi humilde opinión, poner prioridad y gravedad es solo burocracia.

En la práctica, solo necesita una medida de "importancia". A menudo, se usa la prioridad para ello, y la gravedad se usa como término técnico como "alto = sistema de fallas o lo deja inutilizable", "medio = comportamiento defectuoso, potencialmente dañino", "bajo = molesto, molesto pero inofensivo"

Por lo general, la prioridad va de la mano con la gravedad. Algunos ejemplos contrarios son una "molestia en la que todos siempre se quejan" o un "accidente que ocurrió una vez en un ambiente exótico".

... pero, al final, como desarrollador (o administrador, etc.) solo necesita saber en qué orden debe arreglar / mejorar las cosas, eso es todo. Entonces una medida es suficiente.

La necesidad de prioridad es clara: es saber en qué orden deben abordarse los informes de errores. El otro, en mi humilde opinión como de costumbre, es la burocracia. ¿Por qué lo necesitas? Aparentemente es inútil para ordenar porque la prioridad lo hace. Y las consecuencias (descripción de la gravedad) se describen en el informe de error de todos modos.

Incluso creo que es dañino porque deja menos claro qué error es más importante:

  • Algunos pueden pensar que un error "crítico" tiene mayor prioridad que un error "de alta prioridad".
  • Algunos usuarios que informan un error pueden confundir gravedad y prioridad
  • ... en conjunto, más bien agrega confusión sobre el orden en que deben abordarse los errores
dagnelies
fuente
1
¿Y son los desarrolladores las únicas personas que importan?
biziclop
2
@biziclop No, tienes razón, fue una pobre formulación mía. Es válido para todos: lo que importa, para los gerentes, etc., también es lo que debe arreglarse primero y lo que es menos importante. Para eso, una medida es suficiente.
Dagnelies
1
Bueno, está mal desde la perspectiva de la gestión de riesgos: prioridad = gravedad * tasa de ocurrencia. ¿Es un error tipográfico en la edad de frontp menor prioridad que un bloqueo fatal del servidor que ocurre si el apellido del usuario supera los 46 caracteres?
Pietross
1
@Pietross: bueno, lo fijaste: ¿cuál debería abordarse primero? ¿El bloqueo del servidor de baja prioridad o la molestia de alta prioridad? ¿Cómo priorizas? ¿Quién hace ese juicio? ¿Todos mirando la lista? Cuando se usa solo una medida de prioridad, se prioriza una vez, luego se hace. El impacto y la gravedad se describen en el informe de errores de todos modos.
Dagnelies
Lo que pasa con "severidad" es que puedes decir fácilmente "crash = high, typo = low". Es necesario darse cuenta de que un error tipográfico que deja 'o' fuera de la palabra 'contar' en la página de inicio es una prioridad más alta para corregir que la página que se niega a cargarse.
Gort the Robot
0

Además de otras respuestas, considere este escenario: el error A tardará 30 minutos en solucionarse y tiene una gravedad 'baja'; El error B puede tardar más de 2 semanas en solucionarse y tener una gravedad 'alta'. Además, el error B puede requerir mucha discusión y coordinación en el equipo de desarrollo y quizás fuera del equipo; El error A puede ser reparado por un solo desarrollador inmediatamente. Está perfectamente bien establecer una mayor prioridad en el error A.

Por supuesto, "severidad" y "prioridad" pueden interpretarse de diferentes maneras.

En un pequeño rastreador de errores que hice para mi propio uso, preferí 'dificultad' y 'prioridad' donde los problemas de alta gravedad siempre tendrían la máxima prioridad, y podría decidir retrasar el trabajo en base a la dificultad.

Una cosa que no me gusta de la 'gravedad' es que solo se aplica a errores y no a características. Puede ser mejor tener una lista única de todos los problemas ordenados por prioridad y dificultad, ya que es más directamente útil decidir "¿en qué trabajaré después?".

Lluvioso
fuente
0

Diseñé e implementé procesos en una empresa de software que obtuvieron la certificación ISO9001: 2007. Ha habido actualizaciones al estándar desde 2007, por lo que puede haber requisitos adicionales que no conozco ... sin embargo:

El estándar ISO9001 se trata de garantizar que su empresa diseñe e implemente procesos que tengan circuitos de retroalimentación para mejorar el proceso cuando se identifiquen defectos del producto y del proceso.

Durante la fase de diseño, los requisitos se centran en si la solución propuesta, si se implementa correctamente, realmente resolvería el resumen de diseño (validación) y verificar si la implementación realmente se ha implementado sin defectos (verificación)

En el ciclo de retroalimentación, cuando se identifican defectos, no es suficiente que se registren. También se debe evaluar la gravedad de un defecto y priorizar el reproceso.

La parte clave es que la norma ISO no define cómo su empresa en particular decide evaluar su gravedad y tomar decisiones sobre la prioridad. Es un asunto comercial y de gobierno que la empresa debe decidir y documentar.

Como está escrito en el estándar como un requisito, cualquier empresa certificada tendrá un proceso para evaluar la gravedad de un defecto y un proceso para determinar la prioridad del trabajo para corregir el error. Definitivamente son dos decisiones separadas que deben tomarse.

La gravedad del error es solo un punto de datos. Impacto en el cliente es otro punto de datos. También hay un esfuerzo por corregir, la antigüedad del defecto, la vida comercial restante en el producto y cualquier otro factor que la empresa decida incluir en su toma de decisiones. Lo único que no debe escribirse como "defecto presente para que el gerente de producto decida la prioridad", ya que eso solo define la autoridad para tomar la decisión y no define el proceso que siguen para tomar la decisión.

Prefiero la priorización que está sesgada hacia la entrega de una alta tasa de cambios pequeños e importantes, ya que esto parece proporcionar el mejor impulso para la confiabilidad general del producto. Esto significa que un error grave que requerirá mucho trabajo para solucionarlo necesitaría que su trabajo se descomponga en fragmentos más pequeños para obtener la prioridad suficiente para ser programado.

Michael Shaw
fuente
-3

Por razones que difieren mucho en prioridad y gravedad:

Un simple ejemplo. Imagine que tiene un lugar angosto que evita la escala de su sistema: algunos algoritmos tienen una complejidad O (N ^ 3), donde N es el recuento de las tiendas del cliente. El cliente dice que abrirá 200 nuevas tiendas el próximo año y que los cálculos necesarios (distribución de mercancías, planificación del transporte, etc.) no se completarán a tiempo. Pero, actualmente este cliente tiene solo 30 tiendas, y los recursos son suficientes. La tarea de optimizar este algoritmo (a O (N ^ 2) o mejor) es definitivamente importante (perderá el cliente si no se implementa), pero probablemente no sea urgente: tiene unos meses para implementar el nuevo algoritmo.

Ejemplo 2: una aplicación se bloquea sistemáticamente, pero esta versión deja de usarse en unos días debido a una actualización o migración. La reparación es urgente porque los bloqueos realmente afectan la experiencia del usuario, pero es de poca importancia.

Por supuesto, ambos parámetros se unifican usando alguna métrica (ya sea formal o informal) para producir un plan de trabajo a corto plazo, porque este último es unidimensional (secuencia de tareas). Pero a largo plazo, no se unificarán.

Netch
fuente