[SL] Priorisieren, wenn man nichts schätzen kann

Das hier ist gewissermaßen die schwierigste Situation, wenn man mehrere Aufgaben priorisieren muss: wenn man weder die Abarbeitungszeiten einschätzen kann, noch wie hoch der Nutzen (und damit die Verzögerungskosten) sein wird.

Ein Beispiel dafür sind Technologie-Updates. Es ist oft sehr schwer abzuschätzen, welche Probleme beim Wechsel auf eine andere Datenbank oder beim Übergang “in die Cloud” auftreten werden. Auch einige der schon besprochenen Verfahren für Produktempfehlungen sind schwer zu schätzen: Was dauert länger in der Umsetzung, Empfehlung auf Grundlage von Kundeneigenschaften, oder von Produkteigenschaften? Und was davon bringt wieviel Nutzen?

Wie kann man solche Aufgaben dennoch in eine sinnvolle Reihenfolge bringen? Auf dieselbe Weise, wie einige Betriebssysteme “Multitasking” realisieren: Indem man jeder Aufgabe reihum eine Zeitscheibe zuteilt. In jeder Zeitscheibe wird die Aufgabe exklusiv bearbeitet, wenn sie noch nicht fertig wird, kommt die nächste Aufgabe dran. Wir machen also “Reihenfolgeplanung nach dem Rundlauf-Verfahren”, englisch Round-Robin Scheduling. Dieses Verfahren sichert zumindest, dass ein sehr lang laufender Job nicht alle anderen blockieren kann. Außerdem wird der kürzeste Job als einer der ersten fertig.

Hier ist ein Beispiel für vier Aufgaben:

Round-Robin Scheduling, 4 Aufgaben

Wir beginnen mit Aufgabe 1 und arbeiten daran für eine Zeitscheibe (z.B. zwei Wochen). Dann schalten wir für weitere zwei Wochen auf Aufgabe 2 um. Die Aufgabe 3 geht unerwartet schnell, sie braucht weniger als eine Zeitscheibe bis zur Fertigstellung. Wir können nun schon nach weniger als drei Zeitscheiben den Nutzen von Aufgabe 3 realisieren.

In der zweiten Runde wird Aufgabe 2 auch fertig, während Aufgaben 1 und 4 noch auf unbestimmte Zeit weiterlaufen können. Wenn wir gewusst hätten, dass die Aufgaben 3 und 2 die kürzeste Laufzeit haben, hätten wir sie natürlich zuerst abgearbeitet.

Wie jedes Multitasking verursacht auch dieses Verfahren Umschaltkosten (Rüstkosten), daher sollte man die Zeitscheiben nicht zu klein wählen.

Das Round-Robin Scheduling wird zum Glück selten ein Dauerzustand sein. Wir können nämlich hoffen, dass wir nach ein paar Zeitscheiben schon eine Schätzung für Dauer und / oder Nutzen der meisten Aufgaben abgeben können. Wenn z.B. 200 Datenbank-Tabellen umzustellen sind, kann man nach 10 umgestellten Tabellen schon eine Prognose aufstellen. Dieser Informationsgewinn ermöglicht dann eine sinnvollere Priorisierung.

Matthias Berth

Alle Emails