DanLevy.net

La Trampa de la Prioridad

¿Es la opción múltiple la mejor opción?

La trampa del menú desplegable Priority

Una historia de startup

Sin fallar, tus administradores de Jira tendrán una solución: ¡miren el menú desplegable del campo Priority! (Consejo profesional para desarrolladores empresariales: posiblemente nombrado Priority2 o P-level.)

Curiosamente, el 100 % de las empresas elige entre P1, P2, P3, P4 o Low, Med, High y Critical — aparentemente no hay otras opciones.

Una lista codificada de cuatro opciones. ¿Está bien? Probémosla durante unas semanas…

Dos días después

En un giro de eventos sorprendente para nadie, la organización descubrió una incidencia con una nueva prioridad más alta, necesitando un pequeño hackeo: agregar P0, ¡o Critical Max+!

Tres días más tarde

Nuestro valiente jefe tuvo algunas reuniones y descubrimientos emocionantes en la conferencia!

Alguien descubrió una prioridad aún más alta que P0!

Desde entonces, el equipo ha estado sumergido investigando cómo etiquetar esta nueva Prioridad.

¿-1? No, no. Eso es demasiado confuso (P-1 vs. P1). ¿Qué tal P0.5? ¿No?

En un momento “inspirado”, el equipo inventó una prioridad más alta: ¡el doble cero!
Ahora conocida como la prioridad P00.

Antes del Diluvio

Antes de que alguien se dé cuenta, tu equipo está de alguna manera ahogándose en tickets P00!

¿Cómo podemos evitar este absurdo juego del Teatro de Ingeniería?

¿Y si la prioridad no fuera una opción múltiple?

¿Cómo podríamos representar mejor un concepto humano en constante cambio y fluido como Prioridad?

Entonces, ¿qué sigue?

Hay varias alternativas dignas de explorar, desde esfuerzos bajos hasta altos:

Resumen

Se le da tanta importancia a la Prioridad a pesar de su rápida tasa de desgaste. Los tickets CRÍTICOS de ayer probablemente no serán los tickets CRÍTICOS del próximo trimestre.

Con el tiempo, los tickets de alta prioridad antiguos se vuelven resistentes a la limpieza y mantenimiento. Después de todo, ¿quién quiere reducir la Prioridad de algo que se declaró esencial? Olvidémonos de borrar esos tickets irrelevantes… (¡Cielos! Piensa en el backlog).

He visto a múltiples empresas confundir Gravedad y Prioridad. La Gravedad describe la urgencia (o sensibilidad al tiempo).

Prioridad ≠ Gravedad. Puede tener sentido definir 3-5 niveles de gravedad (a menudo utilizados para mantener Acuerdos de Nivel de Servicio).

Los niveles de urgencia ayudan a comunicar impacto cero en el cliente hasta una interrupción parcial/completa del servicio.

Una advertencia

Implementar un campo de Prioridad sin límites requiere un poco de planificación y disciplina.

Si estás familiarizado con el desarrollo frontend, es posible que hayas experimentado una guerra de z-index.

Básicamente, z-index permite a los diseñadores establecer cualquier entero positivo para asegurar que sus widgets se muestren “por encima” del contenido con z-index inferior.

Incluso una actualización menor de un componente podría introducir un cambio en el z-index de su <Dialog />—haciéndolo repentinamente invisible. Estas situaciones se vuelven caóticas cuando nuestros componentes de terceros, trabajo en características y contribuciones de otros equipos intentan superarse mutuamente en z-index.

Z-index solía limitarse a ~32,000. Sin embargo, ¡hace poco vi un fragmento con mil millones de z-index: 1000000000!

La inflación debe estar golpeando duro al z-index.

Discusión

Podríamos gritar a internet: “¿Quién va a limpiar todos estos tickets P00?”

O, puedes ser real con tu lista de tareas pendientes.