Schlagwort-Archive: Stapelverarbeitung

Stapelverarbeitung – Erinnerung an die Zukunft

Ein wichtiger Grund für die Einführung von Schrift vor 6500 Jahren war, neben religiösen und rituellen Anlässen sowie der Aufzeichnung von Geschichte, die Verwaltung von Listen und Tabellen im Rahmen der Buchführung. In dieser Zeit gab es sicherlich bereits Momente, in denen die Schreiber ihre Aufgaben nicht zeitnah durchführen konnten und dadurch Stapel von unerledigten Aufgaben aufbauten. In diesem Fall haben sich die Mitarbeiter bestimmt beschleunigte Abwicklungen einfallen lassen, um die Stapel wieder abzuarbeiten. Auch wenn es damals noch keine elektronische Datenverarbeitung gab, hatten sie ohne Frage bereits die Stapelverarbeitung erfunden.

papierstapel

In den Großrechnern laufen heute nachts die Batchabläufe, die die angefallenen Daten des Tages in die jeweiligen Systeme und Datenbanken übertragen. Reicht die Nacht nicht, so muss das entsprechende Batchfenster durch zusätzliche Rechnerkapazitäten erweitert werden. Die Verarbeitung folgt dabei unterschiedlichen Mustern.

  • Wer zuerst kommt, mahlt zuerst
    Im Mittelalter wurde eine strenge Mühlordnung festgelegt, um Mauscheleien zu verhindern. Bis heute bietet diese Regel einen gerechten Umgang mit Vorgängen, die nacheinander vorgelegt werden. Die Reihenfolge der Abarbeitung ergibt sich aus dem Eingang. Der Stapel wächst und die Vorgänge werden von unten nach oben verarbeitet.
  • Wehre den Anfängen
    Der Vorteil der Bevorzugung des letzten Zugangs kommt daher, dass der Vorgang bereits auf dem Tisch liegt und dadurch nicht einsortiert werden muss. Solange man ausreichend Ressourcen hat, kann man auf diese Weise jeglichen Stapeln aus dem Weg gehen. Da dies zu einer Verschwendung von Kapazitäten führt, wenn keine Auftragsspitzen anfallen, ist dieser Ansatz nur dann wirtschaftlich, wenn er Kosten der Verwaltung der Stapel oder Lagerflächen einspart.
  • Etwas brennt einem auf den Nägeln
    Schon Eisenhower hat sich mit der Frage beschäftigt, was zuerst bearbeitet werden sollte. Seine nach ihm benannte Matrix empfiehlt, die dringenden Sachen sofort selbst zu erledigen oder zumindest an kompetente Mitarbeiter zu delegieren. Die Reihenfolge hängt von dem Verfallsdatum des Vorgangs ab. Zu diesem Zweck braucht man einen guten Überblick über die Fälligkeiten in dem Stapel.
  • Viel Feind‘, viel Ehr‘
    In diesem Fall beschäftigt man sich mit den umfangreichsten Aufgaben zuerst. Sie können sich aus dem Wert des Ergebnisses, aus dem Aufwand zur Abarbeitung oder aus der Anzahl der Beteiligten ergeben. Naturgemäß dauern diese meistens besonders lange. Durch den frühestmöglichen Start steigt die Wahrscheinlichkeit, zeitgerecht fertig zu werden. Zu diesem Zweck müssen die Vorgänge nach ihrem Umfang bewertet und dann absteigend sortiert werden.
  • Kleinvieh macht auch Mist
    Hier konzentriert man sich auf die am wenigsten umfangreichen Aufgaben zuerst. Auch hier, wie im letzten Punkt, kann die Wichtigkeit aus dem Wert des Ergebnisses, aus dem Aufwand zur Abarbeitung oder aus der Anzahl der Beteiligten abgeleitet werden. Sehr wahrscheinlich werden diese eher weniger Aufwand benötigen. Durch die bevorzugte Abarbeitung dieser Aufgaben wird der Stapel schneller signifikant kleiner. Auch hier werden die Vorgänge nach ihrem Umfang bewertet, aber dann aufsteigend sortiert.

In der Datenverarbeitung werden die Daten nicht nach einem der obigen Verfahren durchgeführt, sondern nach den logischen Zusammenhängen der Datenbanken und Dateien. Ziel ist es, am nächsten Tag einen konsistenten Datenbestand zu haben. Die Höhe des Stapels hängt dabei von der IT zur Erfassung der Vorgänge ab. Entsprechende Regeln bringen die Daten bereits bei der Erfassung in ein Format, das sich schneller verarbeiten lässt.

In agilen Projekten verwendet man heute ebenfalls Stapel, die sogenannten Backlogs. Hier werden einfach die Aufgaben gesammelt, die noch nicht umgesetzt sind. Der Product Owner, d.h. ein entscheidender Vertreter des Fachbereichs, bestimmt nach einem Sprint, welche Aufgaben im nächsten Sprint entwickelt werden. Ein Sprint ist ein zwei- bis vierwöchiger Arbeitszyklus, in dem die Entwickler die volle Kontrolle der Umsetzung haben.

Damit entspricht das Nachtfenster zur Abwicklung von Batchläufen einem Sprint. Der wesentliche Unterschied ist, dass das Batchfenster alle erforderlichen Vorgänge abwickeln muss, da ansonsten die Konsistenz der Daten nicht mehr gesichert ist. Wird eine Aufgabe in einem Sprint nicht zu Ende gebracht, dann kann man entweder den Folgesprint nutzen oder wieder in das Backlog packen.

Fazit: Stapelverarbeitung wurde immer schon benötigt. Der Unterschied ergibt sich aus der Abarbeitung und der daraus resultierenden Sortierung der Stapel – FIFO, LIFO, FEFO, HIFO, LOFO. Im Rahmen der agilen Organisation übernehmen die Product Owner zwar die Entscheidung, aber auch sie folgen immer noch den gleichen Mustern. Das macht die Stapelverarbeitung zu einer Erinnerung an die Zukunft.