DanLevy.net

Die Prioritätenfalle

Ist Multiple Choice die beste Wahl?

Die Priority-Dropdown-Falle

Eine Startup-Geschichte

Es kommt immer gleich: Deine Jira-Admins haben eine Lösung parat – ein Priority-Dropdown! (Pro-Tipp für Enterprise-Entwickler: Vielleicht auch Priority2 oder P-Level genannt.)

Seltsamerweise entscheiden sich 100 % der Unternehmen zwischen P1, P2, P3, P4 oder Low, Med, High, Critical – als gäbe es keine anderen Optionen.

Eine fest kodierte Liste mit vier Werten? Okay. Probieren wir es ein paar Wochen aus …

2 Tage später

In einer für-niemanden-überraschenden Wendung entdeckt die Organisation ein Ticket mit einer neuen, höheren Priorität – was einen kleinen Hack erforderlich macht: das Hinzufügen von P0 oder Critical Max+!

3 Tage später

Unser Chef hatte ein paar aufregende Meetings & Erkenntnisse auf der Konferenz!

Irgendwie hat er eine noch höhere Priorität als P0 entdeckt!

Seitdem tüftelt das Team, wie diese neue Priorität zu benennen ist.

Vielleicht -1? Nein, nein. Das ist zu verwirrend (P-1 vs. P1). Oder wie wär’s mit P0,5?

In einem „inspirierten” Moment erfindet das Team eine noch höhere Priorität: die Doppel-Null!
Fortan bekannt als die P00-Priorität.

Vor der Flut

Bevor es jemand merkt, ertrinkt das Team irgendwie in P00-Tickets!

Wie können wir dieses alberne Spiel der Engineering-Theater vermeiden?

Was wäre, wenn Priorität kein Multiple Choice wäre?

Wie könnten wir ein sich ständig wandelndes, flexibles menschliches Konzept wie Priority besser abbilden?

Also, was nun?

Es gibt mehrere alternative Ansätze, die es wert sind, erkundet zu werden – von wenig bis viel Aufwand:

Zusammenfassung

So viel wird auf Priorität gesetzt, obwohl sie so schnell verfällt. Gestern noch CRITICAL-Tickets werden wahrscheinlich nicht nächstes Quartals CRITICAL-Tickets sein.

Im Laufe der Zeit werden ältere High-Priority-Tickets resistent gegen Bereinigung und Wartung. Wer möchte schon die Priority von etwas senken, das einst als essenziell deklariert wurde? Geschweige denn, besagte irrelevante Tickets zu löschen … (Entsetzen! Denk an das Backlog!)

Ich habe bei mehreren Unternehmen erlebt, dass Severity & Priority verwechselt wurden. Severity beschreibt Dringlichkeit (oder Zeitkritikalität.)

Priority ≠ Severity. Es kann sinnvoll sein, 3–5 Schweregrade zu definieren (häufig zur Einhaltung von Service Level Agreements verwendet.)

Die Dringlichkeitsstufen helfen, von keinerlei Kundenbeeinträchtigung bis hin zu teilweisem/komplettem Serviceausfall zu kommunizieren.

Ein Wort der Warnung

Die Einführung eines unbeschränkten Prioritätsfelds erfordert ein wenig Planung & Disziplin!

Wer Frontend-Entwicklung kennt, hat vielleicht einen z-index-Krieg erlebt.

Im Wesentlichen lässt z-index Designer jede positive Ganzzahl setzen, um sicherzustellen, dass ihre Widgets „über” Inhalten mit niedrigerem z-index angezeigt werden.

Schon ein kleines Komponenten-Update könnte den z-index ihres <Dialog /> ändern – und ihn plötzlich unsichtbar machen. Diese Situationen wurden schnell chaotisch, als unsere Drittanbieter-Komponenten, Feature-Arbeiten und anderen Teambeiträge versuchten, sich gegenseitig mit z-index zu übertrumpfen.

Z-index war einst auf ~32.000 begrenzt. Allerdings habe ich kürzlich ein Snippet mit einer Milliarde z-index: 1000000000 gesehen!

Die Inflation muss z-index hart treffen.

Diskussion

Wir könnten ins Internet schreien: „Wer räumt schon all diese P00-Tickets auf?”

Oder du wirst echt mit deinem Backlog.